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 diskName. 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 loadBalancerName.
278// 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 AttachLoadBalancerTlsCertificate operation with the non-attached
388// certificate, and it will replace the existing one and become the attached
389// 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 loadBalancerName.
393// 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 instanceName. 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 an instance or disk snapshot from one AWS Region to another in Amazon
710// Lightsail.
711//
712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
713// with awserr.Error's Code and Message methods to get detailed information about
714// the error.
715//
716// See the AWS API reference guide for Amazon Lightsail's
717// API operation CopySnapshot for usage and error information.
718//
719// Returned Error Codes:
720//   * ErrCodeServiceException "ServiceException"
721//   A general service exception.
722//
723//   * ErrCodeInvalidInputException "InvalidInputException"
724//   Lightsail throws this exception when user input does not conform to the validation
725//   rules of an input field.
726//
727//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
728//   Please set your AWS Region configuration to us-east-1 to create, view, or
729//   edit these resources.
730//
731//   * ErrCodeNotFoundException "NotFoundException"
732//   Lightsail throws this exception when it cannot find a resource.
733//
734//   * ErrCodeOperationFailureException "OperationFailureException"
735//   Lightsail throws this exception when an operation fails to execute.
736//
737//   * ErrCodeAccessDeniedException "AccessDeniedException"
738//   Lightsail throws this exception when the user cannot be authenticated or
739//   uses invalid credentials to access a resource.
740//
741//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
742//   Lightsail throws this exception when an account is still in the setup in
743//   progress state.
744//
745//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
746//   Lightsail throws this exception when the user has not been authenticated.
747//
748// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
749func (c *Lightsail) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
750	req, out := c.CopySnapshotRequest(input)
751	return out, req.Send()
752}
753
754// CopySnapshotWithContext is the same as CopySnapshot with the addition of
755// the ability to pass a context and additional request options.
756//
757// See CopySnapshot for details on how to use this API operation.
758//
759// The context must be non-nil and will be used for request cancellation. If
760// the context is nil a panic will occur. In the future the SDK may create
761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
762// for more information on using Contexts.
763func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
764	req, out := c.CopySnapshotRequest(input)
765	req.SetContext(ctx)
766	req.ApplyOptions(opts...)
767	return out, req.Send()
768}
769
770const opCreateCloudFormationStack = "CreateCloudFormationStack"
771
772// CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
773// client's request for the CreateCloudFormationStack operation. The "output" return
774// value will be populated with the request's response once the request completes
775// successfully.
776//
777// Use "Send" method on the returned Request to send the API call to the service.
778// the "output" return value is not valid until after Send returns without error.
779//
780// See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
781// API call, and error handling.
782//
783// This method is useful when you want to inject custom logic or configuration
784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
785//
786//
787//    // Example sending a request using the CreateCloudFormationStackRequest method.
788//    req, resp := client.CreateCloudFormationStackRequest(params)
789//
790//    err := req.Send()
791//    if err == nil { // resp is now filled
792//        fmt.Println(resp)
793//    }
794//
795// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
796func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
797	op := &request.Operation{
798		Name:       opCreateCloudFormationStack,
799		HTTPMethod: "POST",
800		HTTPPath:   "/",
801	}
802
803	if input == nil {
804		input = &CreateCloudFormationStackInput{}
805	}
806
807	output = &CreateCloudFormationStackOutput{}
808	req = c.newRequest(op, input, output)
809	return
810}
811
812// CreateCloudFormationStack API operation for Amazon Lightsail.
813//
814// Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
815// from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
816// stack record that can be used to track the AWS CloudFormation stack created.
817// Use the get cloud formation stack records operation to get a list of the
818// CloudFormation stacks created.
819//
820// Wait until after your new Amazon EC2 instance is created before running the
821// create cloud formation stack operation again with the same export snapshot
822// record.
823//
824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
825// with awserr.Error's Code and Message methods to get detailed information about
826// the error.
827//
828// See the AWS API reference guide for Amazon Lightsail's
829// API operation CreateCloudFormationStack for usage and error information.
830//
831// Returned Error Codes:
832//   * ErrCodeServiceException "ServiceException"
833//   A general service exception.
834//
835//   * ErrCodeInvalidInputException "InvalidInputException"
836//   Lightsail throws this exception when user input does not conform to the validation
837//   rules of an input field.
838//
839//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
840//   Please set your AWS Region configuration to us-east-1 to create, view, or
841//   edit these resources.
842//
843//   * ErrCodeNotFoundException "NotFoundException"
844//   Lightsail throws this exception when it cannot find a resource.
845//
846//   * ErrCodeOperationFailureException "OperationFailureException"
847//   Lightsail throws this exception when an operation fails to execute.
848//
849//   * ErrCodeAccessDeniedException "AccessDeniedException"
850//   Lightsail throws this exception when the user cannot be authenticated or
851//   uses invalid credentials to access a resource.
852//
853//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
854//   Lightsail throws this exception when an account is still in the setup in
855//   progress state.
856//
857//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
858//   Lightsail throws this exception when the user has not been authenticated.
859//
860// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
861func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
862	req, out := c.CreateCloudFormationStackRequest(input)
863	return out, req.Send()
864}
865
866// CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
867// the ability to pass a context and additional request options.
868//
869// See CreateCloudFormationStack for details on how to use this API operation.
870//
871// The context must be non-nil and will be used for request cancellation. If
872// the context is nil a panic will occur. In the future the SDK may create
873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
874// for more information on using Contexts.
875func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
876	req, out := c.CreateCloudFormationStackRequest(input)
877	req.SetContext(ctx)
878	req.ApplyOptions(opts...)
879	return out, req.Send()
880}
881
882const opCreateDisk = "CreateDisk"
883
884// CreateDiskRequest generates a "aws/request.Request" representing the
885// client's request for the CreateDisk operation. The "output" return
886// value will be populated with the request's response once the request completes
887// successfully.
888//
889// Use "Send" method on the returned Request to send the API call to the service.
890// the "output" return value is not valid until after Send returns without error.
891//
892// See CreateDisk for more information on using the CreateDisk
893// API call, and error handling.
894//
895// This method is useful when you want to inject custom logic or configuration
896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
897//
898//
899//    // Example sending a request using the CreateDiskRequest method.
900//    req, resp := client.CreateDiskRequest(params)
901//
902//    err := req.Send()
903//    if err == nil { // resp is now filled
904//        fmt.Println(resp)
905//    }
906//
907// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
908func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
909	op := &request.Operation{
910		Name:       opCreateDisk,
911		HTTPMethod: "POST",
912		HTTPPath:   "/",
913	}
914
915	if input == nil {
916		input = &CreateDiskInput{}
917	}
918
919	output = &CreateDiskOutput{}
920	req = c.newRequest(op, input, output)
921	return
922}
923
924// CreateDisk API operation for Amazon Lightsail.
925//
926// Creates a block storage disk that can be attached to a Lightsail instance
927// in the same Availability Zone (e.g., us-east-2a). The disk is created in
928// the regional endpoint that you send the HTTP request to. For more information,
929// see Regions and Availability Zones in Lightsail (https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail).
930//
931// The create disk operation supports tag-based access control via request tags.
932// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
933//
934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
935// with awserr.Error's Code and Message methods to get detailed information about
936// the error.
937//
938// See the AWS API reference guide for Amazon Lightsail's
939// API operation CreateDisk for usage and error information.
940//
941// Returned Error Codes:
942//   * ErrCodeServiceException "ServiceException"
943//   A general service exception.
944//
945//   * ErrCodeInvalidInputException "InvalidInputException"
946//   Lightsail throws this exception when user input does not conform to the validation
947//   rules of an input field.
948//
949//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
950//   Please set your AWS Region configuration to us-east-1 to create, view, or
951//   edit these resources.
952//
953//   * ErrCodeNotFoundException "NotFoundException"
954//   Lightsail throws this exception when it cannot find a resource.
955//
956//   * ErrCodeOperationFailureException "OperationFailureException"
957//   Lightsail throws this exception when an operation fails to execute.
958//
959//   * ErrCodeAccessDeniedException "AccessDeniedException"
960//   Lightsail throws this exception when the user cannot be authenticated or
961//   uses invalid credentials to access a resource.
962//
963//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
964//   Lightsail throws this exception when an account is still in the setup in
965//   progress state.
966//
967//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
968//   Lightsail throws this exception when the user has not been authenticated.
969//
970// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
971func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
972	req, out := c.CreateDiskRequest(input)
973	return out, req.Send()
974}
975
976// CreateDiskWithContext is the same as CreateDisk with the addition of
977// the ability to pass a context and additional request options.
978//
979// See CreateDisk for details on how to use this API operation.
980//
981// The context must be non-nil and will be used for request cancellation. If
982// the context is nil a panic will occur. In the future the SDK may create
983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
984// for more information on using Contexts.
985func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
986	req, out := c.CreateDiskRequest(input)
987	req.SetContext(ctx)
988	req.ApplyOptions(opts...)
989	return out, req.Send()
990}
991
992const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
993
994// CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
995// client's request for the CreateDiskFromSnapshot operation. The "output" return
996// value will be populated with the request's response once the request completes
997// successfully.
998//
999// Use "Send" method on the returned Request to send the API call to the service.
1000// the "output" return value is not valid until after Send returns without error.
1001//
1002// See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
1003// API call, and error handling.
1004//
1005// This method is useful when you want to inject custom logic or configuration
1006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1007//
1008//
1009//    // Example sending a request using the CreateDiskFromSnapshotRequest method.
1010//    req, resp := client.CreateDiskFromSnapshotRequest(params)
1011//
1012//    err := req.Send()
1013//    if err == nil { // resp is now filled
1014//        fmt.Println(resp)
1015//    }
1016//
1017// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1018func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
1019	op := &request.Operation{
1020		Name:       opCreateDiskFromSnapshot,
1021		HTTPMethod: "POST",
1022		HTTPPath:   "/",
1023	}
1024
1025	if input == nil {
1026		input = &CreateDiskFromSnapshotInput{}
1027	}
1028
1029	output = &CreateDiskFromSnapshotOutput{}
1030	req = c.newRequest(op, input, output)
1031	return
1032}
1033
1034// CreateDiskFromSnapshot API operation for Amazon Lightsail.
1035//
1036// Creates a block storage disk from a disk snapshot that can be attached to
1037// a Lightsail instance in the same Availability Zone (e.g., us-east-2a). The
1038// disk is created in the regional endpoint that you send the HTTP request to.
1039// For more information, see Regions and Availability Zones in Lightsail (https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail).
1040//
1041// The create disk from snapshot operation supports tag-based access control
1042// via request tags and resource tags applied to the resource identified by
1043// diskSnapshotName. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1044//
1045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1046// with awserr.Error's Code and Message methods to get detailed information about
1047// the error.
1048//
1049// See the AWS API reference guide for Amazon Lightsail's
1050// API operation CreateDiskFromSnapshot for usage and error information.
1051//
1052// Returned Error Codes:
1053//   * ErrCodeServiceException "ServiceException"
1054//   A general service exception.
1055//
1056//   * ErrCodeInvalidInputException "InvalidInputException"
1057//   Lightsail throws this exception when user input does not conform to the validation
1058//   rules of an input field.
1059//
1060//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1061//   Please set your AWS Region configuration to us-east-1 to create, view, or
1062//   edit these resources.
1063//
1064//   * ErrCodeNotFoundException "NotFoundException"
1065//   Lightsail throws this exception when it cannot find a resource.
1066//
1067//   * ErrCodeOperationFailureException "OperationFailureException"
1068//   Lightsail throws this exception when an operation fails to execute.
1069//
1070//   * ErrCodeAccessDeniedException "AccessDeniedException"
1071//   Lightsail throws this exception when the user cannot be authenticated or
1072//   uses invalid credentials to access a resource.
1073//
1074//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1075//   Lightsail throws this exception when an account is still in the setup in
1076//   progress state.
1077//
1078//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1079//   Lightsail throws this exception when the user has not been authenticated.
1080//
1081// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1082func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
1083	req, out := c.CreateDiskFromSnapshotRequest(input)
1084	return out, req.Send()
1085}
1086
1087// CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
1088// the ability to pass a context and additional request options.
1089//
1090// See CreateDiskFromSnapshot for details on how to use this API operation.
1091//
1092// The context must be non-nil and will be used for request cancellation. If
1093// the context is nil a panic will occur. In the future the SDK may create
1094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1095// for more information on using Contexts.
1096func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
1097	req, out := c.CreateDiskFromSnapshotRequest(input)
1098	req.SetContext(ctx)
1099	req.ApplyOptions(opts...)
1100	return out, req.Send()
1101}
1102
1103const opCreateDiskSnapshot = "CreateDiskSnapshot"
1104
1105// CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
1106// client's request for the CreateDiskSnapshot operation. The "output" return
1107// value will be populated with the request's response once the request completes
1108// successfully.
1109//
1110// Use "Send" method on the returned Request to send the API call to the service.
1111// the "output" return value is not valid until after Send returns without error.
1112//
1113// See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
1114// API call, and error handling.
1115//
1116// This method is useful when you want to inject custom logic or configuration
1117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1118//
1119//
1120//    // Example sending a request using the CreateDiskSnapshotRequest method.
1121//    req, resp := client.CreateDiskSnapshotRequest(params)
1122//
1123//    err := req.Send()
1124//    if err == nil { // resp is now filled
1125//        fmt.Println(resp)
1126//    }
1127//
1128// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1129func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
1130	op := &request.Operation{
1131		Name:       opCreateDiskSnapshot,
1132		HTTPMethod: "POST",
1133		HTTPPath:   "/",
1134	}
1135
1136	if input == nil {
1137		input = &CreateDiskSnapshotInput{}
1138	}
1139
1140	output = &CreateDiskSnapshotOutput{}
1141	req = c.newRequest(op, input, output)
1142	return
1143}
1144
1145// CreateDiskSnapshot API operation for Amazon Lightsail.
1146//
1147// Creates a snapshot of a block storage disk. You can use snapshots for backups,
1148// to make copies of disks, and to save data before shutting down a Lightsail
1149// instance.
1150//
1151// You can take a snapshot of an attached disk that is in use; however, snapshots
1152// only capture data that has been written to your disk at the time the snapshot
1153// command is issued. This may exclude any data that has been cached by any
1154// applications or the operating system. If you can pause any file systems on
1155// the disk long enough to take a snapshot, your snapshot should be complete.
1156// Nevertheless, if you cannot pause all file writes to the disk, you should
1157// unmount the disk from within the Lightsail instance, issue the create disk
1158// snapshot command, and then remount the disk to ensure a consistent and complete
1159// snapshot. You may remount and use your disk while the snapshot status is
1160// pending.
1161//
1162// You can also use this operation to create a snapshot of an instance's system
1163// volume. You might want to do this, for example, to recover data from the
1164// system volume of a botched instance or to create a backup of the system volume
1165// like you would for a block storage disk. To create a snapshot of a system
1166// volume, just define the instance name parameter when issuing the snapshot
1167// command, and a snapshot of the defined instance's system volume will be created.
1168// After the snapshot is available, you can create a block storage disk from
1169// the snapshot and attach it to a running instance to access the data on the
1170// disk.
1171//
1172// The create disk snapshot operation supports tag-based access control via
1173// 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).
1174//
1175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1176// with awserr.Error's Code and Message methods to get detailed information about
1177// the error.
1178//
1179// See the AWS API reference guide for Amazon Lightsail's
1180// API operation CreateDiskSnapshot for usage and error information.
1181//
1182// Returned Error Codes:
1183//   * ErrCodeServiceException "ServiceException"
1184//   A general service exception.
1185//
1186//   * ErrCodeInvalidInputException "InvalidInputException"
1187//   Lightsail throws this exception when user input does not conform to the validation
1188//   rules of an input field.
1189//
1190//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1191//   Please set your AWS Region configuration to us-east-1 to create, view, or
1192//   edit these resources.
1193//
1194//   * ErrCodeNotFoundException "NotFoundException"
1195//   Lightsail throws this exception when it cannot find a resource.
1196//
1197//   * ErrCodeOperationFailureException "OperationFailureException"
1198//   Lightsail throws this exception when an operation fails to execute.
1199//
1200//   * ErrCodeAccessDeniedException "AccessDeniedException"
1201//   Lightsail throws this exception when the user cannot be authenticated or
1202//   uses invalid credentials to access a resource.
1203//
1204//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1205//   Lightsail throws this exception when an account is still in the setup in
1206//   progress state.
1207//
1208//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1209//   Lightsail throws this exception when the user has not been authenticated.
1210//
1211// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1212func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
1213	req, out := c.CreateDiskSnapshotRequest(input)
1214	return out, req.Send()
1215}
1216
1217// CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
1218// the ability to pass a context and additional request options.
1219//
1220// See CreateDiskSnapshot for details on how to use this API operation.
1221//
1222// The context must be non-nil and will be used for request cancellation. If
1223// the context is nil a panic will occur. In the future the SDK may create
1224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1225// for more information on using Contexts.
1226func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
1227	req, out := c.CreateDiskSnapshotRequest(input)
1228	req.SetContext(ctx)
1229	req.ApplyOptions(opts...)
1230	return out, req.Send()
1231}
1232
1233const opCreateDomain = "CreateDomain"
1234
1235// CreateDomainRequest generates a "aws/request.Request" representing the
1236// client's request for the CreateDomain operation. The "output" return
1237// value will be populated with the request's response once the request completes
1238// successfully.
1239//
1240// Use "Send" method on the returned Request to send the API call to the service.
1241// the "output" return value is not valid until after Send returns without error.
1242//
1243// See CreateDomain for more information on using the CreateDomain
1244// API call, and error handling.
1245//
1246// This method is useful when you want to inject custom logic or configuration
1247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1248//
1249//
1250//    // Example sending a request using the CreateDomainRequest method.
1251//    req, resp := client.CreateDomainRequest(params)
1252//
1253//    err := req.Send()
1254//    if err == nil { // resp is now filled
1255//        fmt.Println(resp)
1256//    }
1257//
1258// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1259func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
1260	op := &request.Operation{
1261		Name:       opCreateDomain,
1262		HTTPMethod: "POST",
1263		HTTPPath:   "/",
1264	}
1265
1266	if input == nil {
1267		input = &CreateDomainInput{}
1268	}
1269
1270	output = &CreateDomainOutput{}
1271	req = c.newRequest(op, input, output)
1272	return
1273}
1274
1275// CreateDomain API operation for Amazon Lightsail.
1276//
1277// Creates a domain resource for the specified domain (e.g., example.com).
1278//
1279// The create domain operation supports tag-based access control via request
1280// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1281//
1282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1283// with awserr.Error's Code and Message methods to get detailed information about
1284// the error.
1285//
1286// See the AWS API reference guide for Amazon Lightsail's
1287// API operation CreateDomain for usage and error information.
1288//
1289// Returned Error Codes:
1290//   * ErrCodeServiceException "ServiceException"
1291//   A general service exception.
1292//
1293//   * ErrCodeInvalidInputException "InvalidInputException"
1294//   Lightsail throws this exception when user input does not conform to the validation
1295//   rules of an input field.
1296//
1297//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1298//   Please set your AWS Region configuration to us-east-1 to create, view, or
1299//   edit these resources.
1300//
1301//   * ErrCodeNotFoundException "NotFoundException"
1302//   Lightsail throws this exception when it cannot find a resource.
1303//
1304//   * ErrCodeOperationFailureException "OperationFailureException"
1305//   Lightsail throws this exception when an operation fails to execute.
1306//
1307//   * ErrCodeAccessDeniedException "AccessDeniedException"
1308//   Lightsail throws this exception when the user cannot be authenticated or
1309//   uses invalid credentials to access a resource.
1310//
1311//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1312//   Lightsail throws this exception when an account is still in the setup in
1313//   progress state.
1314//
1315//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1316//   Lightsail throws this exception when the user has not been authenticated.
1317//
1318// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1319func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
1320	req, out := c.CreateDomainRequest(input)
1321	return out, req.Send()
1322}
1323
1324// CreateDomainWithContext is the same as CreateDomain with the addition of
1325// the ability to pass a context and additional request options.
1326//
1327// See CreateDomain for details on how to use this API operation.
1328//
1329// The context must be non-nil and will be used for request cancellation. If
1330// the context is nil a panic will occur. In the future the SDK may create
1331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1332// for more information on using Contexts.
1333func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
1334	req, out := c.CreateDomainRequest(input)
1335	req.SetContext(ctx)
1336	req.ApplyOptions(opts...)
1337	return out, req.Send()
1338}
1339
1340const opCreateDomainEntry = "CreateDomainEntry"
1341
1342// CreateDomainEntryRequest generates a "aws/request.Request" representing the
1343// client's request for the CreateDomainEntry operation. The "output" return
1344// value will be populated with the request's response once the request completes
1345// successfully.
1346//
1347// Use "Send" method on the returned Request to send the API call to the service.
1348// the "output" return value is not valid until after Send returns without error.
1349//
1350// See CreateDomainEntry for more information on using the CreateDomainEntry
1351// API call, and error handling.
1352//
1353// This method is useful when you want to inject custom logic or configuration
1354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1355//
1356//
1357//    // Example sending a request using the CreateDomainEntryRequest method.
1358//    req, resp := client.CreateDomainEntryRequest(params)
1359//
1360//    err := req.Send()
1361//    if err == nil { // resp is now filled
1362//        fmt.Println(resp)
1363//    }
1364//
1365// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1366func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
1367	op := &request.Operation{
1368		Name:       opCreateDomainEntry,
1369		HTTPMethod: "POST",
1370		HTTPPath:   "/",
1371	}
1372
1373	if input == nil {
1374		input = &CreateDomainEntryInput{}
1375	}
1376
1377	output = &CreateDomainEntryOutput{}
1378	req = c.newRequest(op, input, output)
1379	return
1380}
1381
1382// CreateDomainEntry API operation for Amazon Lightsail.
1383//
1384// Creates one of the following entry records associated with the domain: Address
1385// (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start
1386// of authority (SOA), service locator (SRV), or text (TXT).
1387//
1388// The create domain entry operation supports tag-based access control via resource
1389// tags applied to the resource identified by domainName. For more information,
1390// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1391//
1392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1393// with awserr.Error's Code and Message methods to get detailed information about
1394// the error.
1395//
1396// See the AWS API reference guide for Amazon Lightsail's
1397// API operation CreateDomainEntry for usage and error information.
1398//
1399// Returned Error Codes:
1400//   * ErrCodeServiceException "ServiceException"
1401//   A general service exception.
1402//
1403//   * ErrCodeInvalidInputException "InvalidInputException"
1404//   Lightsail throws this exception when user input does not conform to the validation
1405//   rules of an input field.
1406//
1407//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1408//   Please set your AWS Region configuration to us-east-1 to create, view, or
1409//   edit these resources.
1410//
1411//   * ErrCodeNotFoundException "NotFoundException"
1412//   Lightsail throws this exception when it cannot find a resource.
1413//
1414//   * ErrCodeOperationFailureException "OperationFailureException"
1415//   Lightsail throws this exception when an operation fails to execute.
1416//
1417//   * ErrCodeAccessDeniedException "AccessDeniedException"
1418//   Lightsail throws this exception when the user cannot be authenticated or
1419//   uses invalid credentials to access a resource.
1420//
1421//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1422//   Lightsail throws this exception when an account is still in the setup in
1423//   progress state.
1424//
1425//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1426//   Lightsail throws this exception when the user has not been authenticated.
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1429func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
1430	req, out := c.CreateDomainEntryRequest(input)
1431	return out, req.Send()
1432}
1433
1434// CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
1435// the ability to pass a context and additional request options.
1436//
1437// See CreateDomainEntry for details on how to use this API operation.
1438//
1439// The context must be non-nil and will be used for request cancellation. If
1440// the context is nil a panic will occur. In the future the SDK may create
1441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1442// for more information on using Contexts.
1443func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
1444	req, out := c.CreateDomainEntryRequest(input)
1445	req.SetContext(ctx)
1446	req.ApplyOptions(opts...)
1447	return out, req.Send()
1448}
1449
1450const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
1451
1452// CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
1453// client's request for the CreateInstanceSnapshot operation. The "output" return
1454// value will be populated with the request's response once the request completes
1455// successfully.
1456//
1457// Use "Send" method on the returned Request to send the API call to the service.
1458// the "output" return value is not valid until after Send returns without error.
1459//
1460// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
1461// API call, and error handling.
1462//
1463// This method is useful when you want to inject custom logic or configuration
1464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1465//
1466//
1467//    // Example sending a request using the CreateInstanceSnapshotRequest method.
1468//    req, resp := client.CreateInstanceSnapshotRequest(params)
1469//
1470//    err := req.Send()
1471//    if err == nil { // resp is now filled
1472//        fmt.Println(resp)
1473//    }
1474//
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1476func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
1477	op := &request.Operation{
1478		Name:       opCreateInstanceSnapshot,
1479		HTTPMethod: "POST",
1480		HTTPPath:   "/",
1481	}
1482
1483	if input == nil {
1484		input = &CreateInstanceSnapshotInput{}
1485	}
1486
1487	output = &CreateInstanceSnapshotOutput{}
1488	req = c.newRequest(op, input, output)
1489	return
1490}
1491
1492// CreateInstanceSnapshot API operation for Amazon Lightsail.
1493//
1494// Creates a snapshot of a specific virtual private server, or instance. You
1495// can use a snapshot to create a new instance that is based on that snapshot.
1496//
1497// The create instance snapshot operation supports tag-based access control
1498// 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).
1499//
1500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1501// with awserr.Error's Code and Message methods to get detailed information about
1502// the error.
1503//
1504// See the AWS API reference guide for Amazon Lightsail's
1505// API operation CreateInstanceSnapshot for usage and error information.
1506//
1507// Returned Error Codes:
1508//   * ErrCodeServiceException "ServiceException"
1509//   A general service exception.
1510//
1511//   * ErrCodeInvalidInputException "InvalidInputException"
1512//   Lightsail throws this exception when user input does not conform to the validation
1513//   rules of an input field.
1514//
1515//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1516//   Please set your AWS Region configuration to us-east-1 to create, view, or
1517//   edit these resources.
1518//
1519//   * ErrCodeNotFoundException "NotFoundException"
1520//   Lightsail throws this exception when it cannot find a resource.
1521//
1522//   * ErrCodeOperationFailureException "OperationFailureException"
1523//   Lightsail throws this exception when an operation fails to execute.
1524//
1525//   * ErrCodeAccessDeniedException "AccessDeniedException"
1526//   Lightsail throws this exception when the user cannot be authenticated or
1527//   uses invalid credentials to access a resource.
1528//
1529//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1530//   Lightsail throws this exception when an account is still in the setup in
1531//   progress state.
1532//
1533//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1534//   Lightsail throws this exception when the user has not been authenticated.
1535//
1536// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1537func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
1538	req, out := c.CreateInstanceSnapshotRequest(input)
1539	return out, req.Send()
1540}
1541
1542// CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
1543// the ability to pass a context and additional request options.
1544//
1545// See CreateInstanceSnapshot for details on how to use this API operation.
1546//
1547// The context must be non-nil and will be used for request cancellation. If
1548// the context is nil a panic will occur. In the future the SDK may create
1549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1550// for more information on using Contexts.
1551func (c *Lightsail) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
1552	req, out := c.CreateInstanceSnapshotRequest(input)
1553	req.SetContext(ctx)
1554	req.ApplyOptions(opts...)
1555	return out, req.Send()
1556}
1557
1558const opCreateInstances = "CreateInstances"
1559
1560// CreateInstancesRequest generates a "aws/request.Request" representing the
1561// client's request for the CreateInstances operation. The "output" return
1562// value will be populated with the request's response once the request completes
1563// successfully.
1564//
1565// Use "Send" method on the returned Request to send the API call to the service.
1566// the "output" return value is not valid until after Send returns without error.
1567//
1568// See CreateInstances for more information on using the CreateInstances
1569// API call, and error handling.
1570//
1571// This method is useful when you want to inject custom logic or configuration
1572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1573//
1574//
1575//    // Example sending a request using the CreateInstancesRequest method.
1576//    req, resp := client.CreateInstancesRequest(params)
1577//
1578//    err := req.Send()
1579//    if err == nil { // resp is now filled
1580//        fmt.Println(resp)
1581//    }
1582//
1583// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
1584func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
1585	op := &request.Operation{
1586		Name:       opCreateInstances,
1587		HTTPMethod: "POST",
1588		HTTPPath:   "/",
1589	}
1590
1591	if input == nil {
1592		input = &CreateInstancesInput{}
1593	}
1594
1595	output = &CreateInstancesOutput{}
1596	req = c.newRequest(op, input, output)
1597	return
1598}
1599
1600// CreateInstances API operation for Amazon Lightsail.
1601//
1602// Creates one or more Amazon Lightsail virtual private servers, or instances.
1603// Create instances using active blueprints. Inactive blueprints are listed
1604// to support customers with existing instances but are not necessarily available
1605// for launch of new instances. Blueprints are marked inactive when they become
1606// outdated due to operating system updates or new application releases. Use
1607// the get blueprints operation to return a list of available blueprints.
1608//
1609// The create instances operation supports tag-based access control via request
1610// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1611//
1612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1613// with awserr.Error's Code and Message methods to get detailed information about
1614// the error.
1615//
1616// See the AWS API reference guide for Amazon Lightsail's
1617// API operation CreateInstances for usage and error information.
1618//
1619// Returned Error Codes:
1620//   * ErrCodeServiceException "ServiceException"
1621//   A general service exception.
1622//
1623//   * ErrCodeInvalidInputException "InvalidInputException"
1624//   Lightsail throws this exception when user input does not conform to the validation
1625//   rules of an input field.
1626//
1627//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1628//   Please set your AWS Region configuration to us-east-1 to create, view, or
1629//   edit these resources.
1630//
1631//   * ErrCodeNotFoundException "NotFoundException"
1632//   Lightsail throws this exception when it cannot find a resource.
1633//
1634//   * ErrCodeOperationFailureException "OperationFailureException"
1635//   Lightsail throws this exception when an operation fails to execute.
1636//
1637//   * ErrCodeAccessDeniedException "AccessDeniedException"
1638//   Lightsail throws this exception when the user cannot be authenticated or
1639//   uses invalid credentials to access a resource.
1640//
1641//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1642//   Lightsail throws this exception when an account is still in the setup in
1643//   progress state.
1644//
1645//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1646//   Lightsail throws this exception when the user has not been authenticated.
1647//
1648// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
1649func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
1650	req, out := c.CreateInstancesRequest(input)
1651	return out, req.Send()
1652}
1653
1654// CreateInstancesWithContext is the same as CreateInstances with the addition of
1655// the ability to pass a context and additional request options.
1656//
1657// See CreateInstances for details on how to use this API operation.
1658//
1659// The context must be non-nil and will be used for request cancellation. If
1660// the context is nil a panic will occur. In the future the SDK may create
1661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1662// for more information on using Contexts.
1663func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
1664	req, out := c.CreateInstancesRequest(input)
1665	req.SetContext(ctx)
1666	req.ApplyOptions(opts...)
1667	return out, req.Send()
1668}
1669
1670const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
1671
1672// CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
1673// client's request for the CreateInstancesFromSnapshot operation. The "output" return
1674// value will be populated with the request's response once the request completes
1675// successfully.
1676//
1677// Use "Send" method on the returned Request to send the API call to the service.
1678// the "output" return value is not valid until after Send returns without error.
1679//
1680// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
1681// API call, and error handling.
1682//
1683// This method is useful when you want to inject custom logic or configuration
1684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1685//
1686//
1687//    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
1688//    req, resp := client.CreateInstancesFromSnapshotRequest(params)
1689//
1690//    err := req.Send()
1691//    if err == nil { // resp is now filled
1692//        fmt.Println(resp)
1693//    }
1694//
1695// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
1696func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
1697	op := &request.Operation{
1698		Name:       opCreateInstancesFromSnapshot,
1699		HTTPMethod: "POST",
1700		HTTPPath:   "/",
1701	}
1702
1703	if input == nil {
1704		input = &CreateInstancesFromSnapshotInput{}
1705	}
1706
1707	output = &CreateInstancesFromSnapshotOutput{}
1708	req = c.newRequest(op, input, output)
1709	return
1710}
1711
1712// CreateInstancesFromSnapshot API operation for Amazon Lightsail.
1713//
1714// Uses a specific snapshot as a blueprint for creating one or more new instances
1715// that are based on that identical configuration.
1716//
1717// The create instances from snapshot operation supports tag-based access control
1718// via request tags and resource tags applied to the resource identified by
1719// instanceSnapshotName. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1720//
1721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1722// with awserr.Error's Code and Message methods to get detailed information about
1723// the error.
1724//
1725// See the AWS API reference guide for Amazon Lightsail's
1726// API operation CreateInstancesFromSnapshot for usage and error information.
1727//
1728// Returned Error Codes:
1729//   * ErrCodeServiceException "ServiceException"
1730//   A general service exception.
1731//
1732//   * ErrCodeInvalidInputException "InvalidInputException"
1733//   Lightsail throws this exception when user input does not conform to the validation
1734//   rules of an input field.
1735//
1736//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1737//   Please set your AWS Region configuration to us-east-1 to create, view, or
1738//   edit these resources.
1739//
1740//   * ErrCodeNotFoundException "NotFoundException"
1741//   Lightsail throws this exception when it cannot find a resource.
1742//
1743//   * ErrCodeOperationFailureException "OperationFailureException"
1744//   Lightsail throws this exception when an operation fails to execute.
1745//
1746//   * ErrCodeAccessDeniedException "AccessDeniedException"
1747//   Lightsail throws this exception when the user cannot be authenticated or
1748//   uses invalid credentials to access a resource.
1749//
1750//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1751//   Lightsail throws this exception when an account is still in the setup in
1752//   progress state.
1753//
1754//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1755//   Lightsail throws this exception when the user has not been authenticated.
1756//
1757// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
1758func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
1759	req, out := c.CreateInstancesFromSnapshotRequest(input)
1760	return out, req.Send()
1761}
1762
1763// CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
1764// the ability to pass a context and additional request options.
1765//
1766// See CreateInstancesFromSnapshot for details on how to use this API operation.
1767//
1768// The context must be non-nil and will be used for request cancellation. If
1769// the context is nil a panic will occur. In the future the SDK may create
1770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1771// for more information on using Contexts.
1772func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
1773	req, out := c.CreateInstancesFromSnapshotRequest(input)
1774	req.SetContext(ctx)
1775	req.ApplyOptions(opts...)
1776	return out, req.Send()
1777}
1778
1779const opCreateKeyPair = "CreateKeyPair"
1780
1781// CreateKeyPairRequest generates a "aws/request.Request" representing the
1782// client's request for the CreateKeyPair operation. The "output" return
1783// value will be populated with the request's response once the request completes
1784// successfully.
1785//
1786// Use "Send" method on the returned Request to send the API call to the service.
1787// the "output" return value is not valid until after Send returns without error.
1788//
1789// See CreateKeyPair for more information on using the CreateKeyPair
1790// API call, and error handling.
1791//
1792// This method is useful when you want to inject custom logic or configuration
1793// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1794//
1795//
1796//    // Example sending a request using the CreateKeyPairRequest method.
1797//    req, resp := client.CreateKeyPairRequest(params)
1798//
1799//    err := req.Send()
1800//    if err == nil { // resp is now filled
1801//        fmt.Println(resp)
1802//    }
1803//
1804// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
1805func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
1806	op := &request.Operation{
1807		Name:       opCreateKeyPair,
1808		HTTPMethod: "POST",
1809		HTTPPath:   "/",
1810	}
1811
1812	if input == nil {
1813		input = &CreateKeyPairInput{}
1814	}
1815
1816	output = &CreateKeyPairOutput{}
1817	req = c.newRequest(op, input, output)
1818	return
1819}
1820
1821// CreateKeyPair API operation for Amazon Lightsail.
1822//
1823// Creates an SSH key pair.
1824//
1825// The create key pair operation supports tag-based access control via request
1826// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1827//
1828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1829// with awserr.Error's Code and Message methods to get detailed information about
1830// the error.
1831//
1832// See the AWS API reference guide for Amazon Lightsail's
1833// API operation CreateKeyPair for usage and error information.
1834//
1835// Returned Error Codes:
1836//   * ErrCodeServiceException "ServiceException"
1837//   A general service exception.
1838//
1839//   * ErrCodeInvalidInputException "InvalidInputException"
1840//   Lightsail throws this exception when user input does not conform to the validation
1841//   rules of an input field.
1842//
1843//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1844//   Please set your AWS Region configuration to us-east-1 to create, view, or
1845//   edit these resources.
1846//
1847//   * ErrCodeNotFoundException "NotFoundException"
1848//   Lightsail throws this exception when it cannot find a resource.
1849//
1850//   * ErrCodeOperationFailureException "OperationFailureException"
1851//   Lightsail throws this exception when an operation fails to execute.
1852//
1853//   * ErrCodeAccessDeniedException "AccessDeniedException"
1854//   Lightsail throws this exception when the user cannot be authenticated or
1855//   uses invalid credentials to access a resource.
1856//
1857//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1858//   Lightsail throws this exception when an account is still in the setup in
1859//   progress state.
1860//
1861//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1862//   Lightsail throws this exception when the user has not been authenticated.
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
1865func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
1866	req, out := c.CreateKeyPairRequest(input)
1867	return out, req.Send()
1868}
1869
1870// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
1871// the ability to pass a context and additional request options.
1872//
1873// See CreateKeyPair for details on how to use this API operation.
1874//
1875// The context must be non-nil and will be used for request cancellation. If
1876// the context is nil a panic will occur. In the future the SDK may create
1877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1878// for more information on using Contexts.
1879func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
1880	req, out := c.CreateKeyPairRequest(input)
1881	req.SetContext(ctx)
1882	req.ApplyOptions(opts...)
1883	return out, req.Send()
1884}
1885
1886const opCreateLoadBalancer = "CreateLoadBalancer"
1887
1888// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
1889// client's request for the CreateLoadBalancer operation. The "output" return
1890// value will be populated with the request's response once the request completes
1891// successfully.
1892//
1893// Use "Send" method on the returned Request to send the API call to the service.
1894// the "output" return value is not valid until after Send returns without error.
1895//
1896// See CreateLoadBalancer for more information on using the CreateLoadBalancer
1897// API call, and error handling.
1898//
1899// This method is useful when you want to inject custom logic or configuration
1900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1901//
1902//
1903//    // Example sending a request using the CreateLoadBalancerRequest method.
1904//    req, resp := client.CreateLoadBalancerRequest(params)
1905//
1906//    err := req.Send()
1907//    if err == nil { // resp is now filled
1908//        fmt.Println(resp)
1909//    }
1910//
1911// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
1912func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
1913	op := &request.Operation{
1914		Name:       opCreateLoadBalancer,
1915		HTTPMethod: "POST",
1916		HTTPPath:   "/",
1917	}
1918
1919	if input == nil {
1920		input = &CreateLoadBalancerInput{}
1921	}
1922
1923	output = &CreateLoadBalancerOutput{}
1924	req = c.newRequest(op, input, output)
1925	return
1926}
1927
1928// CreateLoadBalancer API operation for Amazon Lightsail.
1929//
1930// Creates a Lightsail load balancer. To learn more about deciding whether to
1931// load balance your application, see Configure your Lightsail instances for
1932// load balancing (https://lightsail.aws.amazon.com/ls/docs/how-to/article/configure-lightsail-instances-for-load-balancing).
1933// You can create up to 5 load balancers per AWS Region in your account.
1934//
1935// When you create a load balancer, you can specify a unique name and port settings.
1936// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
1937// operation.
1938//
1939// The create load balancer operation supports tag-based access control via
1940// 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).
1941//
1942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1943// with awserr.Error's Code and Message methods to get detailed information about
1944// the error.
1945//
1946// See the AWS API reference guide for Amazon Lightsail's
1947// API operation CreateLoadBalancer for usage and error information.
1948//
1949// Returned Error Codes:
1950//   * ErrCodeServiceException "ServiceException"
1951//   A general service exception.
1952//
1953//   * ErrCodeInvalidInputException "InvalidInputException"
1954//   Lightsail throws this exception when user input does not conform to the validation
1955//   rules of an input field.
1956//
1957//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1958//   Please set your AWS Region configuration to us-east-1 to create, view, or
1959//   edit these resources.
1960//
1961//   * ErrCodeNotFoundException "NotFoundException"
1962//   Lightsail throws this exception when it cannot find a resource.
1963//
1964//   * ErrCodeOperationFailureException "OperationFailureException"
1965//   Lightsail throws this exception when an operation fails to execute.
1966//
1967//   * ErrCodeAccessDeniedException "AccessDeniedException"
1968//   Lightsail throws this exception when the user cannot be authenticated or
1969//   uses invalid credentials to access a resource.
1970//
1971//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1972//   Lightsail throws this exception when an account is still in the setup in
1973//   progress state.
1974//
1975//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1976//   Lightsail throws this exception when the user has not been authenticated.
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
1979func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
1980	req, out := c.CreateLoadBalancerRequest(input)
1981	return out, req.Send()
1982}
1983
1984// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
1985// the ability to pass a context and additional request options.
1986//
1987// See CreateLoadBalancer for details on how to use this API operation.
1988//
1989// The context must be non-nil and will be used for request cancellation. If
1990// the context is nil a panic will occur. In the future the SDK may create
1991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1992// for more information on using Contexts.
1993func (c *Lightsail) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
1994	req, out := c.CreateLoadBalancerRequest(input)
1995	req.SetContext(ctx)
1996	req.ApplyOptions(opts...)
1997	return out, req.Send()
1998}
1999
2000const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
2001
2002// CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
2003// client's request for the CreateLoadBalancerTlsCertificate operation. The "output" return
2004// value will be populated with the request's response once the request completes
2005// successfully.
2006//
2007// Use "Send" method on the returned Request to send the API call to the service.
2008// the "output" return value is not valid until after Send returns without error.
2009//
2010// See CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
2011// API call, and error handling.
2012//
2013// This method is useful when you want to inject custom logic or configuration
2014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2015//
2016//
2017//    // Example sending a request using the CreateLoadBalancerTlsCertificateRequest method.
2018//    req, resp := client.CreateLoadBalancerTlsCertificateRequest(params)
2019//
2020//    err := req.Send()
2021//    if err == nil { // resp is now filled
2022//        fmt.Println(resp)
2023//    }
2024//
2025// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2026func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
2027	op := &request.Operation{
2028		Name:       opCreateLoadBalancerTlsCertificate,
2029		HTTPMethod: "POST",
2030		HTTPPath:   "/",
2031	}
2032
2033	if input == nil {
2034		input = &CreateLoadBalancerTlsCertificateInput{}
2035	}
2036
2037	output = &CreateLoadBalancerTlsCertificateOutput{}
2038	req = c.newRequest(op, input, output)
2039	return
2040}
2041
2042// CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
2043//
2044// Creates a Lightsail load balancer TLS certificate.
2045//
2046// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
2047//
2048// The create load balancer tls certificate operation supports tag-based access
2049// control via resource tags applied to the resource identified by loadBalancerName.
2050// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2051//
2052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2053// with awserr.Error's Code and Message methods to get detailed information about
2054// the error.
2055//
2056// See the AWS API reference guide for Amazon Lightsail's
2057// API operation CreateLoadBalancerTlsCertificate for usage and error information.
2058//
2059// Returned Error Codes:
2060//   * ErrCodeServiceException "ServiceException"
2061//   A general service exception.
2062//
2063//   * ErrCodeInvalidInputException "InvalidInputException"
2064//   Lightsail throws this exception when user input does not conform to the validation
2065//   rules of an input field.
2066//
2067//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2068//   Please set your AWS Region configuration to us-east-1 to create, view, or
2069//   edit these resources.
2070//
2071//   * ErrCodeNotFoundException "NotFoundException"
2072//   Lightsail throws this exception when it cannot find a resource.
2073//
2074//   * ErrCodeOperationFailureException "OperationFailureException"
2075//   Lightsail throws this exception when an operation fails to execute.
2076//
2077//   * ErrCodeAccessDeniedException "AccessDeniedException"
2078//   Lightsail throws this exception when the user cannot be authenticated or
2079//   uses invalid credentials to access a resource.
2080//
2081//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2082//   Lightsail throws this exception when an account is still in the setup in
2083//   progress state.
2084//
2085//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2086//   Lightsail throws this exception when the user has not been authenticated.
2087//
2088// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2089func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
2090	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2091	return out, req.Send()
2092}
2093
2094// CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
2095// the ability to pass a context and additional request options.
2096//
2097// See CreateLoadBalancerTlsCertificate for details on how to use this API operation.
2098//
2099// The context must be non-nil and will be used for request cancellation. If
2100// the context is nil a panic will occur. In the future the SDK may create
2101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2102// for more information on using Contexts.
2103func (c *Lightsail) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
2104	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2105	req.SetContext(ctx)
2106	req.ApplyOptions(opts...)
2107	return out, req.Send()
2108}
2109
2110const opCreateRelationalDatabase = "CreateRelationalDatabase"
2111
2112// CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
2113// client's request for the CreateRelationalDatabase operation. The "output" return
2114// value will be populated with the request's response once the request completes
2115// successfully.
2116//
2117// Use "Send" method on the returned Request to send the API call to the service.
2118// the "output" return value is not valid until after Send returns without error.
2119//
2120// See CreateRelationalDatabase for more information on using the CreateRelationalDatabase
2121// API call, and error handling.
2122//
2123// This method is useful when you want to inject custom logic or configuration
2124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2125//
2126//
2127//    // Example sending a request using the CreateRelationalDatabaseRequest method.
2128//    req, resp := client.CreateRelationalDatabaseRequest(params)
2129//
2130//    err := req.Send()
2131//    if err == nil { // resp is now filled
2132//        fmt.Println(resp)
2133//    }
2134//
2135// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2136func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
2137	op := &request.Operation{
2138		Name:       opCreateRelationalDatabase,
2139		HTTPMethod: "POST",
2140		HTTPPath:   "/",
2141	}
2142
2143	if input == nil {
2144		input = &CreateRelationalDatabaseInput{}
2145	}
2146
2147	output = &CreateRelationalDatabaseOutput{}
2148	req = c.newRequest(op, input, output)
2149	return
2150}
2151
2152// CreateRelationalDatabase API operation for Amazon Lightsail.
2153//
2154// Creates a new database in Amazon Lightsail.
2155//
2156// The create relational database operation supports tag-based access control
2157// 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).
2158//
2159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2160// with awserr.Error's Code and Message methods to get detailed information about
2161// the error.
2162//
2163// See the AWS API reference guide for Amazon Lightsail's
2164// API operation CreateRelationalDatabase for usage and error information.
2165//
2166// Returned Error Codes:
2167//   * ErrCodeServiceException "ServiceException"
2168//   A general service exception.
2169//
2170//   * ErrCodeInvalidInputException "InvalidInputException"
2171//   Lightsail throws this exception when user input does not conform to the validation
2172//   rules of an input field.
2173//
2174//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2175//   Please set your AWS Region configuration to us-east-1 to create, view, or
2176//   edit these resources.
2177//
2178//   * ErrCodeNotFoundException "NotFoundException"
2179//   Lightsail throws this exception when it cannot find a resource.
2180//
2181//   * ErrCodeOperationFailureException "OperationFailureException"
2182//   Lightsail throws this exception when an operation fails to execute.
2183//
2184//   * ErrCodeAccessDeniedException "AccessDeniedException"
2185//   Lightsail throws this exception when the user cannot be authenticated or
2186//   uses invalid credentials to access a resource.
2187//
2188//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2189//   Lightsail throws this exception when an account is still in the setup in
2190//   progress state.
2191//
2192//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2193//   Lightsail throws this exception when the user has not been authenticated.
2194//
2195// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2196func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
2197	req, out := c.CreateRelationalDatabaseRequest(input)
2198	return out, req.Send()
2199}
2200
2201// CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
2202// the ability to pass a context and additional request options.
2203//
2204// See CreateRelationalDatabase for details on how to use this API operation.
2205//
2206// The context must be non-nil and will be used for request cancellation. If
2207// the context is nil a panic will occur. In the future the SDK may create
2208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2209// for more information on using Contexts.
2210func (c *Lightsail) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
2211	req, out := c.CreateRelationalDatabaseRequest(input)
2212	req.SetContext(ctx)
2213	req.ApplyOptions(opts...)
2214	return out, req.Send()
2215}
2216
2217const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
2218
2219// CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
2220// client's request for the CreateRelationalDatabaseFromSnapshot operation. The "output" return
2221// value will be populated with the request's response once the request completes
2222// successfully.
2223//
2224// Use "Send" method on the returned Request to send the API call to the service.
2225// the "output" return value is not valid until after Send returns without error.
2226//
2227// See CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
2228// API call, and error handling.
2229//
2230// This method is useful when you want to inject custom logic or configuration
2231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2232//
2233//
2234//    // Example sending a request using the CreateRelationalDatabaseFromSnapshotRequest method.
2235//    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(params)
2236//
2237//    err := req.Send()
2238//    if err == nil { // resp is now filled
2239//        fmt.Println(resp)
2240//    }
2241//
2242// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2243func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
2244	op := &request.Operation{
2245		Name:       opCreateRelationalDatabaseFromSnapshot,
2246		HTTPMethod: "POST",
2247		HTTPPath:   "/",
2248	}
2249
2250	if input == nil {
2251		input = &CreateRelationalDatabaseFromSnapshotInput{}
2252	}
2253
2254	output = &CreateRelationalDatabaseFromSnapshotOutput{}
2255	req = c.newRequest(op, input, output)
2256	return
2257}
2258
2259// CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
2260//
2261// Creates a new database from an existing database snapshot in Amazon Lightsail.
2262//
2263// You can create a new database from a snapshot in if something goes wrong
2264// with your original database, or to change it to a different plan, such as
2265// a high availability or standard plan.
2266//
2267// The create relational database from snapshot operation supports tag-based
2268// access control via request tags and resource tags applied to the resource
2269// identified by relationalDatabaseSnapshotName. For more information, see the
2270// Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2271//
2272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2273// with awserr.Error's Code and Message methods to get detailed information about
2274// the error.
2275//
2276// See the AWS API reference guide for Amazon Lightsail's
2277// API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
2278//
2279// Returned Error Codes:
2280//   * ErrCodeServiceException "ServiceException"
2281//   A general service exception.
2282//
2283//   * ErrCodeInvalidInputException "InvalidInputException"
2284//   Lightsail throws this exception when user input does not conform to the validation
2285//   rules of an input field.
2286//
2287//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2288//   Please set your AWS Region configuration to us-east-1 to create, view, or
2289//   edit these resources.
2290//
2291//   * ErrCodeNotFoundException "NotFoundException"
2292//   Lightsail throws this exception when it cannot find a resource.
2293//
2294//   * ErrCodeOperationFailureException "OperationFailureException"
2295//   Lightsail throws this exception when an operation fails to execute.
2296//
2297//   * ErrCodeAccessDeniedException "AccessDeniedException"
2298//   Lightsail throws this exception when the user cannot be authenticated or
2299//   uses invalid credentials to access a resource.
2300//
2301//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2302//   Lightsail throws this exception when an account is still in the setup in
2303//   progress state.
2304//
2305//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2306//   Lightsail throws this exception when the user has not been authenticated.
2307//
2308// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2309func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2310	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2311	return out, req.Send()
2312}
2313
2314// CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
2315// the ability to pass a context and additional request options.
2316//
2317// See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
2318//
2319// The context must be non-nil and will be used for request cancellation. If
2320// the context is nil a panic will occur. In the future the SDK may create
2321// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2322// for more information on using Contexts.
2323func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2324	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2325	req.SetContext(ctx)
2326	req.ApplyOptions(opts...)
2327	return out, req.Send()
2328}
2329
2330const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
2331
2332// CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
2333// client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
2334// value will be populated with the request's response once the request completes
2335// successfully.
2336//
2337// Use "Send" method on the returned Request to send the API call to the service.
2338// the "output" return value is not valid until after Send returns without error.
2339//
2340// See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
2341// API call, and error handling.
2342//
2343// This method is useful when you want to inject custom logic or configuration
2344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2345//
2346//
2347//    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
2348//    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
2349//
2350//    err := req.Send()
2351//    if err == nil { // resp is now filled
2352//        fmt.Println(resp)
2353//    }
2354//
2355// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2356func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
2357	op := &request.Operation{
2358		Name:       opCreateRelationalDatabaseSnapshot,
2359		HTTPMethod: "POST",
2360		HTTPPath:   "/",
2361	}
2362
2363	if input == nil {
2364		input = &CreateRelationalDatabaseSnapshotInput{}
2365	}
2366
2367	output = &CreateRelationalDatabaseSnapshotOutput{}
2368	req = c.newRequest(op, input, output)
2369	return
2370}
2371
2372// CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
2373//
2374// Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
2375// for backups, to make copies of a database, and to save data before deleting
2376// a database.
2377//
2378// The create relational database snapshot operation supports tag-based access
2379// control via request tags. For more information, see the Lightsail Dev Guide
2380// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2381//
2382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2383// with awserr.Error's Code and Message methods to get detailed information about
2384// the error.
2385//
2386// See the AWS API reference guide for Amazon Lightsail's
2387// API operation CreateRelationalDatabaseSnapshot for usage and error information.
2388//
2389// Returned Error Codes:
2390//   * ErrCodeServiceException "ServiceException"
2391//   A general service exception.
2392//
2393//   * ErrCodeInvalidInputException "InvalidInputException"
2394//   Lightsail throws this exception when user input does not conform to the validation
2395//   rules of an input field.
2396//
2397//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2398//   Please set your AWS Region configuration to us-east-1 to create, view, or
2399//   edit these resources.
2400//
2401//   * ErrCodeNotFoundException "NotFoundException"
2402//   Lightsail throws this exception when it cannot find a resource.
2403//
2404//   * ErrCodeOperationFailureException "OperationFailureException"
2405//   Lightsail throws this exception when an operation fails to execute.
2406//
2407//   * ErrCodeAccessDeniedException "AccessDeniedException"
2408//   Lightsail throws this exception when the user cannot be authenticated or
2409//   uses invalid credentials to access a resource.
2410//
2411//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2412//   Lightsail throws this exception when an account is still in the setup in
2413//   progress state.
2414//
2415//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2416//   Lightsail throws this exception when the user has not been authenticated.
2417//
2418// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2419func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
2420	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2421	return out, req.Send()
2422}
2423
2424// CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
2425// the ability to pass a context and additional request options.
2426//
2427// See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
2428//
2429// The context must be non-nil and will be used for request cancellation. If
2430// the context is nil a panic will occur. In the future the SDK may create
2431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2432// for more information on using Contexts.
2433func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
2434	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2435	req.SetContext(ctx)
2436	req.ApplyOptions(opts...)
2437	return out, req.Send()
2438}
2439
2440const opDeleteDisk = "DeleteDisk"
2441
2442// DeleteDiskRequest generates a "aws/request.Request" representing the
2443// client's request for the DeleteDisk operation. The "output" return
2444// value will be populated with the request's response once the request completes
2445// successfully.
2446//
2447// Use "Send" method on the returned Request to send the API call to the service.
2448// the "output" return value is not valid until after Send returns without error.
2449//
2450// See DeleteDisk for more information on using the DeleteDisk
2451// API call, and error handling.
2452//
2453// This method is useful when you want to inject custom logic or configuration
2454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2455//
2456//
2457//    // Example sending a request using the DeleteDiskRequest method.
2458//    req, resp := client.DeleteDiskRequest(params)
2459//
2460//    err := req.Send()
2461//    if err == nil { // resp is now filled
2462//        fmt.Println(resp)
2463//    }
2464//
2465// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
2466func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
2467	op := &request.Operation{
2468		Name:       opDeleteDisk,
2469		HTTPMethod: "POST",
2470		HTTPPath:   "/",
2471	}
2472
2473	if input == nil {
2474		input = &DeleteDiskInput{}
2475	}
2476
2477	output = &DeleteDiskOutput{}
2478	req = c.newRequest(op, input, output)
2479	return
2480}
2481
2482// DeleteDisk API operation for Amazon Lightsail.
2483//
2484// Deletes the specified block storage disk. The disk must be in the available
2485// state (not attached to a Lightsail instance).
2486//
2487// The disk may remain in the deleting state for several minutes.
2488//
2489// The delete disk operation supports tag-based access control via resource
2490// tags applied to the resource identified by diskName. For more information,
2491// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2492//
2493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2494// with awserr.Error's Code and Message methods to get detailed information about
2495// the error.
2496//
2497// See the AWS API reference guide for Amazon Lightsail's
2498// API operation DeleteDisk for usage and error information.
2499//
2500// Returned Error Codes:
2501//   * ErrCodeServiceException "ServiceException"
2502//   A general service exception.
2503//
2504//   * ErrCodeInvalidInputException "InvalidInputException"
2505//   Lightsail throws this exception when user input does not conform to the validation
2506//   rules of an input field.
2507//
2508//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2509//   Please set your AWS Region configuration to us-east-1 to create, view, or
2510//   edit these resources.
2511//
2512//   * ErrCodeNotFoundException "NotFoundException"
2513//   Lightsail throws this exception when it cannot find a resource.
2514//
2515//   * ErrCodeOperationFailureException "OperationFailureException"
2516//   Lightsail throws this exception when an operation fails to execute.
2517//
2518//   * ErrCodeAccessDeniedException "AccessDeniedException"
2519//   Lightsail throws this exception when the user cannot be authenticated or
2520//   uses invalid credentials to access a resource.
2521//
2522//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2523//   Lightsail throws this exception when an account is still in the setup in
2524//   progress state.
2525//
2526//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2527//   Lightsail throws this exception when the user has not been authenticated.
2528//
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
2530func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
2531	req, out := c.DeleteDiskRequest(input)
2532	return out, req.Send()
2533}
2534
2535// DeleteDiskWithContext is the same as DeleteDisk with the addition of
2536// the ability to pass a context and additional request options.
2537//
2538// See DeleteDisk for details on how to use this API operation.
2539//
2540// The context must be non-nil and will be used for request cancellation. If
2541// the context is nil a panic will occur. In the future the SDK may create
2542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2543// for more information on using Contexts.
2544func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
2545	req, out := c.DeleteDiskRequest(input)
2546	req.SetContext(ctx)
2547	req.ApplyOptions(opts...)
2548	return out, req.Send()
2549}
2550
2551const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
2552
2553// DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
2554// client's request for the DeleteDiskSnapshot operation. The "output" return
2555// value will be populated with the request's response once the request completes
2556// successfully.
2557//
2558// Use "Send" method on the returned Request to send the API call to the service.
2559// the "output" return value is not valid until after Send returns without error.
2560//
2561// See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
2562// API call, and error handling.
2563//
2564// This method is useful when you want to inject custom logic or configuration
2565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2566//
2567//
2568//    // Example sending a request using the DeleteDiskSnapshotRequest method.
2569//    req, resp := client.DeleteDiskSnapshotRequest(params)
2570//
2571//    err := req.Send()
2572//    if err == nil { // resp is now filled
2573//        fmt.Println(resp)
2574//    }
2575//
2576// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
2577func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
2578	op := &request.Operation{
2579		Name:       opDeleteDiskSnapshot,
2580		HTTPMethod: "POST",
2581		HTTPPath:   "/",
2582	}
2583
2584	if input == nil {
2585		input = &DeleteDiskSnapshotInput{}
2586	}
2587
2588	output = &DeleteDiskSnapshotOutput{}
2589	req = c.newRequest(op, input, output)
2590	return
2591}
2592
2593// DeleteDiskSnapshot API operation for Amazon Lightsail.
2594//
2595// Deletes the specified disk snapshot.
2596//
2597// When you make periodic snapshots of a disk, the snapshots are incremental,
2598// and only the blocks on the device that have changed since your last snapshot
2599// are saved in the new snapshot. When you delete a snapshot, only the data
2600// not needed for any other snapshot is removed. So regardless of which prior
2601// snapshots have been deleted, all active snapshots will have access to all
2602// the information needed to restore the disk.
2603//
2604// The delete disk snapshot operation supports tag-based access control via
2605// resource tags applied to the resource identified by diskSnapshotName. For
2606// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2607//
2608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2609// with awserr.Error's Code and Message methods to get detailed information about
2610// the error.
2611//
2612// See the AWS API reference guide for Amazon Lightsail's
2613// API operation DeleteDiskSnapshot for usage and error information.
2614//
2615// Returned Error Codes:
2616//   * ErrCodeServiceException "ServiceException"
2617//   A general service exception.
2618//
2619//   * ErrCodeInvalidInputException "InvalidInputException"
2620//   Lightsail throws this exception when user input does not conform to the validation
2621//   rules of an input field.
2622//
2623//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2624//   Please set your AWS Region configuration to us-east-1 to create, view, or
2625//   edit these resources.
2626//
2627//   * ErrCodeNotFoundException "NotFoundException"
2628//   Lightsail throws this exception when it cannot find a resource.
2629//
2630//   * ErrCodeOperationFailureException "OperationFailureException"
2631//   Lightsail throws this exception when an operation fails to execute.
2632//
2633//   * ErrCodeAccessDeniedException "AccessDeniedException"
2634//   Lightsail throws this exception when the user cannot be authenticated or
2635//   uses invalid credentials to access a resource.
2636//
2637//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2638//   Lightsail throws this exception when an account is still in the setup in
2639//   progress state.
2640//
2641//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2642//   Lightsail throws this exception when the user has not been authenticated.
2643//
2644// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
2645func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
2646	req, out := c.DeleteDiskSnapshotRequest(input)
2647	return out, req.Send()
2648}
2649
2650// DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
2651// the ability to pass a context and additional request options.
2652//
2653// See DeleteDiskSnapshot for details on how to use this API operation.
2654//
2655// The context must be non-nil and will be used for request cancellation. If
2656// the context is nil a panic will occur. In the future the SDK may create
2657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2658// for more information on using Contexts.
2659func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
2660	req, out := c.DeleteDiskSnapshotRequest(input)
2661	req.SetContext(ctx)
2662	req.ApplyOptions(opts...)
2663	return out, req.Send()
2664}
2665
2666const opDeleteDomain = "DeleteDomain"
2667
2668// DeleteDomainRequest generates a "aws/request.Request" representing the
2669// client's request for the DeleteDomain operation. The "output" return
2670// value will be populated with the request's response once the request completes
2671// successfully.
2672//
2673// Use "Send" method on the returned Request to send the API call to the service.
2674// the "output" return value is not valid until after Send returns without error.
2675//
2676// See DeleteDomain for more information on using the DeleteDomain
2677// API call, and error handling.
2678//
2679// This method is useful when you want to inject custom logic or configuration
2680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2681//
2682//
2683//    // Example sending a request using the DeleteDomainRequest method.
2684//    req, resp := client.DeleteDomainRequest(params)
2685//
2686//    err := req.Send()
2687//    if err == nil { // resp is now filled
2688//        fmt.Println(resp)
2689//    }
2690//
2691// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
2692func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
2693	op := &request.Operation{
2694		Name:       opDeleteDomain,
2695		HTTPMethod: "POST",
2696		HTTPPath:   "/",
2697	}
2698
2699	if input == nil {
2700		input = &DeleteDomainInput{}
2701	}
2702
2703	output = &DeleteDomainOutput{}
2704	req = c.newRequest(op, input, output)
2705	return
2706}
2707
2708// DeleteDomain API operation for Amazon Lightsail.
2709//
2710// Deletes the specified domain recordset and all of its domain records.
2711//
2712// The delete domain operation supports tag-based access control via resource
2713// tags applied to the resource identified by domainName. For more information,
2714// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2715//
2716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2717// with awserr.Error's Code and Message methods to get detailed information about
2718// the error.
2719//
2720// See the AWS API reference guide for Amazon Lightsail's
2721// API operation DeleteDomain for usage and error information.
2722//
2723// Returned Error Codes:
2724//   * ErrCodeServiceException "ServiceException"
2725//   A general service exception.
2726//
2727//   * ErrCodeInvalidInputException "InvalidInputException"
2728//   Lightsail throws this exception when user input does not conform to the validation
2729//   rules of an input field.
2730//
2731//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2732//   Please set your AWS Region configuration to us-east-1 to create, view, or
2733//   edit these resources.
2734//
2735//   * ErrCodeNotFoundException "NotFoundException"
2736//   Lightsail throws this exception when it cannot find a resource.
2737//
2738//   * ErrCodeOperationFailureException "OperationFailureException"
2739//   Lightsail throws this exception when an operation fails to execute.
2740//
2741//   * ErrCodeAccessDeniedException "AccessDeniedException"
2742//   Lightsail throws this exception when the user cannot be authenticated or
2743//   uses invalid credentials to access a resource.
2744//
2745//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2746//   Lightsail throws this exception when an account is still in the setup in
2747//   progress state.
2748//
2749//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2750//   Lightsail throws this exception when the user has not been authenticated.
2751//
2752// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
2753func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
2754	req, out := c.DeleteDomainRequest(input)
2755	return out, req.Send()
2756}
2757
2758// DeleteDomainWithContext is the same as DeleteDomain with the addition of
2759// the ability to pass a context and additional request options.
2760//
2761// See DeleteDomain for details on how to use this API operation.
2762//
2763// The context must be non-nil and will be used for request cancellation. If
2764// the context is nil a panic will occur. In the future the SDK may create
2765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2766// for more information on using Contexts.
2767func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
2768	req, out := c.DeleteDomainRequest(input)
2769	req.SetContext(ctx)
2770	req.ApplyOptions(opts...)
2771	return out, req.Send()
2772}
2773
2774const opDeleteDomainEntry = "DeleteDomainEntry"
2775
2776// DeleteDomainEntryRequest generates a "aws/request.Request" representing the
2777// client's request for the DeleteDomainEntry operation. The "output" return
2778// value will be populated with the request's response once the request completes
2779// successfully.
2780//
2781// Use "Send" method on the returned Request to send the API call to the service.
2782// the "output" return value is not valid until after Send returns without error.
2783//
2784// See DeleteDomainEntry for more information on using the DeleteDomainEntry
2785// API call, and error handling.
2786//
2787// This method is useful when you want to inject custom logic or configuration
2788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2789//
2790//
2791//    // Example sending a request using the DeleteDomainEntryRequest method.
2792//    req, resp := client.DeleteDomainEntryRequest(params)
2793//
2794//    err := req.Send()
2795//    if err == nil { // resp is now filled
2796//        fmt.Println(resp)
2797//    }
2798//
2799// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
2800func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
2801	op := &request.Operation{
2802		Name:       opDeleteDomainEntry,
2803		HTTPMethod: "POST",
2804		HTTPPath:   "/",
2805	}
2806
2807	if input == nil {
2808		input = &DeleteDomainEntryInput{}
2809	}
2810
2811	output = &DeleteDomainEntryOutput{}
2812	req = c.newRequest(op, input, output)
2813	return
2814}
2815
2816// DeleteDomainEntry API operation for Amazon Lightsail.
2817//
2818// Deletes a specific domain entry.
2819//
2820// The delete domain entry operation supports tag-based access control via resource
2821// tags applied to the resource identified by domainName. For more information,
2822// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2823//
2824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2825// with awserr.Error's Code and Message methods to get detailed information about
2826// the error.
2827//
2828// See the AWS API reference guide for Amazon Lightsail's
2829// API operation DeleteDomainEntry for usage and error information.
2830//
2831// Returned Error Codes:
2832//   * ErrCodeServiceException "ServiceException"
2833//   A general service exception.
2834//
2835//   * ErrCodeInvalidInputException "InvalidInputException"
2836//   Lightsail throws this exception when user input does not conform to the validation
2837//   rules of an input field.
2838//
2839//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2840//   Please set your AWS Region configuration to us-east-1 to create, view, or
2841//   edit these resources.
2842//
2843//   * ErrCodeNotFoundException "NotFoundException"
2844//   Lightsail throws this exception when it cannot find a resource.
2845//
2846//   * ErrCodeOperationFailureException "OperationFailureException"
2847//   Lightsail throws this exception when an operation fails to execute.
2848//
2849//   * ErrCodeAccessDeniedException "AccessDeniedException"
2850//   Lightsail throws this exception when the user cannot be authenticated or
2851//   uses invalid credentials to access a resource.
2852//
2853//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2854//   Lightsail throws this exception when an account is still in the setup in
2855//   progress state.
2856//
2857//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2858//   Lightsail throws this exception when the user has not been authenticated.
2859//
2860// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
2861func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
2862	req, out := c.DeleteDomainEntryRequest(input)
2863	return out, req.Send()
2864}
2865
2866// DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
2867// the ability to pass a context and additional request options.
2868//
2869// See DeleteDomainEntry for details on how to use this API operation.
2870//
2871// The context must be non-nil and will be used for request cancellation. If
2872// the context is nil a panic will occur. In the future the SDK may create
2873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2874// for more information on using Contexts.
2875func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
2876	req, out := c.DeleteDomainEntryRequest(input)
2877	req.SetContext(ctx)
2878	req.ApplyOptions(opts...)
2879	return out, req.Send()
2880}
2881
2882const opDeleteInstance = "DeleteInstance"
2883
2884// DeleteInstanceRequest generates a "aws/request.Request" representing the
2885// client's request for the DeleteInstance operation. The "output" return
2886// value will be populated with the request's response once the request completes
2887// successfully.
2888//
2889// Use "Send" method on the returned Request to send the API call to the service.
2890// the "output" return value is not valid until after Send returns without error.
2891//
2892// See DeleteInstance for more information on using the DeleteInstance
2893// API call, and error handling.
2894//
2895// This method is useful when you want to inject custom logic or configuration
2896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2897//
2898//
2899//    // Example sending a request using the DeleteInstanceRequest method.
2900//    req, resp := client.DeleteInstanceRequest(params)
2901//
2902//    err := req.Send()
2903//    if err == nil { // resp is now filled
2904//        fmt.Println(resp)
2905//    }
2906//
2907// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
2908func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
2909	op := &request.Operation{
2910		Name:       opDeleteInstance,
2911		HTTPMethod: "POST",
2912		HTTPPath:   "/",
2913	}
2914
2915	if input == nil {
2916		input = &DeleteInstanceInput{}
2917	}
2918
2919	output = &DeleteInstanceOutput{}
2920	req = c.newRequest(op, input, output)
2921	return
2922}
2923
2924// DeleteInstance API operation for Amazon Lightsail.
2925//
2926// Deletes a specific Amazon Lightsail virtual private server, or instance.
2927//
2928// The delete instance operation supports tag-based access control via resource
2929// tags applied to the resource identified by instanceName. For more information,
2930// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2931//
2932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2933// with awserr.Error's Code and Message methods to get detailed information about
2934// the error.
2935//
2936// See the AWS API reference guide for Amazon Lightsail's
2937// API operation DeleteInstance for usage and error information.
2938//
2939// Returned Error Codes:
2940//   * ErrCodeServiceException "ServiceException"
2941//   A general service exception.
2942//
2943//   * ErrCodeInvalidInputException "InvalidInputException"
2944//   Lightsail throws this exception when user input does not conform to the validation
2945//   rules of an input field.
2946//
2947//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2948//   Please set your AWS Region configuration to us-east-1 to create, view, or
2949//   edit these resources.
2950//
2951//   * ErrCodeNotFoundException "NotFoundException"
2952//   Lightsail throws this exception when it cannot find a resource.
2953//
2954//   * ErrCodeOperationFailureException "OperationFailureException"
2955//   Lightsail throws this exception when an operation fails to execute.
2956//
2957//   * ErrCodeAccessDeniedException "AccessDeniedException"
2958//   Lightsail throws this exception when the user cannot be authenticated or
2959//   uses invalid credentials to access a resource.
2960//
2961//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2962//   Lightsail throws this exception when an account is still in the setup in
2963//   progress state.
2964//
2965//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2966//   Lightsail throws this exception when the user has not been authenticated.
2967//
2968// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
2969func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
2970	req, out := c.DeleteInstanceRequest(input)
2971	return out, req.Send()
2972}
2973
2974// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
2975// the ability to pass a context and additional request options.
2976//
2977// See DeleteInstance for details on how to use this API operation.
2978//
2979// The context must be non-nil and will be used for request cancellation. If
2980// the context is nil a panic will occur. In the future the SDK may create
2981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2982// for more information on using Contexts.
2983func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
2984	req, out := c.DeleteInstanceRequest(input)
2985	req.SetContext(ctx)
2986	req.ApplyOptions(opts...)
2987	return out, req.Send()
2988}
2989
2990const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
2991
2992// DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
2993// client's request for the DeleteInstanceSnapshot operation. The "output" return
2994// value will be populated with the request's response once the request completes
2995// successfully.
2996//
2997// Use "Send" method on the returned Request to send the API call to the service.
2998// the "output" return value is not valid until after Send returns without error.
2999//
3000// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
3001// API call, and error handling.
3002//
3003// This method is useful when you want to inject custom logic or configuration
3004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3005//
3006//
3007//    // Example sending a request using the DeleteInstanceSnapshotRequest method.
3008//    req, resp := client.DeleteInstanceSnapshotRequest(params)
3009//
3010//    err := req.Send()
3011//    if err == nil { // resp is now filled
3012//        fmt.Println(resp)
3013//    }
3014//
3015// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3016func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
3017	op := &request.Operation{
3018		Name:       opDeleteInstanceSnapshot,
3019		HTTPMethod: "POST",
3020		HTTPPath:   "/",
3021	}
3022
3023	if input == nil {
3024		input = &DeleteInstanceSnapshotInput{}
3025	}
3026
3027	output = &DeleteInstanceSnapshotOutput{}
3028	req = c.newRequest(op, input, output)
3029	return
3030}
3031
3032// DeleteInstanceSnapshot API operation for Amazon Lightsail.
3033//
3034// Deletes a specific snapshot of a virtual private server (or instance).
3035//
3036// The delete instance snapshot operation supports tag-based access control
3037// via resource tags applied to the resource identified by instanceSnapshotName.
3038// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3039//
3040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3041// with awserr.Error's Code and Message methods to get detailed information about
3042// the error.
3043//
3044// See the AWS API reference guide for Amazon Lightsail's
3045// API operation DeleteInstanceSnapshot for usage and error information.
3046//
3047// Returned Error Codes:
3048//   * ErrCodeServiceException "ServiceException"
3049//   A general service exception.
3050//
3051//   * ErrCodeInvalidInputException "InvalidInputException"
3052//   Lightsail throws this exception when user input does not conform to the validation
3053//   rules of an input field.
3054//
3055//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3056//   Please set your AWS Region configuration to us-east-1 to create, view, or
3057//   edit these resources.
3058//
3059//   * ErrCodeNotFoundException "NotFoundException"
3060//   Lightsail throws this exception when it cannot find a resource.
3061//
3062//   * ErrCodeOperationFailureException "OperationFailureException"
3063//   Lightsail throws this exception when an operation fails to execute.
3064//
3065//   * ErrCodeAccessDeniedException "AccessDeniedException"
3066//   Lightsail throws this exception when the user cannot be authenticated or
3067//   uses invalid credentials to access a resource.
3068//
3069//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3070//   Lightsail throws this exception when an account is still in the setup in
3071//   progress state.
3072//
3073//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3074//   Lightsail throws this exception when the user has not been authenticated.
3075//
3076// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3077func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
3078	req, out := c.DeleteInstanceSnapshotRequest(input)
3079	return out, req.Send()
3080}
3081
3082// DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
3083// the ability to pass a context and additional request options.
3084//
3085// See DeleteInstanceSnapshot for details on how to use this API operation.
3086//
3087// The context must be non-nil and will be used for request cancellation. If
3088// the context is nil a panic will occur. In the future the SDK may create
3089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3090// for more information on using Contexts.
3091func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
3092	req, out := c.DeleteInstanceSnapshotRequest(input)
3093	req.SetContext(ctx)
3094	req.ApplyOptions(opts...)
3095	return out, req.Send()
3096}
3097
3098const opDeleteKeyPair = "DeleteKeyPair"
3099
3100// DeleteKeyPairRequest generates a "aws/request.Request" representing the
3101// client's request for the DeleteKeyPair operation. The "output" return
3102// value will be populated with the request's response once the request completes
3103// successfully.
3104//
3105// Use "Send" method on the returned Request to send the API call to the service.
3106// the "output" return value is not valid until after Send returns without error.
3107//
3108// See DeleteKeyPair for more information on using the DeleteKeyPair
3109// API call, and error handling.
3110//
3111// This method is useful when you want to inject custom logic or configuration
3112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3113//
3114//
3115//    // Example sending a request using the DeleteKeyPairRequest method.
3116//    req, resp := client.DeleteKeyPairRequest(params)
3117//
3118//    err := req.Send()
3119//    if err == nil { // resp is now filled
3120//        fmt.Println(resp)
3121//    }
3122//
3123// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
3124func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
3125	op := &request.Operation{
3126		Name:       opDeleteKeyPair,
3127		HTTPMethod: "POST",
3128		HTTPPath:   "/",
3129	}
3130
3131	if input == nil {
3132		input = &DeleteKeyPairInput{}
3133	}
3134
3135	output = &DeleteKeyPairOutput{}
3136	req = c.newRequest(op, input, output)
3137	return
3138}
3139
3140// DeleteKeyPair API operation for Amazon Lightsail.
3141//
3142// Deletes a specific SSH key pair.
3143//
3144// The delete key pair operation supports tag-based access control via resource
3145// tags applied to the resource identified by keyPairName. For more information,
3146// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3147//
3148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3149// with awserr.Error's Code and Message methods to get detailed information about
3150// the error.
3151//
3152// See the AWS API reference guide for Amazon Lightsail's
3153// API operation DeleteKeyPair for usage and error information.
3154//
3155// Returned Error Codes:
3156//   * ErrCodeServiceException "ServiceException"
3157//   A general service exception.
3158//
3159//   * ErrCodeInvalidInputException "InvalidInputException"
3160//   Lightsail throws this exception when user input does not conform to the validation
3161//   rules of an input field.
3162//
3163//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3164//   Please set your AWS Region configuration to us-east-1 to create, view, or
3165//   edit these resources.
3166//
3167//   * ErrCodeNotFoundException "NotFoundException"
3168//   Lightsail throws this exception when it cannot find a resource.
3169//
3170//   * ErrCodeOperationFailureException "OperationFailureException"
3171//   Lightsail throws this exception when an operation fails to execute.
3172//
3173//   * ErrCodeAccessDeniedException "AccessDeniedException"
3174//   Lightsail throws this exception when the user cannot be authenticated or
3175//   uses invalid credentials to access a resource.
3176//
3177//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3178//   Lightsail throws this exception when an account is still in the setup in
3179//   progress state.
3180//
3181//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3182//   Lightsail throws this exception when the user has not been authenticated.
3183//
3184// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
3185func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
3186	req, out := c.DeleteKeyPairRequest(input)
3187	return out, req.Send()
3188}
3189
3190// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
3191// the ability to pass a context and additional request options.
3192//
3193// See DeleteKeyPair for details on how to use this API operation.
3194//
3195// The context must be non-nil and will be used for request cancellation. If
3196// the context is nil a panic will occur. In the future the SDK may create
3197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3198// for more information on using Contexts.
3199func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
3200	req, out := c.DeleteKeyPairRequest(input)
3201	req.SetContext(ctx)
3202	req.ApplyOptions(opts...)
3203	return out, req.Send()
3204}
3205
3206const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
3207
3208// DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
3209// client's request for the DeleteKnownHostKeys operation. The "output" return
3210// value will be populated with the request's response once the request completes
3211// successfully.
3212//
3213// Use "Send" method on the returned Request to send the API call to the service.
3214// the "output" return value is not valid until after Send returns without error.
3215//
3216// See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
3217// API call, and error handling.
3218//
3219// This method is useful when you want to inject custom logic or configuration
3220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3221//
3222//
3223//    // Example sending a request using the DeleteKnownHostKeysRequest method.
3224//    req, resp := client.DeleteKnownHostKeysRequest(params)
3225//
3226//    err := req.Send()
3227//    if err == nil { // resp is now filled
3228//        fmt.Println(resp)
3229//    }
3230//
3231// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
3232func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
3233	op := &request.Operation{
3234		Name:       opDeleteKnownHostKeys,
3235		HTTPMethod: "POST",
3236		HTTPPath:   "/",
3237	}
3238
3239	if input == nil {
3240		input = &DeleteKnownHostKeysInput{}
3241	}
3242
3243	output = &DeleteKnownHostKeysOutput{}
3244	req = c.newRequest(op, input, output)
3245	return
3246}
3247
3248// DeleteKnownHostKeys API operation for Amazon Lightsail.
3249//
3250// Deletes the known host key or certificate used by the Amazon Lightsail browser-based
3251// SSH or RDP clients to authenticate an instance. This operation enables the
3252// Lightsail browser-based SSH or RDP clients to connect to the instance after
3253// a host key mismatch.
3254//
3255// Perform this operation only if you were expecting the host key or certificate
3256// mismatch or if you are familiar with the new host key or certificate on the
3257// instance. For more information, see Troubleshooting connection issues when
3258// 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).
3259//
3260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3261// with awserr.Error's Code and Message methods to get detailed information about
3262// the error.
3263//
3264// See the AWS API reference guide for Amazon Lightsail's
3265// API operation DeleteKnownHostKeys for usage and error information.
3266//
3267// Returned Error Codes:
3268//   * ErrCodeServiceException "ServiceException"
3269//   A general service exception.
3270//
3271//   * ErrCodeInvalidInputException "InvalidInputException"
3272//   Lightsail throws this exception when user input does not conform to the validation
3273//   rules of an input field.
3274//
3275//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3276//   Please set your AWS Region configuration to us-east-1 to create, view, or
3277//   edit these resources.
3278//
3279//   * ErrCodeNotFoundException "NotFoundException"
3280//   Lightsail throws this exception when it cannot find a resource.
3281//
3282//   * ErrCodeOperationFailureException "OperationFailureException"
3283//   Lightsail throws this exception when an operation fails to execute.
3284//
3285//   * ErrCodeAccessDeniedException "AccessDeniedException"
3286//   Lightsail throws this exception when the user cannot be authenticated or
3287//   uses invalid credentials to access a resource.
3288//
3289//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3290//   Lightsail throws this exception when an account is still in the setup in
3291//   progress state.
3292//
3293//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3294//   Lightsail throws this exception when the user has not been authenticated.
3295//
3296// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
3297func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
3298	req, out := c.DeleteKnownHostKeysRequest(input)
3299	return out, req.Send()
3300}
3301
3302// DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
3303// the ability to pass a context and additional request options.
3304//
3305// See DeleteKnownHostKeys for details on how to use this API operation.
3306//
3307// The context must be non-nil and will be used for request cancellation. If
3308// the context is nil a panic will occur. In the future the SDK may create
3309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3310// for more information on using Contexts.
3311func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
3312	req, out := c.DeleteKnownHostKeysRequest(input)
3313	req.SetContext(ctx)
3314	req.ApplyOptions(opts...)
3315	return out, req.Send()
3316}
3317
3318const opDeleteLoadBalancer = "DeleteLoadBalancer"
3319
3320// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
3321// client's request for the DeleteLoadBalancer operation. The "output" return
3322// value will be populated with the request's response once the request completes
3323// successfully.
3324//
3325// Use "Send" method on the returned Request to send the API call to the service.
3326// the "output" return value is not valid until after Send returns without error.
3327//
3328// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
3329// API call, and error handling.
3330//
3331// This method is useful when you want to inject custom logic or configuration
3332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3333//
3334//
3335//    // Example sending a request using the DeleteLoadBalancerRequest method.
3336//    req, resp := client.DeleteLoadBalancerRequest(params)
3337//
3338//    err := req.Send()
3339//    if err == nil { // resp is now filled
3340//        fmt.Println(resp)
3341//    }
3342//
3343// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
3344func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
3345	op := &request.Operation{
3346		Name:       opDeleteLoadBalancer,
3347		HTTPMethod: "POST",
3348		HTTPPath:   "/",
3349	}
3350
3351	if input == nil {
3352		input = &DeleteLoadBalancerInput{}
3353	}
3354
3355	output = &DeleteLoadBalancerOutput{}
3356	req = c.newRequest(op, input, output)
3357	return
3358}
3359
3360// DeleteLoadBalancer API operation for Amazon Lightsail.
3361//
3362// Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
3363// Once the load balancer is deleted, you will need to create a new load balancer,
3364// create a new certificate, and verify domain ownership again.
3365//
3366// The delete load balancer operation supports tag-based access control via
3367// resource tags applied to the resource identified by loadBalancerName. For
3368// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3369//
3370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3371// with awserr.Error's Code and Message methods to get detailed information about
3372// the error.
3373//
3374// See the AWS API reference guide for Amazon Lightsail's
3375// API operation DeleteLoadBalancer for usage and error information.
3376//
3377// Returned Error Codes:
3378//   * ErrCodeServiceException "ServiceException"
3379//   A general service exception.
3380//
3381//   * ErrCodeInvalidInputException "InvalidInputException"
3382//   Lightsail throws this exception when user input does not conform to the validation
3383//   rules of an input field.
3384//
3385//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3386//   Please set your AWS Region configuration to us-east-1 to create, view, or
3387//   edit these resources.
3388//
3389//   * ErrCodeNotFoundException "NotFoundException"
3390//   Lightsail throws this exception when it cannot find a resource.
3391//
3392//   * ErrCodeOperationFailureException "OperationFailureException"
3393//   Lightsail throws this exception when an operation fails to execute.
3394//
3395//   * ErrCodeAccessDeniedException "AccessDeniedException"
3396//   Lightsail throws this exception when the user cannot be authenticated or
3397//   uses invalid credentials to access a resource.
3398//
3399//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3400//   Lightsail throws this exception when an account is still in the setup in
3401//   progress state.
3402//
3403//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3404//   Lightsail throws this exception when the user has not been authenticated.
3405//
3406// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
3407func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
3408	req, out := c.DeleteLoadBalancerRequest(input)
3409	return out, req.Send()
3410}
3411
3412// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
3413// the ability to pass a context and additional request options.
3414//
3415// See DeleteLoadBalancer for details on how to use this API operation.
3416//
3417// The context must be non-nil and will be used for request cancellation. If
3418// the context is nil a panic will occur. In the future the SDK may create
3419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3420// for more information on using Contexts.
3421func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
3422	req, out := c.DeleteLoadBalancerRequest(input)
3423	req.SetContext(ctx)
3424	req.ApplyOptions(opts...)
3425	return out, req.Send()
3426}
3427
3428const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
3429
3430// DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
3431// client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
3432// value will be populated with the request's response once the request completes
3433// successfully.
3434//
3435// Use "Send" method on the returned Request to send the API call to the service.
3436// the "output" return value is not valid until after Send returns without error.
3437//
3438// See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
3439// API call, and error handling.
3440//
3441// This method is useful when you want to inject custom logic or configuration
3442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3443//
3444//
3445//    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
3446//    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
3447//
3448//    err := req.Send()
3449//    if err == nil { // resp is now filled
3450//        fmt.Println(resp)
3451//    }
3452//
3453// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
3454func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
3455	op := &request.Operation{
3456		Name:       opDeleteLoadBalancerTlsCertificate,
3457		HTTPMethod: "POST",
3458		HTTPPath:   "/",
3459	}
3460
3461	if input == nil {
3462		input = &DeleteLoadBalancerTlsCertificateInput{}
3463	}
3464
3465	output = &DeleteLoadBalancerTlsCertificateOutput{}
3466	req = c.newRequest(op, input, output)
3467	return
3468}
3469
3470// DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
3471//
3472// Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
3473//
3474// The delete load balancer tls certificate operation supports tag-based access
3475// control via resource tags applied to the resource identified by loadBalancerName.
3476// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3477//
3478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3479// with awserr.Error's Code and Message methods to get detailed information about
3480// the error.
3481//
3482// See the AWS API reference guide for Amazon Lightsail's
3483// API operation DeleteLoadBalancerTlsCertificate for usage and error information.
3484//
3485// Returned Error Codes:
3486//   * ErrCodeServiceException "ServiceException"
3487//   A general service exception.
3488//
3489//   * ErrCodeInvalidInputException "InvalidInputException"
3490//   Lightsail throws this exception when user input does not conform to the validation
3491//   rules of an input field.
3492//
3493//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3494//   Please set your AWS Region configuration to us-east-1 to create, view, or
3495//   edit these resources.
3496//
3497//   * ErrCodeNotFoundException "NotFoundException"
3498//   Lightsail throws this exception when it cannot find a resource.
3499//
3500//   * ErrCodeOperationFailureException "OperationFailureException"
3501//   Lightsail throws this exception when an operation fails to execute.
3502//
3503//   * ErrCodeAccessDeniedException "AccessDeniedException"
3504//   Lightsail throws this exception when the user cannot be authenticated or
3505//   uses invalid credentials to access a resource.
3506//
3507//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3508//   Lightsail throws this exception when an account is still in the setup in
3509//   progress state.
3510//
3511//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3512//   Lightsail throws this exception when the user has not been authenticated.
3513//
3514// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
3515func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
3516	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
3517	return out, req.Send()
3518}
3519
3520// DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
3521// the ability to pass a context and additional request options.
3522//
3523// See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
3524//
3525// The context must be non-nil and will be used for request cancellation. If
3526// the context is nil a panic will occur. In the future the SDK may create
3527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3528// for more information on using Contexts.
3529func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
3530	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
3531	req.SetContext(ctx)
3532	req.ApplyOptions(opts...)
3533	return out, req.Send()
3534}
3535
3536const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
3537
3538// DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
3539// client's request for the DeleteRelationalDatabase operation. The "output" return
3540// value will be populated with the request's response once the request completes
3541// successfully.
3542//
3543// Use "Send" method on the returned Request to send the API call to the service.
3544// the "output" return value is not valid until after Send returns without error.
3545//
3546// See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
3547// API call, and error handling.
3548//
3549// This method is useful when you want to inject custom logic or configuration
3550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3551//
3552//
3553//    // Example sending a request using the DeleteRelationalDatabaseRequest method.
3554//    req, resp := client.DeleteRelationalDatabaseRequest(params)
3555//
3556//    err := req.Send()
3557//    if err == nil { // resp is now filled
3558//        fmt.Println(resp)
3559//    }
3560//
3561// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
3562func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
3563	op := &request.Operation{
3564		Name:       opDeleteRelationalDatabase,
3565		HTTPMethod: "POST",
3566		HTTPPath:   "/",
3567	}
3568
3569	if input == nil {
3570		input = &DeleteRelationalDatabaseInput{}
3571	}
3572
3573	output = &DeleteRelationalDatabaseOutput{}
3574	req = c.newRequest(op, input, output)
3575	return
3576}
3577
3578// DeleteRelationalDatabase API operation for Amazon Lightsail.
3579//
3580// Deletes a database in Amazon Lightsail.
3581//
3582// The delete relational database operation supports tag-based access control
3583// via resource tags applied to the resource identified by relationalDatabaseName.
3584// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3585//
3586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3587// with awserr.Error's Code and Message methods to get detailed information about
3588// the error.
3589//
3590// See the AWS API reference guide for Amazon Lightsail's
3591// API operation DeleteRelationalDatabase for usage and error information.
3592//
3593// Returned Error Codes:
3594//   * ErrCodeServiceException "ServiceException"
3595//   A general service exception.
3596//
3597//   * ErrCodeInvalidInputException "InvalidInputException"
3598//   Lightsail throws this exception when user input does not conform to the validation
3599//   rules of an input field.
3600//
3601//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3602//   Please set your AWS Region configuration to us-east-1 to create, view, or
3603//   edit these resources.
3604//
3605//   * ErrCodeNotFoundException "NotFoundException"
3606//   Lightsail throws this exception when it cannot find a resource.
3607//
3608//   * ErrCodeOperationFailureException "OperationFailureException"
3609//   Lightsail throws this exception when an operation fails to execute.
3610//
3611//   * ErrCodeAccessDeniedException "AccessDeniedException"
3612//   Lightsail throws this exception when the user cannot be authenticated or
3613//   uses invalid credentials to access a resource.
3614//
3615//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3616//   Lightsail throws this exception when an account is still in the setup in
3617//   progress state.
3618//
3619//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3620//   Lightsail throws this exception when the user has not been authenticated.
3621//
3622// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
3623func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
3624	req, out := c.DeleteRelationalDatabaseRequest(input)
3625	return out, req.Send()
3626}
3627
3628// DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
3629// the ability to pass a context and additional request options.
3630//
3631// See DeleteRelationalDatabase for details on how to use this API operation.
3632//
3633// The context must be non-nil and will be used for request cancellation. If
3634// the context is nil a panic will occur. In the future the SDK may create
3635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3636// for more information on using Contexts.
3637func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
3638	req, out := c.DeleteRelationalDatabaseRequest(input)
3639	req.SetContext(ctx)
3640	req.ApplyOptions(opts...)
3641	return out, req.Send()
3642}
3643
3644const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
3645
3646// DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
3647// client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
3648// value will be populated with the request's response once the request completes
3649// successfully.
3650//
3651// Use "Send" method on the returned Request to send the API call to the service.
3652// the "output" return value is not valid until after Send returns without error.
3653//
3654// See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
3655// API call, and error handling.
3656//
3657// This method is useful when you want to inject custom logic or configuration
3658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3659//
3660//
3661//    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
3662//    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
3663//
3664//    err := req.Send()
3665//    if err == nil { // resp is now filled
3666//        fmt.Println(resp)
3667//    }
3668//
3669// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
3670func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
3671	op := &request.Operation{
3672		Name:       opDeleteRelationalDatabaseSnapshot,
3673		HTTPMethod: "POST",
3674		HTTPPath:   "/",
3675	}
3676
3677	if input == nil {
3678		input = &DeleteRelationalDatabaseSnapshotInput{}
3679	}
3680
3681	output = &DeleteRelationalDatabaseSnapshotOutput{}
3682	req = c.newRequest(op, input, output)
3683	return
3684}
3685
3686// DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
3687//
3688// Deletes a database snapshot in Amazon Lightsail.
3689//
3690// The delete relational database snapshot operation supports tag-based access
3691// control via resource tags applied to the resource identified by relationalDatabaseName.
3692// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3693//
3694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3695// with awserr.Error's Code and Message methods to get detailed information about
3696// the error.
3697//
3698// See the AWS API reference guide for Amazon Lightsail's
3699// API operation DeleteRelationalDatabaseSnapshot for usage and error information.
3700//
3701// Returned Error Codes:
3702//   * ErrCodeServiceException "ServiceException"
3703//   A general service exception.
3704//
3705//   * ErrCodeInvalidInputException "InvalidInputException"
3706//   Lightsail throws this exception when user input does not conform to the validation
3707//   rules of an input field.
3708//
3709//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3710//   Please set your AWS Region configuration to us-east-1 to create, view, or
3711//   edit these resources.
3712//
3713//   * ErrCodeNotFoundException "NotFoundException"
3714//   Lightsail throws this exception when it cannot find a resource.
3715//
3716//   * ErrCodeOperationFailureException "OperationFailureException"
3717//   Lightsail throws this exception when an operation fails to execute.
3718//
3719//   * ErrCodeAccessDeniedException "AccessDeniedException"
3720//   Lightsail throws this exception when the user cannot be authenticated or
3721//   uses invalid credentials to access a resource.
3722//
3723//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3724//   Lightsail throws this exception when an account is still in the setup in
3725//   progress state.
3726//
3727//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3728//   Lightsail throws this exception when the user has not been authenticated.
3729//
3730// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
3731func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
3732	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
3733	return out, req.Send()
3734}
3735
3736// DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
3737// the ability to pass a context and additional request options.
3738//
3739// See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
3740//
3741// The context must be non-nil and will be used for request cancellation. If
3742// the context is nil a panic will occur. In the future the SDK may create
3743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3744// for more information on using Contexts.
3745func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
3746	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
3747	req.SetContext(ctx)
3748	req.ApplyOptions(opts...)
3749	return out, req.Send()
3750}
3751
3752const opDetachDisk = "DetachDisk"
3753
3754// DetachDiskRequest generates a "aws/request.Request" representing the
3755// client's request for the DetachDisk operation. The "output" return
3756// value will be populated with the request's response once the request completes
3757// successfully.
3758//
3759// Use "Send" method on the returned Request to send the API call to the service.
3760// the "output" return value is not valid until after Send returns without error.
3761//
3762// See DetachDisk for more information on using the DetachDisk
3763// API call, and error handling.
3764//
3765// This method is useful when you want to inject custom logic or configuration
3766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3767//
3768//
3769//    // Example sending a request using the DetachDiskRequest method.
3770//    req, resp := client.DetachDiskRequest(params)
3771//
3772//    err := req.Send()
3773//    if err == nil { // resp is now filled
3774//        fmt.Println(resp)
3775//    }
3776//
3777// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
3778func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
3779	op := &request.Operation{
3780		Name:       opDetachDisk,
3781		HTTPMethod: "POST",
3782		HTTPPath:   "/",
3783	}
3784
3785	if input == nil {
3786		input = &DetachDiskInput{}
3787	}
3788
3789	output = &DetachDiskOutput{}
3790	req = c.newRequest(op, input, output)
3791	return
3792}
3793
3794// DetachDisk API operation for Amazon Lightsail.
3795//
3796// Detaches a stopped block storage disk from a Lightsail instance. Make sure
3797// to unmount any file systems on the device within your operating system before
3798// stopping the instance and detaching the disk.
3799//
3800// The detach disk operation supports tag-based access control via resource
3801// tags applied to the resource identified by diskName. For more information,
3802// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3803//
3804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3805// with awserr.Error's Code and Message methods to get detailed information about
3806// the error.
3807//
3808// See the AWS API reference guide for Amazon Lightsail's
3809// API operation DetachDisk for usage and error information.
3810//
3811// Returned Error Codes:
3812//   * ErrCodeServiceException "ServiceException"
3813//   A general service exception.
3814//
3815//   * ErrCodeInvalidInputException "InvalidInputException"
3816//   Lightsail throws this exception when user input does not conform to the validation
3817//   rules of an input field.
3818//
3819//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3820//   Please set your AWS Region configuration to us-east-1 to create, view, or
3821//   edit these resources.
3822//
3823//   * ErrCodeNotFoundException "NotFoundException"
3824//   Lightsail throws this exception when it cannot find a resource.
3825//
3826//   * ErrCodeOperationFailureException "OperationFailureException"
3827//   Lightsail throws this exception when an operation fails to execute.
3828//
3829//   * ErrCodeAccessDeniedException "AccessDeniedException"
3830//   Lightsail throws this exception when the user cannot be authenticated or
3831//   uses invalid credentials to access a resource.
3832//
3833//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3834//   Lightsail throws this exception when an account is still in the setup in
3835//   progress state.
3836//
3837//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3838//   Lightsail throws this exception when the user has not been authenticated.
3839//
3840// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
3841func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
3842	req, out := c.DetachDiskRequest(input)
3843	return out, req.Send()
3844}
3845
3846// DetachDiskWithContext is the same as DetachDisk with the addition of
3847// the ability to pass a context and additional request options.
3848//
3849// See DetachDisk for details on how to use this API operation.
3850//
3851// The context must be non-nil and will be used for request cancellation. If
3852// the context is nil a panic will occur. In the future the SDK may create
3853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3854// for more information on using Contexts.
3855func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
3856	req, out := c.DetachDiskRequest(input)
3857	req.SetContext(ctx)
3858	req.ApplyOptions(opts...)
3859	return out, req.Send()
3860}
3861
3862const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
3863
3864// DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
3865// client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
3866// value will be populated with the request's response once the request completes
3867// successfully.
3868//
3869// Use "Send" method on the returned Request to send the API call to the service.
3870// the "output" return value is not valid until after Send returns without error.
3871//
3872// See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
3873// API call, and error handling.
3874//
3875// This method is useful when you want to inject custom logic or configuration
3876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3877//
3878//
3879//    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
3880//    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
3881//
3882//    err := req.Send()
3883//    if err == nil { // resp is now filled
3884//        fmt.Println(resp)
3885//    }
3886//
3887// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
3888func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
3889	op := &request.Operation{
3890		Name:       opDetachInstancesFromLoadBalancer,
3891		HTTPMethod: "POST",
3892		HTTPPath:   "/",
3893	}
3894
3895	if input == nil {
3896		input = &DetachInstancesFromLoadBalancerInput{}
3897	}
3898
3899	output = &DetachInstancesFromLoadBalancerOutput{}
3900	req = c.newRequest(op, input, output)
3901	return
3902}
3903
3904// DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
3905//
3906// Detaches the specified instances from a Lightsail load balancer.
3907//
3908// This operation waits until the instances are no longer needed before they
3909// are detached from the load balancer.
3910//
3911// The detach instances from load balancer operation supports tag-based access
3912// control via resource tags applied to the resource identified by loadBalancerName.
3913// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3914//
3915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3916// with awserr.Error's Code and Message methods to get detailed information about
3917// the error.
3918//
3919// See the AWS API reference guide for Amazon Lightsail's
3920// API operation DetachInstancesFromLoadBalancer for usage and error information.
3921//
3922// Returned Error Codes:
3923//   * ErrCodeServiceException "ServiceException"
3924//   A general service exception.
3925//
3926//   * ErrCodeInvalidInputException "InvalidInputException"
3927//   Lightsail throws this exception when user input does not conform to the validation
3928//   rules of an input field.
3929//
3930//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3931//   Please set your AWS Region configuration to us-east-1 to create, view, or
3932//   edit these resources.
3933//
3934//   * ErrCodeNotFoundException "NotFoundException"
3935//   Lightsail throws this exception when it cannot find a resource.
3936//
3937//   * ErrCodeOperationFailureException "OperationFailureException"
3938//   Lightsail throws this exception when an operation fails to execute.
3939//
3940//   * ErrCodeAccessDeniedException "AccessDeniedException"
3941//   Lightsail throws this exception when the user cannot be authenticated or
3942//   uses invalid credentials to access a resource.
3943//
3944//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3945//   Lightsail throws this exception when an account is still in the setup in
3946//   progress state.
3947//
3948//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3949//   Lightsail throws this exception when the user has not been authenticated.
3950//
3951// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
3952func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
3953	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
3954	return out, req.Send()
3955}
3956
3957// DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
3958// the ability to pass a context and additional request options.
3959//
3960// See DetachInstancesFromLoadBalancer for details on how to use this API operation.
3961//
3962// The context must be non-nil and will be used for request cancellation. If
3963// the context is nil a panic will occur. In the future the SDK may create
3964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3965// for more information on using Contexts.
3966func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
3967	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
3968	req.SetContext(ctx)
3969	req.ApplyOptions(opts...)
3970	return out, req.Send()
3971}
3972
3973const opDetachStaticIp = "DetachStaticIp"
3974
3975// DetachStaticIpRequest generates a "aws/request.Request" representing the
3976// client's request for the DetachStaticIp operation. The "output" return
3977// value will be populated with the request's response once the request completes
3978// successfully.
3979//
3980// Use "Send" method on the returned Request to send the API call to the service.
3981// the "output" return value is not valid until after Send returns without error.
3982//
3983// See DetachStaticIp for more information on using the DetachStaticIp
3984// API call, and error handling.
3985//
3986// This method is useful when you want to inject custom logic or configuration
3987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3988//
3989//
3990//    // Example sending a request using the DetachStaticIpRequest method.
3991//    req, resp := client.DetachStaticIpRequest(params)
3992//
3993//    err := req.Send()
3994//    if err == nil { // resp is now filled
3995//        fmt.Println(resp)
3996//    }
3997//
3998// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
3999func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
4000	op := &request.Operation{
4001		Name:       opDetachStaticIp,
4002		HTTPMethod: "POST",
4003		HTTPPath:   "/",
4004	}
4005
4006	if input == nil {
4007		input = &DetachStaticIpInput{}
4008	}
4009
4010	output = &DetachStaticIpOutput{}
4011	req = c.newRequest(op, input, output)
4012	return
4013}
4014
4015// DetachStaticIp API operation for Amazon Lightsail.
4016//
4017// Detaches a static IP from the Amazon Lightsail instance to which it is attached.
4018//
4019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4020// with awserr.Error's Code and Message methods to get detailed information about
4021// the error.
4022//
4023// See the AWS API reference guide for Amazon Lightsail's
4024// API operation DetachStaticIp for usage and error information.
4025//
4026// Returned Error Codes:
4027//   * ErrCodeServiceException "ServiceException"
4028//   A general service exception.
4029//
4030//   * ErrCodeInvalidInputException "InvalidInputException"
4031//   Lightsail throws this exception when user input does not conform to the validation
4032//   rules of an input field.
4033//
4034//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4035//   Please set your AWS Region configuration to us-east-1 to create, view, or
4036//   edit these resources.
4037//
4038//   * ErrCodeNotFoundException "NotFoundException"
4039//   Lightsail throws this exception when it cannot find a resource.
4040//
4041//   * ErrCodeOperationFailureException "OperationFailureException"
4042//   Lightsail throws this exception when an operation fails to execute.
4043//
4044//   * ErrCodeAccessDeniedException "AccessDeniedException"
4045//   Lightsail throws this exception when the user cannot be authenticated or
4046//   uses invalid credentials to access a resource.
4047//
4048//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4049//   Lightsail throws this exception when an account is still in the setup in
4050//   progress state.
4051//
4052//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4053//   Lightsail throws this exception when the user has not been authenticated.
4054//
4055// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
4056func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
4057	req, out := c.DetachStaticIpRequest(input)
4058	return out, req.Send()
4059}
4060
4061// DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
4062// the ability to pass a context and additional request options.
4063//
4064// See DetachStaticIp for details on how to use this API operation.
4065//
4066// The context must be non-nil and will be used for request cancellation. If
4067// the context is nil a panic will occur. In the future the SDK may create
4068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4069// for more information on using Contexts.
4070func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
4071	req, out := c.DetachStaticIpRequest(input)
4072	req.SetContext(ctx)
4073	req.ApplyOptions(opts...)
4074	return out, req.Send()
4075}
4076
4077const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
4078
4079// DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
4080// client's request for the DownloadDefaultKeyPair operation. The "output" return
4081// value will be populated with the request's response once the request completes
4082// successfully.
4083//
4084// Use "Send" method on the returned Request to send the API call to the service.
4085// the "output" return value is not valid until after Send returns without error.
4086//
4087// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
4088// API call, and error handling.
4089//
4090// This method is useful when you want to inject custom logic or configuration
4091// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4092//
4093//
4094//    // Example sending a request using the DownloadDefaultKeyPairRequest method.
4095//    req, resp := client.DownloadDefaultKeyPairRequest(params)
4096//
4097//    err := req.Send()
4098//    if err == nil { // resp is now filled
4099//        fmt.Println(resp)
4100//    }
4101//
4102// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
4103func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
4104	op := &request.Operation{
4105		Name:       opDownloadDefaultKeyPair,
4106		HTTPMethod: "POST",
4107		HTTPPath:   "/",
4108	}
4109
4110	if input == nil {
4111		input = &DownloadDefaultKeyPairInput{}
4112	}
4113
4114	output = &DownloadDefaultKeyPairOutput{}
4115	req = c.newRequest(op, input, output)
4116	return
4117}
4118
4119// DownloadDefaultKeyPair API operation for Amazon Lightsail.
4120//
4121// Downloads the default SSH key pair from the user's account.
4122//
4123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4124// with awserr.Error's Code and Message methods to get detailed information about
4125// the error.
4126//
4127// See the AWS API reference guide for Amazon Lightsail's
4128// API operation DownloadDefaultKeyPair for usage and error information.
4129//
4130// Returned Error Codes:
4131//   * ErrCodeServiceException "ServiceException"
4132//   A general service exception.
4133//
4134//   * ErrCodeInvalidInputException "InvalidInputException"
4135//   Lightsail throws this exception when user input does not conform to the validation
4136//   rules of an input field.
4137//
4138//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4139//   Please set your AWS Region configuration to us-east-1 to create, view, or
4140//   edit these resources.
4141//
4142//   * ErrCodeNotFoundException "NotFoundException"
4143//   Lightsail throws this exception when it cannot find a resource.
4144//
4145//   * ErrCodeOperationFailureException "OperationFailureException"
4146//   Lightsail throws this exception when an operation fails to execute.
4147//
4148//   * ErrCodeAccessDeniedException "AccessDeniedException"
4149//   Lightsail throws this exception when the user cannot be authenticated or
4150//   uses invalid credentials to access a resource.
4151//
4152//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4153//   Lightsail throws this exception when an account is still in the setup in
4154//   progress state.
4155//
4156//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4157//   Lightsail throws this exception when the user has not been authenticated.
4158//
4159// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
4160func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
4161	req, out := c.DownloadDefaultKeyPairRequest(input)
4162	return out, req.Send()
4163}
4164
4165// DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
4166// the ability to pass a context and additional request options.
4167//
4168// See DownloadDefaultKeyPair for details on how to use this API operation.
4169//
4170// The context must be non-nil and will be used for request cancellation. If
4171// the context is nil a panic will occur. In the future the SDK may create
4172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4173// for more information on using Contexts.
4174func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
4175	req, out := c.DownloadDefaultKeyPairRequest(input)
4176	req.SetContext(ctx)
4177	req.ApplyOptions(opts...)
4178	return out, req.Send()
4179}
4180
4181const opExportSnapshot = "ExportSnapshot"
4182
4183// ExportSnapshotRequest generates a "aws/request.Request" representing the
4184// client's request for the ExportSnapshot operation. The "output" return
4185// value will be populated with the request's response once the request completes
4186// successfully.
4187//
4188// Use "Send" method on the returned Request to send the API call to the service.
4189// the "output" return value is not valid until after Send returns without error.
4190//
4191// See ExportSnapshot for more information on using the ExportSnapshot
4192// API call, and error handling.
4193//
4194// This method is useful when you want to inject custom logic or configuration
4195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4196//
4197//
4198//    // Example sending a request using the ExportSnapshotRequest method.
4199//    req, resp := client.ExportSnapshotRequest(params)
4200//
4201//    err := req.Send()
4202//    if err == nil { // resp is now filled
4203//        fmt.Println(resp)
4204//    }
4205//
4206// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
4207func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
4208	op := &request.Operation{
4209		Name:       opExportSnapshot,
4210		HTTPMethod: "POST",
4211		HTTPPath:   "/",
4212	}
4213
4214	if input == nil {
4215		input = &ExportSnapshotInput{}
4216	}
4217
4218	output = &ExportSnapshotOutput{}
4219	req = c.newRequest(op, input, output)
4220	return
4221}
4222
4223// ExportSnapshot API operation for Amazon Lightsail.
4224//
4225// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
4226// Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
4227// record that can be used with the create cloud formation stack operation to
4228// create new Amazon EC2 instances.
4229//
4230// Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
4231// (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
4232// (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
4233// EBS volumes. Snapshots are exported to the same Amazon Web Services Region
4234// in Amazon EC2 as the source Lightsail snapshot.
4235//
4236// The export snapshot operation supports tag-based access control via resource
4237// tags applied to the resource identified by sourceSnapshotName. For more information,
4238// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4239//
4240// Use the get instance snapshots or get disk snapshots operations to get a
4241// list of snapshots that you can export to Amazon EC2.
4242//
4243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4244// with awserr.Error's Code and Message methods to get detailed information about
4245// the error.
4246//
4247// See the AWS API reference guide for Amazon Lightsail's
4248// API operation ExportSnapshot for usage and error information.
4249//
4250// Returned Error Codes:
4251//   * ErrCodeServiceException "ServiceException"
4252//   A general service exception.
4253//
4254//   * ErrCodeInvalidInputException "InvalidInputException"
4255//   Lightsail throws this exception when user input does not conform to the validation
4256//   rules of an input field.
4257//
4258//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4259//   Please set your AWS Region configuration to us-east-1 to create, view, or
4260//   edit these resources.
4261//
4262//   * ErrCodeNotFoundException "NotFoundException"
4263//   Lightsail throws this exception when it cannot find a resource.
4264//
4265//   * ErrCodeOperationFailureException "OperationFailureException"
4266//   Lightsail throws this exception when an operation fails to execute.
4267//
4268//   * ErrCodeAccessDeniedException "AccessDeniedException"
4269//   Lightsail throws this exception when the user cannot be authenticated or
4270//   uses invalid credentials to access a resource.
4271//
4272//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4273//   Lightsail throws this exception when an account is still in the setup in
4274//   progress state.
4275//
4276//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4277//   Lightsail throws this exception when the user has not been authenticated.
4278//
4279// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
4280func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
4281	req, out := c.ExportSnapshotRequest(input)
4282	return out, req.Send()
4283}
4284
4285// ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
4286// the ability to pass a context and additional request options.
4287//
4288// See ExportSnapshot for details on how to use this API operation.
4289//
4290// The context must be non-nil and will be used for request cancellation. If
4291// the context is nil a panic will occur. In the future the SDK may create
4292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4293// for more information on using Contexts.
4294func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
4295	req, out := c.ExportSnapshotRequest(input)
4296	req.SetContext(ctx)
4297	req.ApplyOptions(opts...)
4298	return out, req.Send()
4299}
4300
4301const opGetActiveNames = "GetActiveNames"
4302
4303// GetActiveNamesRequest generates a "aws/request.Request" representing the
4304// client's request for the GetActiveNames operation. The "output" return
4305// value will be populated with the request's response once the request completes
4306// successfully.
4307//
4308// Use "Send" method on the returned Request to send the API call to the service.
4309// the "output" return value is not valid until after Send returns without error.
4310//
4311// See GetActiveNames for more information on using the GetActiveNames
4312// API call, and error handling.
4313//
4314// This method is useful when you want to inject custom logic or configuration
4315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4316//
4317//
4318//    // Example sending a request using the GetActiveNamesRequest method.
4319//    req, resp := client.GetActiveNamesRequest(params)
4320//
4321//    err := req.Send()
4322//    if err == nil { // resp is now filled
4323//        fmt.Println(resp)
4324//    }
4325//
4326// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
4327func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
4328	op := &request.Operation{
4329		Name:       opGetActiveNames,
4330		HTTPMethod: "POST",
4331		HTTPPath:   "/",
4332	}
4333
4334	if input == nil {
4335		input = &GetActiveNamesInput{}
4336	}
4337
4338	output = &GetActiveNamesOutput{}
4339	req = c.newRequest(op, input, output)
4340	return
4341}
4342
4343// GetActiveNames API operation for Amazon Lightsail.
4344//
4345// Returns the names of all active (not deleted) resources.
4346//
4347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4348// with awserr.Error's Code and Message methods to get detailed information about
4349// the error.
4350//
4351// See the AWS API reference guide for Amazon Lightsail's
4352// API operation GetActiveNames for usage and error information.
4353//
4354// Returned Error Codes:
4355//   * ErrCodeServiceException "ServiceException"
4356//   A general service exception.
4357//
4358//   * ErrCodeInvalidInputException "InvalidInputException"
4359//   Lightsail throws this exception when user input does not conform to the validation
4360//   rules of an input field.
4361//
4362//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4363//   Please set your AWS Region configuration to us-east-1 to create, view, or
4364//   edit these resources.
4365//
4366//   * ErrCodeNotFoundException "NotFoundException"
4367//   Lightsail throws this exception when it cannot find a resource.
4368//
4369//   * ErrCodeOperationFailureException "OperationFailureException"
4370//   Lightsail throws this exception when an operation fails to execute.
4371//
4372//   * ErrCodeAccessDeniedException "AccessDeniedException"
4373//   Lightsail throws this exception when the user cannot be authenticated or
4374//   uses invalid credentials to access a resource.
4375//
4376//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4377//   Lightsail throws this exception when an account is still in the setup in
4378//   progress state.
4379//
4380//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4381//   Lightsail throws this exception when the user has not been authenticated.
4382//
4383// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
4384func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
4385	req, out := c.GetActiveNamesRequest(input)
4386	return out, req.Send()
4387}
4388
4389// GetActiveNamesWithContext is the same as GetActiveNames with the addition of
4390// the ability to pass a context and additional request options.
4391//
4392// See GetActiveNames for details on how to use this API operation.
4393//
4394// The context must be non-nil and will be used for request cancellation. If
4395// the context is nil a panic will occur. In the future the SDK may create
4396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4397// for more information on using Contexts.
4398func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
4399	req, out := c.GetActiveNamesRequest(input)
4400	req.SetContext(ctx)
4401	req.ApplyOptions(opts...)
4402	return out, req.Send()
4403}
4404
4405const opGetBlueprints = "GetBlueprints"
4406
4407// GetBlueprintsRequest generates a "aws/request.Request" representing the
4408// client's request for the GetBlueprints operation. The "output" return
4409// value will be populated with the request's response once the request completes
4410// successfully.
4411//
4412// Use "Send" method on the returned Request to send the API call to the service.
4413// the "output" return value is not valid until after Send returns without error.
4414//
4415// See GetBlueprints for more information on using the GetBlueprints
4416// API call, and error handling.
4417//
4418// This method is useful when you want to inject custom logic or configuration
4419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4420//
4421//
4422//    // Example sending a request using the GetBlueprintsRequest method.
4423//    req, resp := client.GetBlueprintsRequest(params)
4424//
4425//    err := req.Send()
4426//    if err == nil { // resp is now filled
4427//        fmt.Println(resp)
4428//    }
4429//
4430// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
4431func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
4432	op := &request.Operation{
4433		Name:       opGetBlueprints,
4434		HTTPMethod: "POST",
4435		HTTPPath:   "/",
4436	}
4437
4438	if input == nil {
4439		input = &GetBlueprintsInput{}
4440	}
4441
4442	output = &GetBlueprintsOutput{}
4443	req = c.newRequest(op, input, output)
4444	return
4445}
4446
4447// GetBlueprints API operation for Amazon Lightsail.
4448//
4449// Returns the list of available instance images, or blueprints. You can use
4450// a blueprint to create a new virtual private server already running a specific
4451// operating system, as well as a preinstalled app or development stack. The
4452// software each instance is running depends on the blueprint image you choose.
4453//
4454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4455// with awserr.Error's Code and Message methods to get detailed information about
4456// the error.
4457//
4458// See the AWS API reference guide for Amazon Lightsail's
4459// API operation GetBlueprints for usage and error information.
4460//
4461// Returned Error Codes:
4462//   * ErrCodeServiceException "ServiceException"
4463//   A general service exception.
4464//
4465//   * ErrCodeInvalidInputException "InvalidInputException"
4466//   Lightsail throws this exception when user input does not conform to the validation
4467//   rules of an input field.
4468//
4469//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4470//   Please set your AWS Region configuration to us-east-1 to create, view, or
4471//   edit these resources.
4472//
4473//   * ErrCodeNotFoundException "NotFoundException"
4474//   Lightsail throws this exception when it cannot find a resource.
4475//
4476//   * ErrCodeOperationFailureException "OperationFailureException"
4477//   Lightsail throws this exception when an operation fails to execute.
4478//
4479//   * ErrCodeAccessDeniedException "AccessDeniedException"
4480//   Lightsail throws this exception when the user cannot be authenticated or
4481//   uses invalid credentials to access a resource.
4482//
4483//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4484//   Lightsail throws this exception when an account is still in the setup in
4485//   progress state.
4486//
4487//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4488//   Lightsail throws this exception when the user has not been authenticated.
4489//
4490// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
4491func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
4492	req, out := c.GetBlueprintsRequest(input)
4493	return out, req.Send()
4494}
4495
4496// GetBlueprintsWithContext is the same as GetBlueprints with the addition of
4497// the ability to pass a context and additional request options.
4498//
4499// See GetBlueprints for details on how to use this API operation.
4500//
4501// The context must be non-nil and will be used for request cancellation. If
4502// the context is nil a panic will occur. In the future the SDK may create
4503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4504// for more information on using Contexts.
4505func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
4506	req, out := c.GetBlueprintsRequest(input)
4507	req.SetContext(ctx)
4508	req.ApplyOptions(opts...)
4509	return out, req.Send()
4510}
4511
4512const opGetBundles = "GetBundles"
4513
4514// GetBundlesRequest generates a "aws/request.Request" representing the
4515// client's request for the GetBundles operation. The "output" return
4516// value will be populated with the request's response once the request completes
4517// successfully.
4518//
4519// Use "Send" method on the returned Request to send the API call to the service.
4520// the "output" return value is not valid until after Send returns without error.
4521//
4522// See GetBundles for more information on using the GetBundles
4523// API call, and error handling.
4524//
4525// This method is useful when you want to inject custom logic or configuration
4526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4527//
4528//
4529//    // Example sending a request using the GetBundlesRequest method.
4530//    req, resp := client.GetBundlesRequest(params)
4531//
4532//    err := req.Send()
4533//    if err == nil { // resp is now filled
4534//        fmt.Println(resp)
4535//    }
4536//
4537// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
4538func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
4539	op := &request.Operation{
4540		Name:       opGetBundles,
4541		HTTPMethod: "POST",
4542		HTTPPath:   "/",
4543	}
4544
4545	if input == nil {
4546		input = &GetBundlesInput{}
4547	}
4548
4549	output = &GetBundlesOutput{}
4550	req = c.newRequest(op, input, output)
4551	return
4552}
4553
4554// GetBundles API operation for Amazon Lightsail.
4555//
4556// Returns the list of bundles that are available for purchase. A bundle describes
4557// the specs for your virtual private server (or instance).
4558//
4559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4560// with awserr.Error's Code and Message methods to get detailed information about
4561// the error.
4562//
4563// See the AWS API reference guide for Amazon Lightsail's
4564// API operation GetBundles for usage and error information.
4565//
4566// Returned Error Codes:
4567//   * ErrCodeServiceException "ServiceException"
4568//   A general service exception.
4569//
4570//   * ErrCodeInvalidInputException "InvalidInputException"
4571//   Lightsail throws this exception when user input does not conform to the validation
4572//   rules of an input field.
4573//
4574//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4575//   Please set your AWS Region configuration to us-east-1 to create, view, or
4576//   edit these resources.
4577//
4578//   * ErrCodeNotFoundException "NotFoundException"
4579//   Lightsail throws this exception when it cannot find a resource.
4580//
4581//   * ErrCodeOperationFailureException "OperationFailureException"
4582//   Lightsail throws this exception when an operation fails to execute.
4583//
4584//   * ErrCodeAccessDeniedException "AccessDeniedException"
4585//   Lightsail throws this exception when the user cannot be authenticated or
4586//   uses invalid credentials to access a resource.
4587//
4588//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4589//   Lightsail throws this exception when an account is still in the setup in
4590//   progress state.
4591//
4592//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4593//   Lightsail throws this exception when the user has not been authenticated.
4594//
4595// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
4596func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
4597	req, out := c.GetBundlesRequest(input)
4598	return out, req.Send()
4599}
4600
4601// GetBundlesWithContext is the same as GetBundles with the addition of
4602// the ability to pass a context and additional request options.
4603//
4604// See GetBundles for details on how to use this API operation.
4605//
4606// The context must be non-nil and will be used for request cancellation. If
4607// the context is nil a panic will occur. In the future the SDK may create
4608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4609// for more information on using Contexts.
4610func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
4611	req, out := c.GetBundlesRequest(input)
4612	req.SetContext(ctx)
4613	req.ApplyOptions(opts...)
4614	return out, req.Send()
4615}
4616
4617const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
4618
4619// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
4620// client's request for the GetCloudFormationStackRecords operation. The "output" return
4621// value will be populated with the request's response once the request completes
4622// successfully.
4623//
4624// Use "Send" method on the returned Request to send the API call to the service.
4625// the "output" return value is not valid until after Send returns without error.
4626//
4627// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
4628// API call, and error handling.
4629//
4630// This method is useful when you want to inject custom logic or configuration
4631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4632//
4633//
4634//    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
4635//    req, resp := client.GetCloudFormationStackRecordsRequest(params)
4636//
4637//    err := req.Send()
4638//    if err == nil { // resp is now filled
4639//        fmt.Println(resp)
4640//    }
4641//
4642// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
4643func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
4644	op := &request.Operation{
4645		Name:       opGetCloudFormationStackRecords,
4646		HTTPMethod: "POST",
4647		HTTPPath:   "/",
4648	}
4649
4650	if input == nil {
4651		input = &GetCloudFormationStackRecordsInput{}
4652	}
4653
4654	output = &GetCloudFormationStackRecordsOutput{}
4655	req = c.newRequest(op, input, output)
4656	return
4657}
4658
4659// GetCloudFormationStackRecords API operation for Amazon Lightsail.
4660//
4661// Returns the CloudFormation stack record created as a result of the create
4662// cloud formation stack operation.
4663//
4664// An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
4665// an exported Lightsail snapshot.
4666//
4667// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4668// with awserr.Error's Code and Message methods to get detailed information about
4669// the error.
4670//
4671// See the AWS API reference guide for Amazon Lightsail's
4672// API operation GetCloudFormationStackRecords for usage and error information.
4673//
4674// Returned Error Codes:
4675//   * ErrCodeServiceException "ServiceException"
4676//   A general service exception.
4677//
4678//   * ErrCodeInvalidInputException "InvalidInputException"
4679//   Lightsail throws this exception when user input does not conform to the validation
4680//   rules of an input field.
4681//
4682//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4683//   Please set your AWS Region configuration to us-east-1 to create, view, or
4684//   edit these resources.
4685//
4686//   * ErrCodeNotFoundException "NotFoundException"
4687//   Lightsail throws this exception when it cannot find a resource.
4688//
4689//   * ErrCodeOperationFailureException "OperationFailureException"
4690//   Lightsail throws this exception when an operation fails to execute.
4691//
4692//   * ErrCodeAccessDeniedException "AccessDeniedException"
4693//   Lightsail throws this exception when the user cannot be authenticated or
4694//   uses invalid credentials to access a resource.
4695//
4696//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4697//   Lightsail throws this exception when an account is still in the setup in
4698//   progress state.
4699//
4700//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4701//   Lightsail throws this exception when the user has not been authenticated.
4702//
4703// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
4704func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
4705	req, out := c.GetCloudFormationStackRecordsRequest(input)
4706	return out, req.Send()
4707}
4708
4709// GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
4710// the ability to pass a context and additional request options.
4711//
4712// See GetCloudFormationStackRecords for details on how to use this API operation.
4713//
4714// The context must be non-nil and will be used for request cancellation. If
4715// the context is nil a panic will occur. In the future the SDK may create
4716// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4717// for more information on using Contexts.
4718func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
4719	req, out := c.GetCloudFormationStackRecordsRequest(input)
4720	req.SetContext(ctx)
4721	req.ApplyOptions(opts...)
4722	return out, req.Send()
4723}
4724
4725const opGetDisk = "GetDisk"
4726
4727// GetDiskRequest generates a "aws/request.Request" representing the
4728// client's request for the GetDisk operation. The "output" return
4729// value will be populated with the request's response once the request completes
4730// successfully.
4731//
4732// Use "Send" method on the returned Request to send the API call to the service.
4733// the "output" return value is not valid until after Send returns without error.
4734//
4735// See GetDisk for more information on using the GetDisk
4736// API call, and error handling.
4737//
4738// This method is useful when you want to inject custom logic or configuration
4739// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4740//
4741//
4742//    // Example sending a request using the GetDiskRequest method.
4743//    req, resp := client.GetDiskRequest(params)
4744//
4745//    err := req.Send()
4746//    if err == nil { // resp is now filled
4747//        fmt.Println(resp)
4748//    }
4749//
4750// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
4751func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
4752	op := &request.Operation{
4753		Name:       opGetDisk,
4754		HTTPMethod: "POST",
4755		HTTPPath:   "/",
4756	}
4757
4758	if input == nil {
4759		input = &GetDiskInput{}
4760	}
4761
4762	output = &GetDiskOutput{}
4763	req = c.newRequest(op, input, output)
4764	return
4765}
4766
4767// GetDisk API operation for Amazon Lightsail.
4768//
4769// Returns information about a specific block storage disk.
4770//
4771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4772// with awserr.Error's Code and Message methods to get detailed information about
4773// the error.
4774//
4775// See the AWS API reference guide for Amazon Lightsail's
4776// API operation GetDisk for usage and error information.
4777//
4778// Returned Error Codes:
4779//   * ErrCodeServiceException "ServiceException"
4780//   A general service exception.
4781//
4782//   * ErrCodeInvalidInputException "InvalidInputException"
4783//   Lightsail throws this exception when user input does not conform to the validation
4784//   rules of an input field.
4785//
4786//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4787//   Please set your AWS Region configuration to us-east-1 to create, view, or
4788//   edit these resources.
4789//
4790//   * ErrCodeNotFoundException "NotFoundException"
4791//   Lightsail throws this exception when it cannot find a resource.
4792//
4793//   * ErrCodeOperationFailureException "OperationFailureException"
4794//   Lightsail throws this exception when an operation fails to execute.
4795//
4796//   * ErrCodeAccessDeniedException "AccessDeniedException"
4797//   Lightsail throws this exception when the user cannot be authenticated or
4798//   uses invalid credentials to access a resource.
4799//
4800//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4801//   Lightsail throws this exception when an account is still in the setup in
4802//   progress state.
4803//
4804//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4805//   Lightsail throws this exception when the user has not been authenticated.
4806//
4807// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
4808func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
4809	req, out := c.GetDiskRequest(input)
4810	return out, req.Send()
4811}
4812
4813// GetDiskWithContext is the same as GetDisk with the addition of
4814// the ability to pass a context and additional request options.
4815//
4816// See GetDisk for details on how to use this API operation.
4817//
4818// The context must be non-nil and will be used for request cancellation. If
4819// the context is nil a panic will occur. In the future the SDK may create
4820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4821// for more information on using Contexts.
4822func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
4823	req, out := c.GetDiskRequest(input)
4824	req.SetContext(ctx)
4825	req.ApplyOptions(opts...)
4826	return out, req.Send()
4827}
4828
4829const opGetDiskSnapshot = "GetDiskSnapshot"
4830
4831// GetDiskSnapshotRequest generates a "aws/request.Request" representing the
4832// client's request for the GetDiskSnapshot operation. The "output" return
4833// value will be populated with the request's response once the request completes
4834// successfully.
4835//
4836// Use "Send" method on the returned Request to send the API call to the service.
4837// the "output" return value is not valid until after Send returns without error.
4838//
4839// See GetDiskSnapshot for more information on using the GetDiskSnapshot
4840// API call, and error handling.
4841//
4842// This method is useful when you want to inject custom logic or configuration
4843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4844//
4845//
4846//    // Example sending a request using the GetDiskSnapshotRequest method.
4847//    req, resp := client.GetDiskSnapshotRequest(params)
4848//
4849//    err := req.Send()
4850//    if err == nil { // resp is now filled
4851//        fmt.Println(resp)
4852//    }
4853//
4854// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
4855func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
4856	op := &request.Operation{
4857		Name:       opGetDiskSnapshot,
4858		HTTPMethod: "POST",
4859		HTTPPath:   "/",
4860	}
4861
4862	if input == nil {
4863		input = &GetDiskSnapshotInput{}
4864	}
4865
4866	output = &GetDiskSnapshotOutput{}
4867	req = c.newRequest(op, input, output)
4868	return
4869}
4870
4871// GetDiskSnapshot API operation for Amazon Lightsail.
4872//
4873// Returns information about a specific block storage disk snapshot.
4874//
4875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4876// with awserr.Error's Code and Message methods to get detailed information about
4877// the error.
4878//
4879// See the AWS API reference guide for Amazon Lightsail's
4880// API operation GetDiskSnapshot for usage and error information.
4881//
4882// Returned Error Codes:
4883//   * ErrCodeServiceException "ServiceException"
4884//   A general service exception.
4885//
4886//   * ErrCodeInvalidInputException "InvalidInputException"
4887//   Lightsail throws this exception when user input does not conform to the validation
4888//   rules of an input field.
4889//
4890//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4891//   Please set your AWS Region configuration to us-east-1 to create, view, or
4892//   edit these resources.
4893//
4894//   * ErrCodeNotFoundException "NotFoundException"
4895//   Lightsail throws this exception when it cannot find a resource.
4896//
4897//   * ErrCodeOperationFailureException "OperationFailureException"
4898//   Lightsail throws this exception when an operation fails to execute.
4899//
4900//   * ErrCodeAccessDeniedException "AccessDeniedException"
4901//   Lightsail throws this exception when the user cannot be authenticated or
4902//   uses invalid credentials to access a resource.
4903//
4904//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4905//   Lightsail throws this exception when an account is still in the setup in
4906//   progress state.
4907//
4908//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4909//   Lightsail throws this exception when the user has not been authenticated.
4910//
4911// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
4912func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
4913	req, out := c.GetDiskSnapshotRequest(input)
4914	return out, req.Send()
4915}
4916
4917// GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
4918// the ability to pass a context and additional request options.
4919//
4920// See GetDiskSnapshot for details on how to use this API operation.
4921//
4922// The context must be non-nil and will be used for request cancellation. If
4923// the context is nil a panic will occur. In the future the SDK may create
4924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4925// for more information on using Contexts.
4926func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
4927	req, out := c.GetDiskSnapshotRequest(input)
4928	req.SetContext(ctx)
4929	req.ApplyOptions(opts...)
4930	return out, req.Send()
4931}
4932
4933const opGetDiskSnapshots = "GetDiskSnapshots"
4934
4935// GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
4936// client's request for the GetDiskSnapshots operation. The "output" return
4937// value will be populated with the request's response once the request completes
4938// successfully.
4939//
4940// Use "Send" method on the returned Request to send the API call to the service.
4941// the "output" return value is not valid until after Send returns without error.
4942//
4943// See GetDiskSnapshots for more information on using the GetDiskSnapshots
4944// API call, and error handling.
4945//
4946// This method is useful when you want to inject custom logic or configuration
4947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4948//
4949//
4950//    // Example sending a request using the GetDiskSnapshotsRequest method.
4951//    req, resp := client.GetDiskSnapshotsRequest(params)
4952//
4953//    err := req.Send()
4954//    if err == nil { // resp is now filled
4955//        fmt.Println(resp)
4956//    }
4957//
4958// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
4959func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
4960	op := &request.Operation{
4961		Name:       opGetDiskSnapshots,
4962		HTTPMethod: "POST",
4963		HTTPPath:   "/",
4964	}
4965
4966	if input == nil {
4967		input = &GetDiskSnapshotsInput{}
4968	}
4969
4970	output = &GetDiskSnapshotsOutput{}
4971	req = c.newRequest(op, input, output)
4972	return
4973}
4974
4975// GetDiskSnapshots API operation for Amazon Lightsail.
4976//
4977// Returns information about all block storage disk snapshots in your AWS account
4978// and region.
4979//
4980// If you are describing a long list of disk snapshots, you can paginate the
4981// output to make the list more manageable. You can use the pageToken and nextPageToken
4982// values to retrieve the next items in the list.
4983//
4984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4985// with awserr.Error's Code and Message methods to get detailed information about
4986// the error.
4987//
4988// See the AWS API reference guide for Amazon Lightsail's
4989// API operation GetDiskSnapshots for usage and error information.
4990//
4991// Returned Error Codes:
4992//   * ErrCodeServiceException "ServiceException"
4993//   A general service exception.
4994//
4995//   * ErrCodeInvalidInputException "InvalidInputException"
4996//   Lightsail throws this exception when user input does not conform to the validation
4997//   rules of an input field.
4998//
4999//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5000//   Please set your AWS Region configuration to us-east-1 to create, view, or
5001//   edit these resources.
5002//
5003//   * ErrCodeNotFoundException "NotFoundException"
5004//   Lightsail throws this exception when it cannot find a resource.
5005//
5006//   * ErrCodeOperationFailureException "OperationFailureException"
5007//   Lightsail throws this exception when an operation fails to execute.
5008//
5009//   * ErrCodeAccessDeniedException "AccessDeniedException"
5010//   Lightsail throws this exception when the user cannot be authenticated or
5011//   uses invalid credentials to access a resource.
5012//
5013//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5014//   Lightsail throws this exception when an account is still in the setup in
5015//   progress state.
5016//
5017//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5018//   Lightsail throws this exception when the user has not been authenticated.
5019//
5020// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
5021func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
5022	req, out := c.GetDiskSnapshotsRequest(input)
5023	return out, req.Send()
5024}
5025
5026// GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
5027// the ability to pass a context and additional request options.
5028//
5029// See GetDiskSnapshots for details on how to use this API operation.
5030//
5031// The context must be non-nil and will be used for request cancellation. If
5032// the context is nil a panic will occur. In the future the SDK may create
5033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5034// for more information on using Contexts.
5035func (c *Lightsail) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
5036	req, out := c.GetDiskSnapshotsRequest(input)
5037	req.SetContext(ctx)
5038	req.ApplyOptions(opts...)
5039	return out, req.Send()
5040}
5041
5042const opGetDisks = "GetDisks"
5043
5044// GetDisksRequest generates a "aws/request.Request" representing the
5045// client's request for the GetDisks operation. The "output" return
5046// value will be populated with the request's response once the request completes
5047// successfully.
5048//
5049// Use "Send" method on the returned Request to send the API call to the service.
5050// the "output" return value is not valid until after Send returns without error.
5051//
5052// See GetDisks for more information on using the GetDisks
5053// API call, and error handling.
5054//
5055// This method is useful when you want to inject custom logic or configuration
5056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5057//
5058//
5059//    // Example sending a request using the GetDisksRequest method.
5060//    req, resp := client.GetDisksRequest(params)
5061//
5062//    err := req.Send()
5063//    if err == nil { // resp is now filled
5064//        fmt.Println(resp)
5065//    }
5066//
5067// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
5068func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
5069	op := &request.Operation{
5070		Name:       opGetDisks,
5071		HTTPMethod: "POST",
5072		HTTPPath:   "/",
5073	}
5074
5075	if input == nil {
5076		input = &GetDisksInput{}
5077	}
5078
5079	output = &GetDisksOutput{}
5080	req = c.newRequest(op, input, output)
5081	return
5082}
5083
5084// GetDisks API operation for Amazon Lightsail.
5085//
5086// Returns information about all block storage disks in your AWS account and
5087// region.
5088//
5089// If you are describing a long list of disks, you can paginate the output to
5090// make the list more manageable. You can use the pageToken and nextPageToken
5091// values to retrieve the next items in the list.
5092//
5093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5094// with awserr.Error's Code and Message methods to get detailed information about
5095// the error.
5096//
5097// See the AWS API reference guide for Amazon Lightsail's
5098// API operation GetDisks for usage and error information.
5099//
5100// Returned Error Codes:
5101//   * ErrCodeServiceException "ServiceException"
5102//   A general service exception.
5103//
5104//   * ErrCodeInvalidInputException "InvalidInputException"
5105//   Lightsail throws this exception when user input does not conform to the validation
5106//   rules of an input field.
5107//
5108//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5109//   Please set your AWS Region configuration to us-east-1 to create, view, or
5110//   edit these resources.
5111//
5112//   * ErrCodeNotFoundException "NotFoundException"
5113//   Lightsail throws this exception when it cannot find a resource.
5114//
5115//   * ErrCodeOperationFailureException "OperationFailureException"
5116//   Lightsail throws this exception when an operation fails to execute.
5117//
5118//   * ErrCodeAccessDeniedException "AccessDeniedException"
5119//   Lightsail throws this exception when the user cannot be authenticated or
5120//   uses invalid credentials to access a resource.
5121//
5122//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5123//   Lightsail throws this exception when an account is still in the setup in
5124//   progress state.
5125//
5126//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5127//   Lightsail throws this exception when the user has not been authenticated.
5128//
5129// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
5130func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
5131	req, out := c.GetDisksRequest(input)
5132	return out, req.Send()
5133}
5134
5135// GetDisksWithContext is the same as GetDisks with the addition of
5136// the ability to pass a context and additional request options.
5137//
5138// See GetDisks for details on how to use this API operation.
5139//
5140// The context must be non-nil and will be used for request cancellation. If
5141// the context is nil a panic will occur. In the future the SDK may create
5142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5143// for more information on using Contexts.
5144func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
5145	req, out := c.GetDisksRequest(input)
5146	req.SetContext(ctx)
5147	req.ApplyOptions(opts...)
5148	return out, req.Send()
5149}
5150
5151const opGetDomain = "GetDomain"
5152
5153// GetDomainRequest generates a "aws/request.Request" representing the
5154// client's request for the GetDomain operation. The "output" return
5155// value will be populated with the request's response once the request completes
5156// successfully.
5157//
5158// Use "Send" method on the returned Request to send the API call to the service.
5159// the "output" return value is not valid until after Send returns without error.
5160//
5161// See GetDomain for more information on using the GetDomain
5162// API call, and error handling.
5163//
5164// This method is useful when you want to inject custom logic or configuration
5165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5166//
5167//
5168//    // Example sending a request using the GetDomainRequest method.
5169//    req, resp := client.GetDomainRequest(params)
5170//
5171//    err := req.Send()
5172//    if err == nil { // resp is now filled
5173//        fmt.Println(resp)
5174//    }
5175//
5176// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
5177func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
5178	op := &request.Operation{
5179		Name:       opGetDomain,
5180		HTTPMethod: "POST",
5181		HTTPPath:   "/",
5182	}
5183
5184	if input == nil {
5185		input = &GetDomainInput{}
5186	}
5187
5188	output = &GetDomainOutput{}
5189	req = c.newRequest(op, input, output)
5190	return
5191}
5192
5193// GetDomain API operation for Amazon Lightsail.
5194//
5195// Returns information about a specific domain recordset.
5196//
5197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5198// with awserr.Error's Code and Message methods to get detailed information about
5199// the error.
5200//
5201// See the AWS API reference guide for Amazon Lightsail's
5202// API operation GetDomain for usage and error information.
5203//
5204// Returned Error Codes:
5205//   * ErrCodeServiceException "ServiceException"
5206//   A general service exception.
5207//
5208//   * ErrCodeInvalidInputException "InvalidInputException"
5209//   Lightsail throws this exception when user input does not conform to the validation
5210//   rules of an input field.
5211//
5212//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5213//   Please set your AWS Region configuration to us-east-1 to create, view, or
5214//   edit these resources.
5215//
5216//   * ErrCodeNotFoundException "NotFoundException"
5217//   Lightsail throws this exception when it cannot find a resource.
5218//
5219//   * ErrCodeOperationFailureException "OperationFailureException"
5220//   Lightsail throws this exception when an operation fails to execute.
5221//
5222//   * ErrCodeAccessDeniedException "AccessDeniedException"
5223//   Lightsail throws this exception when the user cannot be authenticated or
5224//   uses invalid credentials to access a resource.
5225//
5226//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5227//   Lightsail throws this exception when an account is still in the setup in
5228//   progress state.
5229//
5230//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5231//   Lightsail throws this exception when the user has not been authenticated.
5232//
5233// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
5234func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
5235	req, out := c.GetDomainRequest(input)
5236	return out, req.Send()
5237}
5238
5239// GetDomainWithContext is the same as GetDomain with the addition of
5240// the ability to pass a context and additional request options.
5241//
5242// See GetDomain for details on how to use this API operation.
5243//
5244// The context must be non-nil and will be used for request cancellation. If
5245// the context is nil a panic will occur. In the future the SDK may create
5246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5247// for more information on using Contexts.
5248func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
5249	req, out := c.GetDomainRequest(input)
5250	req.SetContext(ctx)
5251	req.ApplyOptions(opts...)
5252	return out, req.Send()
5253}
5254
5255const opGetDomains = "GetDomains"
5256
5257// GetDomainsRequest generates a "aws/request.Request" representing the
5258// client's request for the GetDomains operation. The "output" return
5259// value will be populated with the request's response once the request completes
5260// successfully.
5261//
5262// Use "Send" method on the returned Request to send the API call to the service.
5263// the "output" return value is not valid until after Send returns without error.
5264//
5265// See GetDomains for more information on using the GetDomains
5266// API call, and error handling.
5267//
5268// This method is useful when you want to inject custom logic or configuration
5269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5270//
5271//
5272//    // Example sending a request using the GetDomainsRequest method.
5273//    req, resp := client.GetDomainsRequest(params)
5274//
5275//    err := req.Send()
5276//    if err == nil { // resp is now filled
5277//        fmt.Println(resp)
5278//    }
5279//
5280// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
5281func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
5282	op := &request.Operation{
5283		Name:       opGetDomains,
5284		HTTPMethod: "POST",
5285		HTTPPath:   "/",
5286	}
5287
5288	if input == nil {
5289		input = &GetDomainsInput{}
5290	}
5291
5292	output = &GetDomainsOutput{}
5293	req = c.newRequest(op, input, output)
5294	return
5295}
5296
5297// GetDomains API operation for Amazon Lightsail.
5298//
5299// Returns a list of all domains in the user's account.
5300//
5301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5302// with awserr.Error's Code and Message methods to get detailed information about
5303// the error.
5304//
5305// See the AWS API reference guide for Amazon Lightsail's
5306// API operation GetDomains for usage and error information.
5307//
5308// Returned Error Codes:
5309//   * ErrCodeServiceException "ServiceException"
5310//   A general service exception.
5311//
5312//   * ErrCodeInvalidInputException "InvalidInputException"
5313//   Lightsail throws this exception when user input does not conform to the validation
5314//   rules of an input field.
5315//
5316//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5317//   Please set your AWS Region configuration to us-east-1 to create, view, or
5318//   edit these resources.
5319//
5320//   * ErrCodeNotFoundException "NotFoundException"
5321//   Lightsail throws this exception when it cannot find a resource.
5322//
5323//   * ErrCodeOperationFailureException "OperationFailureException"
5324//   Lightsail throws this exception when an operation fails to execute.
5325//
5326//   * ErrCodeAccessDeniedException "AccessDeniedException"
5327//   Lightsail throws this exception when the user cannot be authenticated or
5328//   uses invalid credentials to access a resource.
5329//
5330//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5331//   Lightsail throws this exception when an account is still in the setup in
5332//   progress state.
5333//
5334//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5335//   Lightsail throws this exception when the user has not been authenticated.
5336//
5337// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
5338func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
5339	req, out := c.GetDomainsRequest(input)
5340	return out, req.Send()
5341}
5342
5343// GetDomainsWithContext is the same as GetDomains with the addition of
5344// the ability to pass a context and additional request options.
5345//
5346// See GetDomains for details on how to use this API operation.
5347//
5348// The context must be non-nil and will be used for request cancellation. If
5349// the context is nil a panic will occur. In the future the SDK may create
5350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5351// for more information on using Contexts.
5352func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
5353	req, out := c.GetDomainsRequest(input)
5354	req.SetContext(ctx)
5355	req.ApplyOptions(opts...)
5356	return out, req.Send()
5357}
5358
5359const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
5360
5361// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
5362// client's request for the GetExportSnapshotRecords operation. The "output" return
5363// value will be populated with the request's response once the request completes
5364// successfully.
5365//
5366// Use "Send" method on the returned Request to send the API call to the service.
5367// the "output" return value is not valid until after Send returns without error.
5368//
5369// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
5370// API call, and error handling.
5371//
5372// This method is useful when you want to inject custom logic or configuration
5373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5374//
5375//
5376//    // Example sending a request using the GetExportSnapshotRecordsRequest method.
5377//    req, resp := client.GetExportSnapshotRecordsRequest(params)
5378//
5379//    err := req.Send()
5380//    if err == nil { // resp is now filled
5381//        fmt.Println(resp)
5382//    }
5383//
5384// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
5385func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
5386	op := &request.Operation{
5387		Name:       opGetExportSnapshotRecords,
5388		HTTPMethod: "POST",
5389		HTTPPath:   "/",
5390	}
5391
5392	if input == nil {
5393		input = &GetExportSnapshotRecordsInput{}
5394	}
5395
5396	output = &GetExportSnapshotRecordsOutput{}
5397	req = c.newRequest(op, input, output)
5398	return
5399}
5400
5401// GetExportSnapshotRecords API operation for Amazon Lightsail.
5402//
5403// Returns the export snapshot record created as a result of the export snapshot
5404// operation.
5405//
5406// An export snapshot record can be used to create a new Amazon EC2 instance
5407// and its related resources with the create cloud formation stack operation.
5408//
5409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5410// with awserr.Error's Code and Message methods to get detailed information about
5411// the error.
5412//
5413// See the AWS API reference guide for Amazon Lightsail's
5414// API operation GetExportSnapshotRecords for usage and error information.
5415//
5416// Returned Error Codes:
5417//   * ErrCodeServiceException "ServiceException"
5418//   A general service exception.
5419//
5420//   * ErrCodeInvalidInputException "InvalidInputException"
5421//   Lightsail throws this exception when user input does not conform to the validation
5422//   rules of an input field.
5423//
5424//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5425//   Please set your AWS Region configuration to us-east-1 to create, view, or
5426//   edit these resources.
5427//
5428//   * ErrCodeNotFoundException "NotFoundException"
5429//   Lightsail throws this exception when it cannot find a resource.
5430//
5431//   * ErrCodeOperationFailureException "OperationFailureException"
5432//   Lightsail throws this exception when an operation fails to execute.
5433//
5434//   * ErrCodeAccessDeniedException "AccessDeniedException"
5435//   Lightsail throws this exception when the user cannot be authenticated or
5436//   uses invalid credentials to access a resource.
5437//
5438//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5439//   Lightsail throws this exception when an account is still in the setup in
5440//   progress state.
5441//
5442//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5443//   Lightsail throws this exception when the user has not been authenticated.
5444//
5445// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
5446func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
5447	req, out := c.GetExportSnapshotRecordsRequest(input)
5448	return out, req.Send()
5449}
5450
5451// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
5452// the ability to pass a context and additional request options.
5453//
5454// See GetExportSnapshotRecords for details on how to use this API operation.
5455//
5456// The context must be non-nil and will be used for request cancellation. If
5457// the context is nil a panic will occur. In the future the SDK may create
5458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5459// for more information on using Contexts.
5460func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
5461	req, out := c.GetExportSnapshotRecordsRequest(input)
5462	req.SetContext(ctx)
5463	req.ApplyOptions(opts...)
5464	return out, req.Send()
5465}
5466
5467const opGetInstance = "GetInstance"
5468
5469// GetInstanceRequest generates a "aws/request.Request" representing the
5470// client's request for the GetInstance operation. The "output" return
5471// value will be populated with the request's response once the request completes
5472// successfully.
5473//
5474// Use "Send" method on the returned Request to send the API call to the service.
5475// the "output" return value is not valid until after Send returns without error.
5476//
5477// See GetInstance for more information on using the GetInstance
5478// API call, and error handling.
5479//
5480// This method is useful when you want to inject custom logic or configuration
5481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5482//
5483//
5484//    // Example sending a request using the GetInstanceRequest method.
5485//    req, resp := client.GetInstanceRequest(params)
5486//
5487//    err := req.Send()
5488//    if err == nil { // resp is now filled
5489//        fmt.Println(resp)
5490//    }
5491//
5492// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
5493func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
5494	op := &request.Operation{
5495		Name:       opGetInstance,
5496		HTTPMethod: "POST",
5497		HTTPPath:   "/",
5498	}
5499
5500	if input == nil {
5501		input = &GetInstanceInput{}
5502	}
5503
5504	output = &GetInstanceOutput{}
5505	req = c.newRequest(op, input, output)
5506	return
5507}
5508
5509// GetInstance API operation for Amazon Lightsail.
5510//
5511// Returns information about a specific Amazon Lightsail instance, which is
5512// a virtual private server.
5513//
5514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5515// with awserr.Error's Code and Message methods to get detailed information about
5516// the error.
5517//
5518// See the AWS API reference guide for Amazon Lightsail's
5519// API operation GetInstance for usage and error information.
5520//
5521// Returned Error Codes:
5522//   * ErrCodeServiceException "ServiceException"
5523//   A general service exception.
5524//
5525//   * ErrCodeInvalidInputException "InvalidInputException"
5526//   Lightsail throws this exception when user input does not conform to the validation
5527//   rules of an input field.
5528//
5529//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5530//   Please set your AWS Region configuration to us-east-1 to create, view, or
5531//   edit these resources.
5532//
5533//   * ErrCodeNotFoundException "NotFoundException"
5534//   Lightsail throws this exception when it cannot find a resource.
5535//
5536//   * ErrCodeOperationFailureException "OperationFailureException"
5537//   Lightsail throws this exception when an operation fails to execute.
5538//
5539//   * ErrCodeAccessDeniedException "AccessDeniedException"
5540//   Lightsail throws this exception when the user cannot be authenticated or
5541//   uses invalid credentials to access a resource.
5542//
5543//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5544//   Lightsail throws this exception when an account is still in the setup in
5545//   progress state.
5546//
5547//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5548//   Lightsail throws this exception when the user has not been authenticated.
5549//
5550// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
5551func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
5552	req, out := c.GetInstanceRequest(input)
5553	return out, req.Send()
5554}
5555
5556// GetInstanceWithContext is the same as GetInstance with the addition of
5557// the ability to pass a context and additional request options.
5558//
5559// See GetInstance for details on how to use this API operation.
5560//
5561// The context must be non-nil and will be used for request cancellation. If
5562// the context is nil a panic will occur. In the future the SDK may create
5563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5564// for more information on using Contexts.
5565func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
5566	req, out := c.GetInstanceRequest(input)
5567	req.SetContext(ctx)
5568	req.ApplyOptions(opts...)
5569	return out, req.Send()
5570}
5571
5572const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
5573
5574// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
5575// client's request for the GetInstanceAccessDetails operation. The "output" return
5576// value will be populated with the request's response once the request completes
5577// successfully.
5578//
5579// Use "Send" method on the returned Request to send the API call to the service.
5580// the "output" return value is not valid until after Send returns without error.
5581//
5582// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
5583// API call, and error handling.
5584//
5585// This method is useful when you want to inject custom logic or configuration
5586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5587//
5588//
5589//    // Example sending a request using the GetInstanceAccessDetailsRequest method.
5590//    req, resp := client.GetInstanceAccessDetailsRequest(params)
5591//
5592//    err := req.Send()
5593//    if err == nil { // resp is now filled
5594//        fmt.Println(resp)
5595//    }
5596//
5597// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
5598func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
5599	op := &request.Operation{
5600		Name:       opGetInstanceAccessDetails,
5601		HTTPMethod: "POST",
5602		HTTPPath:   "/",
5603	}
5604
5605	if input == nil {
5606		input = &GetInstanceAccessDetailsInput{}
5607	}
5608
5609	output = &GetInstanceAccessDetailsOutput{}
5610	req = c.newRequest(op, input, output)
5611	return
5612}
5613
5614// GetInstanceAccessDetails API operation for Amazon Lightsail.
5615//
5616// Returns temporary SSH keys you can use to connect to a specific virtual private
5617// server, or instance.
5618//
5619// The get instance access details operation supports tag-based access control
5620// via resource tags applied to the resource identified by instanceName. For
5621// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
5622//
5623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5624// with awserr.Error's Code and Message methods to get detailed information about
5625// the error.
5626//
5627// See the AWS API reference guide for Amazon Lightsail's
5628// API operation GetInstanceAccessDetails for usage and error information.
5629//
5630// Returned Error Codes:
5631//   * ErrCodeServiceException "ServiceException"
5632//   A general service exception.
5633//
5634//   * ErrCodeInvalidInputException "InvalidInputException"
5635//   Lightsail throws this exception when user input does not conform to the validation
5636//   rules of an input field.
5637//
5638//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5639//   Please set your AWS Region configuration to us-east-1 to create, view, or
5640//   edit these resources.
5641//
5642//   * ErrCodeNotFoundException "NotFoundException"
5643//   Lightsail throws this exception when it cannot find a resource.
5644//
5645//   * ErrCodeOperationFailureException "OperationFailureException"
5646//   Lightsail throws this exception when an operation fails to execute.
5647//
5648//   * ErrCodeAccessDeniedException "AccessDeniedException"
5649//   Lightsail throws this exception when the user cannot be authenticated or
5650//   uses invalid credentials to access a resource.
5651//
5652//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5653//   Lightsail throws this exception when an account is still in the setup in
5654//   progress state.
5655//
5656//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5657//   Lightsail throws this exception when the user has not been authenticated.
5658//
5659// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
5660func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
5661	req, out := c.GetInstanceAccessDetailsRequest(input)
5662	return out, req.Send()
5663}
5664
5665// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
5666// the ability to pass a context and additional request options.
5667//
5668// See GetInstanceAccessDetails for details on how to use this API operation.
5669//
5670// The context must be non-nil and will be used for request cancellation. If
5671// the context is nil a panic will occur. In the future the SDK may create
5672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5673// for more information on using Contexts.
5674func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
5675	req, out := c.GetInstanceAccessDetailsRequest(input)
5676	req.SetContext(ctx)
5677	req.ApplyOptions(opts...)
5678	return out, req.Send()
5679}
5680
5681const opGetInstanceMetricData = "GetInstanceMetricData"
5682
5683// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
5684// client's request for the GetInstanceMetricData operation. The "output" return
5685// value will be populated with the request's response once the request completes
5686// successfully.
5687//
5688// Use "Send" method on the returned Request to send the API call to the service.
5689// the "output" return value is not valid until after Send returns without error.
5690//
5691// See GetInstanceMetricData for more information on using the GetInstanceMetricData
5692// API call, and error handling.
5693//
5694// This method is useful when you want to inject custom logic or configuration
5695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5696//
5697//
5698//    // Example sending a request using the GetInstanceMetricDataRequest method.
5699//    req, resp := client.GetInstanceMetricDataRequest(params)
5700//
5701//    err := req.Send()
5702//    if err == nil { // resp is now filled
5703//        fmt.Println(resp)
5704//    }
5705//
5706// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
5707func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
5708	op := &request.Operation{
5709		Name:       opGetInstanceMetricData,
5710		HTTPMethod: "POST",
5711		HTTPPath:   "/",
5712	}
5713
5714	if input == nil {
5715		input = &GetInstanceMetricDataInput{}
5716	}
5717
5718	output = &GetInstanceMetricDataOutput{}
5719	req = c.newRequest(op, input, output)
5720	return
5721}
5722
5723// GetInstanceMetricData API operation for Amazon Lightsail.
5724//
5725// Returns the data points for the specified Amazon Lightsail instance metric,
5726// given an instance name.
5727//
5728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5729// with awserr.Error's Code and Message methods to get detailed information about
5730// the error.
5731//
5732// See the AWS API reference guide for Amazon Lightsail's
5733// API operation GetInstanceMetricData for usage and error information.
5734//
5735// Returned Error Codes:
5736//   * ErrCodeServiceException "ServiceException"
5737//   A general service exception.
5738//
5739//   * ErrCodeInvalidInputException "InvalidInputException"
5740//   Lightsail throws this exception when user input does not conform to the validation
5741//   rules of an input field.
5742//
5743//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5744//   Please set your AWS Region configuration to us-east-1 to create, view, or
5745//   edit these resources.
5746//
5747//   * ErrCodeNotFoundException "NotFoundException"
5748//   Lightsail throws this exception when it cannot find a resource.
5749//
5750//   * ErrCodeOperationFailureException "OperationFailureException"
5751//   Lightsail throws this exception when an operation fails to execute.
5752//
5753//   * ErrCodeAccessDeniedException "AccessDeniedException"
5754//   Lightsail throws this exception when the user cannot be authenticated or
5755//   uses invalid credentials to access a resource.
5756//
5757//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5758//   Lightsail throws this exception when an account is still in the setup in
5759//   progress state.
5760//
5761//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5762//   Lightsail throws this exception when the user has not been authenticated.
5763//
5764// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
5765func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
5766	req, out := c.GetInstanceMetricDataRequest(input)
5767	return out, req.Send()
5768}
5769
5770// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
5771// the ability to pass a context and additional request options.
5772//
5773// See GetInstanceMetricData for details on how to use this API operation.
5774//
5775// The context must be non-nil and will be used for request cancellation. If
5776// the context is nil a panic will occur. In the future the SDK may create
5777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5778// for more information on using Contexts.
5779func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
5780	req, out := c.GetInstanceMetricDataRequest(input)
5781	req.SetContext(ctx)
5782	req.ApplyOptions(opts...)
5783	return out, req.Send()
5784}
5785
5786const opGetInstancePortStates = "GetInstancePortStates"
5787
5788// GetInstancePortStatesRequest generates a "aws/request.Request" representing the
5789// client's request for the GetInstancePortStates operation. The "output" return
5790// value will be populated with the request's response once the request completes
5791// successfully.
5792//
5793// Use "Send" method on the returned Request to send the API call to the service.
5794// the "output" return value is not valid until after Send returns without error.
5795//
5796// See GetInstancePortStates for more information on using the GetInstancePortStates
5797// API call, and error handling.
5798//
5799// This method is useful when you want to inject custom logic or configuration
5800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5801//
5802//
5803//    // Example sending a request using the GetInstancePortStatesRequest method.
5804//    req, resp := client.GetInstancePortStatesRequest(params)
5805//
5806//    err := req.Send()
5807//    if err == nil { // resp is now filled
5808//        fmt.Println(resp)
5809//    }
5810//
5811// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
5812func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
5813	op := &request.Operation{
5814		Name:       opGetInstancePortStates,
5815		HTTPMethod: "POST",
5816		HTTPPath:   "/",
5817	}
5818
5819	if input == nil {
5820		input = &GetInstancePortStatesInput{}
5821	}
5822
5823	output = &GetInstancePortStatesOutput{}
5824	req = c.newRequest(op, input, output)
5825	return
5826}
5827
5828// GetInstancePortStates API operation for Amazon Lightsail.
5829//
5830// Returns the port states for a specific virtual private server, or instance.
5831//
5832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5833// with awserr.Error's Code and Message methods to get detailed information about
5834// the error.
5835//
5836// See the AWS API reference guide for Amazon Lightsail's
5837// API operation GetInstancePortStates for usage and error information.
5838//
5839// Returned Error Codes:
5840//   * ErrCodeServiceException "ServiceException"
5841//   A general service exception.
5842//
5843//   * ErrCodeInvalidInputException "InvalidInputException"
5844//   Lightsail throws this exception when user input does not conform to the validation
5845//   rules of an input field.
5846//
5847//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5848//   Please set your AWS Region configuration to us-east-1 to create, view, or
5849//   edit these resources.
5850//
5851//   * ErrCodeNotFoundException "NotFoundException"
5852//   Lightsail throws this exception when it cannot find a resource.
5853//
5854//   * ErrCodeOperationFailureException "OperationFailureException"
5855//   Lightsail throws this exception when an operation fails to execute.
5856//
5857//   * ErrCodeAccessDeniedException "AccessDeniedException"
5858//   Lightsail throws this exception when the user cannot be authenticated or
5859//   uses invalid credentials to access a resource.
5860//
5861//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5862//   Lightsail throws this exception when an account is still in the setup in
5863//   progress state.
5864//
5865//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5866//   Lightsail throws this exception when the user has not been authenticated.
5867//
5868// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
5869func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
5870	req, out := c.GetInstancePortStatesRequest(input)
5871	return out, req.Send()
5872}
5873
5874// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
5875// the ability to pass a context and additional request options.
5876//
5877// See GetInstancePortStates for details on how to use this API operation.
5878//
5879// The context must be non-nil and will be used for request cancellation. If
5880// the context is nil a panic will occur. In the future the SDK may create
5881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5882// for more information on using Contexts.
5883func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
5884	req, out := c.GetInstancePortStatesRequest(input)
5885	req.SetContext(ctx)
5886	req.ApplyOptions(opts...)
5887	return out, req.Send()
5888}
5889
5890const opGetInstanceSnapshot = "GetInstanceSnapshot"
5891
5892// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
5893// client's request for the GetInstanceSnapshot operation. The "output" return
5894// value will be populated with the request's response once the request completes
5895// successfully.
5896//
5897// Use "Send" method on the returned Request to send the API call to the service.
5898// the "output" return value is not valid until after Send returns without error.
5899//
5900// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
5901// API call, and error handling.
5902//
5903// This method is useful when you want to inject custom logic or configuration
5904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5905//
5906//
5907//    // Example sending a request using the GetInstanceSnapshotRequest method.
5908//    req, resp := client.GetInstanceSnapshotRequest(params)
5909//
5910//    err := req.Send()
5911//    if err == nil { // resp is now filled
5912//        fmt.Println(resp)
5913//    }
5914//
5915// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
5916func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
5917	op := &request.Operation{
5918		Name:       opGetInstanceSnapshot,
5919		HTTPMethod: "POST",
5920		HTTPPath:   "/",
5921	}
5922
5923	if input == nil {
5924		input = &GetInstanceSnapshotInput{}
5925	}
5926
5927	output = &GetInstanceSnapshotOutput{}
5928	req = c.newRequest(op, input, output)
5929	return
5930}
5931
5932// GetInstanceSnapshot API operation for Amazon Lightsail.
5933//
5934// Returns information about a specific instance snapshot.
5935//
5936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5937// with awserr.Error's Code and Message methods to get detailed information about
5938// the error.
5939//
5940// See the AWS API reference guide for Amazon Lightsail's
5941// API operation GetInstanceSnapshot for usage and error information.
5942//
5943// Returned Error Codes:
5944//   * ErrCodeServiceException "ServiceException"
5945//   A general service exception.
5946//
5947//   * ErrCodeInvalidInputException "InvalidInputException"
5948//   Lightsail throws this exception when user input does not conform to the validation
5949//   rules of an input field.
5950//
5951//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5952//   Please set your AWS Region configuration to us-east-1 to create, view, or
5953//   edit these resources.
5954//
5955//   * ErrCodeNotFoundException "NotFoundException"
5956//   Lightsail throws this exception when it cannot find a resource.
5957//
5958//   * ErrCodeOperationFailureException "OperationFailureException"
5959//   Lightsail throws this exception when an operation fails to execute.
5960//
5961//   * ErrCodeAccessDeniedException "AccessDeniedException"
5962//   Lightsail throws this exception when the user cannot be authenticated or
5963//   uses invalid credentials to access a resource.
5964//
5965//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5966//   Lightsail throws this exception when an account is still in the setup in
5967//   progress state.
5968//
5969//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5970//   Lightsail throws this exception when the user has not been authenticated.
5971//
5972// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
5973func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
5974	req, out := c.GetInstanceSnapshotRequest(input)
5975	return out, req.Send()
5976}
5977
5978// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
5979// the ability to pass a context and additional request options.
5980//
5981// See GetInstanceSnapshot for details on how to use this API operation.
5982//
5983// The context must be non-nil and will be used for request cancellation. If
5984// the context is nil a panic will occur. In the future the SDK may create
5985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5986// for more information on using Contexts.
5987func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
5988	req, out := c.GetInstanceSnapshotRequest(input)
5989	req.SetContext(ctx)
5990	req.ApplyOptions(opts...)
5991	return out, req.Send()
5992}
5993
5994const opGetInstanceSnapshots = "GetInstanceSnapshots"
5995
5996// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
5997// client's request for the GetInstanceSnapshots operation. The "output" return
5998// value will be populated with the request's response once the request completes
5999// successfully.
6000//
6001// Use "Send" method on the returned Request to send the API call to the service.
6002// the "output" return value is not valid until after Send returns without error.
6003//
6004// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
6005// API call, and error handling.
6006//
6007// This method is useful when you want to inject custom logic or configuration
6008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6009//
6010//
6011//    // Example sending a request using the GetInstanceSnapshotsRequest method.
6012//    req, resp := client.GetInstanceSnapshotsRequest(params)
6013//
6014//    err := req.Send()
6015//    if err == nil { // resp is now filled
6016//        fmt.Println(resp)
6017//    }
6018//
6019// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
6020func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
6021	op := &request.Operation{
6022		Name:       opGetInstanceSnapshots,
6023		HTTPMethod: "POST",
6024		HTTPPath:   "/",
6025	}
6026
6027	if input == nil {
6028		input = &GetInstanceSnapshotsInput{}
6029	}
6030
6031	output = &GetInstanceSnapshotsOutput{}
6032	req = c.newRequest(op, input, output)
6033	return
6034}
6035
6036// GetInstanceSnapshots API operation for Amazon Lightsail.
6037//
6038// Returns all instance snapshots for the user's account.
6039//
6040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6041// with awserr.Error's Code and Message methods to get detailed information about
6042// the error.
6043//
6044// See the AWS API reference guide for Amazon Lightsail's
6045// API operation GetInstanceSnapshots for usage and error information.
6046//
6047// Returned Error Codes:
6048//   * ErrCodeServiceException "ServiceException"
6049//   A general service exception.
6050//
6051//   * ErrCodeInvalidInputException "InvalidInputException"
6052//   Lightsail throws this exception when user input does not conform to the validation
6053//   rules of an input field.
6054//
6055//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6056//   Please set your AWS Region configuration to us-east-1 to create, view, or
6057//   edit these resources.
6058//
6059//   * ErrCodeNotFoundException "NotFoundException"
6060//   Lightsail throws this exception when it cannot find a resource.
6061//
6062//   * ErrCodeOperationFailureException "OperationFailureException"
6063//   Lightsail throws this exception when an operation fails to execute.
6064//
6065//   * ErrCodeAccessDeniedException "AccessDeniedException"
6066//   Lightsail throws this exception when the user cannot be authenticated or
6067//   uses invalid credentials to access a resource.
6068//
6069//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6070//   Lightsail throws this exception when an account is still in the setup in
6071//   progress state.
6072//
6073//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6074//   Lightsail throws this exception when the user has not been authenticated.
6075//
6076// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
6077func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
6078	req, out := c.GetInstanceSnapshotsRequest(input)
6079	return out, req.Send()
6080}
6081
6082// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
6083// the ability to pass a context and additional request options.
6084//
6085// See GetInstanceSnapshots for details on how to use this API operation.
6086//
6087// The context must be non-nil and will be used for request cancellation. If
6088// the context is nil a panic will occur. In the future the SDK may create
6089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6090// for more information on using Contexts.
6091func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
6092	req, out := c.GetInstanceSnapshotsRequest(input)
6093	req.SetContext(ctx)
6094	req.ApplyOptions(opts...)
6095	return out, req.Send()
6096}
6097
6098const opGetInstanceState = "GetInstanceState"
6099
6100// GetInstanceStateRequest generates a "aws/request.Request" representing the
6101// client's request for the GetInstanceState operation. The "output" return
6102// value will be populated with the request's response once the request completes
6103// successfully.
6104//
6105// Use "Send" method on the returned Request to send the API call to the service.
6106// the "output" return value is not valid until after Send returns without error.
6107//
6108// See GetInstanceState for more information on using the GetInstanceState
6109// API call, and error handling.
6110//
6111// This method is useful when you want to inject custom logic or configuration
6112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6113//
6114//
6115//    // Example sending a request using the GetInstanceStateRequest method.
6116//    req, resp := client.GetInstanceStateRequest(params)
6117//
6118//    err := req.Send()
6119//    if err == nil { // resp is now filled
6120//        fmt.Println(resp)
6121//    }
6122//
6123// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
6124func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
6125	op := &request.Operation{
6126		Name:       opGetInstanceState,
6127		HTTPMethod: "POST",
6128		HTTPPath:   "/",
6129	}
6130
6131	if input == nil {
6132		input = &GetInstanceStateInput{}
6133	}
6134
6135	output = &GetInstanceStateOutput{}
6136	req = c.newRequest(op, input, output)
6137	return
6138}
6139
6140// GetInstanceState API operation for Amazon Lightsail.
6141//
6142// Returns the state of a specific instance. Works on one instance at a time.
6143//
6144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6145// with awserr.Error's Code and Message methods to get detailed information about
6146// the error.
6147//
6148// See the AWS API reference guide for Amazon Lightsail's
6149// API operation GetInstanceState for usage and error information.
6150//
6151// Returned Error Codes:
6152//   * ErrCodeServiceException "ServiceException"
6153//   A general service exception.
6154//
6155//   * ErrCodeInvalidInputException "InvalidInputException"
6156//   Lightsail throws this exception when user input does not conform to the validation
6157//   rules of an input field.
6158//
6159//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6160//   Please set your AWS Region configuration to us-east-1 to create, view, or
6161//   edit these resources.
6162//
6163//   * ErrCodeNotFoundException "NotFoundException"
6164//   Lightsail throws this exception when it cannot find a resource.
6165//
6166//   * ErrCodeOperationFailureException "OperationFailureException"
6167//   Lightsail throws this exception when an operation fails to execute.
6168//
6169//   * ErrCodeAccessDeniedException "AccessDeniedException"
6170//   Lightsail throws this exception when the user cannot be authenticated or
6171//   uses invalid credentials to access a resource.
6172//
6173//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6174//   Lightsail throws this exception when an account is still in the setup in
6175//   progress state.
6176//
6177//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6178//   Lightsail throws this exception when the user has not been authenticated.
6179//
6180// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
6181func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
6182	req, out := c.GetInstanceStateRequest(input)
6183	return out, req.Send()
6184}
6185
6186// GetInstanceStateWithContext is the same as GetInstanceState with the addition of
6187// the ability to pass a context and additional request options.
6188//
6189// See GetInstanceState for details on how to use this API operation.
6190//
6191// The context must be non-nil and will be used for request cancellation. If
6192// the context is nil a panic will occur. In the future the SDK may create
6193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6194// for more information on using Contexts.
6195func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
6196	req, out := c.GetInstanceStateRequest(input)
6197	req.SetContext(ctx)
6198	req.ApplyOptions(opts...)
6199	return out, req.Send()
6200}
6201
6202const opGetInstances = "GetInstances"
6203
6204// GetInstancesRequest generates a "aws/request.Request" representing the
6205// client's request for the GetInstances operation. The "output" return
6206// value will be populated with the request's response once the request completes
6207// successfully.
6208//
6209// Use "Send" method on the returned Request to send the API call to the service.
6210// the "output" return value is not valid until after Send returns without error.
6211//
6212// See GetInstances for more information on using the GetInstances
6213// API call, and error handling.
6214//
6215// This method is useful when you want to inject custom logic or configuration
6216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6217//
6218//
6219//    // Example sending a request using the GetInstancesRequest method.
6220//    req, resp := client.GetInstancesRequest(params)
6221//
6222//    err := req.Send()
6223//    if err == nil { // resp is now filled
6224//        fmt.Println(resp)
6225//    }
6226//
6227// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
6228func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
6229	op := &request.Operation{
6230		Name:       opGetInstances,
6231		HTTPMethod: "POST",
6232		HTTPPath:   "/",
6233	}
6234
6235	if input == nil {
6236		input = &GetInstancesInput{}
6237	}
6238
6239	output = &GetInstancesOutput{}
6240	req = c.newRequest(op, input, output)
6241	return
6242}
6243
6244// GetInstances API operation for Amazon Lightsail.
6245//
6246// Returns information about all Amazon Lightsail virtual private servers, or
6247// instances.
6248//
6249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6250// with awserr.Error's Code and Message methods to get detailed information about
6251// the error.
6252//
6253// See the AWS API reference guide for Amazon Lightsail's
6254// API operation GetInstances for usage and error information.
6255//
6256// Returned Error Codes:
6257//   * ErrCodeServiceException "ServiceException"
6258//   A general service exception.
6259//
6260//   * ErrCodeInvalidInputException "InvalidInputException"
6261//   Lightsail throws this exception when user input does not conform to the validation
6262//   rules of an input field.
6263//
6264//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6265//   Please set your AWS Region configuration to us-east-1 to create, view, or
6266//   edit these resources.
6267//
6268//   * ErrCodeNotFoundException "NotFoundException"
6269//   Lightsail throws this exception when it cannot find a resource.
6270//
6271//   * ErrCodeOperationFailureException "OperationFailureException"
6272//   Lightsail throws this exception when an operation fails to execute.
6273//
6274//   * ErrCodeAccessDeniedException "AccessDeniedException"
6275//   Lightsail throws this exception when the user cannot be authenticated or
6276//   uses invalid credentials to access a resource.
6277//
6278//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6279//   Lightsail throws this exception when an account is still in the setup in
6280//   progress state.
6281//
6282//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6283//   Lightsail throws this exception when the user has not been authenticated.
6284//
6285// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
6286func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
6287	req, out := c.GetInstancesRequest(input)
6288	return out, req.Send()
6289}
6290
6291// GetInstancesWithContext is the same as GetInstances with the addition of
6292// the ability to pass a context and additional request options.
6293//
6294// See GetInstances for details on how to use this API operation.
6295//
6296// The context must be non-nil and will be used for request cancellation. If
6297// the context is nil a panic will occur. In the future the SDK may create
6298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6299// for more information on using Contexts.
6300func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
6301	req, out := c.GetInstancesRequest(input)
6302	req.SetContext(ctx)
6303	req.ApplyOptions(opts...)
6304	return out, req.Send()
6305}
6306
6307const opGetKeyPair = "GetKeyPair"
6308
6309// GetKeyPairRequest generates a "aws/request.Request" representing the
6310// client's request for the GetKeyPair operation. The "output" return
6311// value will be populated with the request's response once the request completes
6312// successfully.
6313//
6314// Use "Send" method on the returned Request to send the API call to the service.
6315// the "output" return value is not valid until after Send returns without error.
6316//
6317// See GetKeyPair for more information on using the GetKeyPair
6318// API call, and error handling.
6319//
6320// This method is useful when you want to inject custom logic or configuration
6321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6322//
6323//
6324//    // Example sending a request using the GetKeyPairRequest method.
6325//    req, resp := client.GetKeyPairRequest(params)
6326//
6327//    err := req.Send()
6328//    if err == nil { // resp is now filled
6329//        fmt.Println(resp)
6330//    }
6331//
6332// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
6333func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
6334	op := &request.Operation{
6335		Name:       opGetKeyPair,
6336		HTTPMethod: "POST",
6337		HTTPPath:   "/",
6338	}
6339
6340	if input == nil {
6341		input = &GetKeyPairInput{}
6342	}
6343
6344	output = &GetKeyPairOutput{}
6345	req = c.newRequest(op, input, output)
6346	return
6347}
6348
6349// GetKeyPair API operation for Amazon Lightsail.
6350//
6351// Returns information about a specific key pair.
6352//
6353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6354// with awserr.Error's Code and Message methods to get detailed information about
6355// the error.
6356//
6357// See the AWS API reference guide for Amazon Lightsail's
6358// API operation GetKeyPair for usage and error information.
6359//
6360// Returned Error Codes:
6361//   * ErrCodeServiceException "ServiceException"
6362//   A general service exception.
6363//
6364//   * ErrCodeInvalidInputException "InvalidInputException"
6365//   Lightsail throws this exception when user input does not conform to the validation
6366//   rules of an input field.
6367//
6368//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6369//   Please set your AWS Region configuration to us-east-1 to create, view, or
6370//   edit these resources.
6371//
6372//   * ErrCodeNotFoundException "NotFoundException"
6373//   Lightsail throws this exception when it cannot find a resource.
6374//
6375//   * ErrCodeOperationFailureException "OperationFailureException"
6376//   Lightsail throws this exception when an operation fails to execute.
6377//
6378//   * ErrCodeAccessDeniedException "AccessDeniedException"
6379//   Lightsail throws this exception when the user cannot be authenticated or
6380//   uses invalid credentials to access a resource.
6381//
6382//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6383//   Lightsail throws this exception when an account is still in the setup in
6384//   progress state.
6385//
6386//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6387//   Lightsail throws this exception when the user has not been authenticated.
6388//
6389// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
6390func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
6391	req, out := c.GetKeyPairRequest(input)
6392	return out, req.Send()
6393}
6394
6395// GetKeyPairWithContext is the same as GetKeyPair with the addition of
6396// the ability to pass a context and additional request options.
6397//
6398// See GetKeyPair for details on how to use this API operation.
6399//
6400// The context must be non-nil and will be used for request cancellation. If
6401// the context is nil a panic will occur. In the future the SDK may create
6402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6403// for more information on using Contexts.
6404func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
6405	req, out := c.GetKeyPairRequest(input)
6406	req.SetContext(ctx)
6407	req.ApplyOptions(opts...)
6408	return out, req.Send()
6409}
6410
6411const opGetKeyPairs = "GetKeyPairs"
6412
6413// GetKeyPairsRequest generates a "aws/request.Request" representing the
6414// client's request for the GetKeyPairs operation. The "output" return
6415// value will be populated with the request's response once the request completes
6416// successfully.
6417//
6418// Use "Send" method on the returned Request to send the API call to the service.
6419// the "output" return value is not valid until after Send returns without error.
6420//
6421// See GetKeyPairs for more information on using the GetKeyPairs
6422// API call, and error handling.
6423//
6424// This method is useful when you want to inject custom logic or configuration
6425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6426//
6427//
6428//    // Example sending a request using the GetKeyPairsRequest method.
6429//    req, resp := client.GetKeyPairsRequest(params)
6430//
6431//    err := req.Send()
6432//    if err == nil { // resp is now filled
6433//        fmt.Println(resp)
6434//    }
6435//
6436// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
6437func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
6438	op := &request.Operation{
6439		Name:       opGetKeyPairs,
6440		HTTPMethod: "POST",
6441		HTTPPath:   "/",
6442	}
6443
6444	if input == nil {
6445		input = &GetKeyPairsInput{}
6446	}
6447
6448	output = &GetKeyPairsOutput{}
6449	req = c.newRequest(op, input, output)
6450	return
6451}
6452
6453// GetKeyPairs API operation for Amazon Lightsail.
6454//
6455// Returns information about all key pairs in the user's account.
6456//
6457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6458// with awserr.Error's Code and Message methods to get detailed information about
6459// the error.
6460//
6461// See the AWS API reference guide for Amazon Lightsail's
6462// API operation GetKeyPairs for usage and error information.
6463//
6464// Returned Error Codes:
6465//   * ErrCodeServiceException "ServiceException"
6466//   A general service exception.
6467//
6468//   * ErrCodeInvalidInputException "InvalidInputException"
6469//   Lightsail throws this exception when user input does not conform to the validation
6470//   rules of an input field.
6471//
6472//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6473//   Please set your AWS Region configuration to us-east-1 to create, view, or
6474//   edit these resources.
6475//
6476//   * ErrCodeNotFoundException "NotFoundException"
6477//   Lightsail throws this exception when it cannot find a resource.
6478//
6479//   * ErrCodeOperationFailureException "OperationFailureException"
6480//   Lightsail throws this exception when an operation fails to execute.
6481//
6482//   * ErrCodeAccessDeniedException "AccessDeniedException"
6483//   Lightsail throws this exception when the user cannot be authenticated or
6484//   uses invalid credentials to access a resource.
6485//
6486//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6487//   Lightsail throws this exception when an account is still in the setup in
6488//   progress state.
6489//
6490//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6491//   Lightsail throws this exception when the user has not been authenticated.
6492//
6493// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
6494func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
6495	req, out := c.GetKeyPairsRequest(input)
6496	return out, req.Send()
6497}
6498
6499// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
6500// the ability to pass a context and additional request options.
6501//
6502// See GetKeyPairs for details on how to use this API operation.
6503//
6504// The context must be non-nil and will be used for request cancellation. If
6505// the context is nil a panic will occur. In the future the SDK may create
6506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6507// for more information on using Contexts.
6508func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
6509	req, out := c.GetKeyPairsRequest(input)
6510	req.SetContext(ctx)
6511	req.ApplyOptions(opts...)
6512	return out, req.Send()
6513}
6514
6515const opGetLoadBalancer = "GetLoadBalancer"
6516
6517// GetLoadBalancerRequest generates a "aws/request.Request" representing the
6518// client's request for the GetLoadBalancer operation. The "output" return
6519// value will be populated with the request's response once the request completes
6520// successfully.
6521//
6522// Use "Send" method on the returned Request to send the API call to the service.
6523// the "output" return value is not valid until after Send returns without error.
6524//
6525// See GetLoadBalancer for more information on using the GetLoadBalancer
6526// API call, and error handling.
6527//
6528// This method is useful when you want to inject custom logic or configuration
6529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6530//
6531//
6532//    // Example sending a request using the GetLoadBalancerRequest method.
6533//    req, resp := client.GetLoadBalancerRequest(params)
6534//
6535//    err := req.Send()
6536//    if err == nil { // resp is now filled
6537//        fmt.Println(resp)
6538//    }
6539//
6540// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
6541func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
6542	op := &request.Operation{
6543		Name:       opGetLoadBalancer,
6544		HTTPMethod: "POST",
6545		HTTPPath:   "/",
6546	}
6547
6548	if input == nil {
6549		input = &GetLoadBalancerInput{}
6550	}
6551
6552	output = &GetLoadBalancerOutput{}
6553	req = c.newRequest(op, input, output)
6554	return
6555}
6556
6557// GetLoadBalancer API operation for Amazon Lightsail.
6558//
6559// Returns information about the specified Lightsail load balancer.
6560//
6561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6562// with awserr.Error's Code and Message methods to get detailed information about
6563// the error.
6564//
6565// See the AWS API reference guide for Amazon Lightsail's
6566// API operation GetLoadBalancer for usage and error information.
6567//
6568// Returned Error Codes:
6569//   * ErrCodeServiceException "ServiceException"
6570//   A general service exception.
6571//
6572//   * ErrCodeInvalidInputException "InvalidInputException"
6573//   Lightsail throws this exception when user input does not conform to the validation
6574//   rules of an input field.
6575//
6576//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6577//   Please set your AWS Region configuration to us-east-1 to create, view, or
6578//   edit these resources.
6579//
6580//   * ErrCodeNotFoundException "NotFoundException"
6581//   Lightsail throws this exception when it cannot find a resource.
6582//
6583//   * ErrCodeOperationFailureException "OperationFailureException"
6584//   Lightsail throws this exception when an operation fails to execute.
6585//
6586//   * ErrCodeAccessDeniedException "AccessDeniedException"
6587//   Lightsail throws this exception when the user cannot be authenticated or
6588//   uses invalid credentials to access a resource.
6589//
6590//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6591//   Lightsail throws this exception when an account is still in the setup in
6592//   progress state.
6593//
6594//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6595//   Lightsail throws this exception when the user has not been authenticated.
6596//
6597// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
6598func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
6599	req, out := c.GetLoadBalancerRequest(input)
6600	return out, req.Send()
6601}
6602
6603// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
6604// the ability to pass a context and additional request options.
6605//
6606// See GetLoadBalancer for details on how to use this API operation.
6607//
6608// The context must be non-nil and will be used for request cancellation. If
6609// the context is nil a panic will occur. In the future the SDK may create
6610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6611// for more information on using Contexts.
6612func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
6613	req, out := c.GetLoadBalancerRequest(input)
6614	req.SetContext(ctx)
6615	req.ApplyOptions(opts...)
6616	return out, req.Send()
6617}
6618
6619const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
6620
6621// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
6622// client's request for the GetLoadBalancerMetricData operation. The "output" return
6623// value will be populated with the request's response once the request completes
6624// successfully.
6625//
6626// Use "Send" method on the returned Request to send the API call to the service.
6627// the "output" return value is not valid until after Send returns without error.
6628//
6629// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
6630// API call, and error handling.
6631//
6632// This method is useful when you want to inject custom logic or configuration
6633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6634//
6635//
6636//    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
6637//    req, resp := client.GetLoadBalancerMetricDataRequest(params)
6638//
6639//    err := req.Send()
6640//    if err == nil { // resp is now filled
6641//        fmt.Println(resp)
6642//    }
6643//
6644// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
6645func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
6646	op := &request.Operation{
6647		Name:       opGetLoadBalancerMetricData,
6648		HTTPMethod: "POST",
6649		HTTPPath:   "/",
6650	}
6651
6652	if input == nil {
6653		input = &GetLoadBalancerMetricDataInput{}
6654	}
6655
6656	output = &GetLoadBalancerMetricDataOutput{}
6657	req = c.newRequest(op, input, output)
6658	return
6659}
6660
6661// GetLoadBalancerMetricData API operation for Amazon Lightsail.
6662//
6663// Returns information about health metrics for your Lightsail load balancer.
6664//
6665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6666// with awserr.Error's Code and Message methods to get detailed information about
6667// the error.
6668//
6669// See the AWS API reference guide for Amazon Lightsail's
6670// API operation GetLoadBalancerMetricData for usage and error information.
6671//
6672// Returned Error Codes:
6673//   * ErrCodeServiceException "ServiceException"
6674//   A general service exception.
6675//
6676//   * ErrCodeInvalidInputException "InvalidInputException"
6677//   Lightsail throws this exception when user input does not conform to the validation
6678//   rules of an input field.
6679//
6680//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6681//   Please set your AWS Region configuration to us-east-1 to create, view, or
6682//   edit these resources.
6683//
6684//   * ErrCodeNotFoundException "NotFoundException"
6685//   Lightsail throws this exception when it cannot find a resource.
6686//
6687//   * ErrCodeOperationFailureException "OperationFailureException"
6688//   Lightsail throws this exception when an operation fails to execute.
6689//
6690//   * ErrCodeAccessDeniedException "AccessDeniedException"
6691//   Lightsail throws this exception when the user cannot be authenticated or
6692//   uses invalid credentials to access a resource.
6693//
6694//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6695//   Lightsail throws this exception when an account is still in the setup in
6696//   progress state.
6697//
6698//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6699//   Lightsail throws this exception when the user has not been authenticated.
6700//
6701// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
6702func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
6703	req, out := c.GetLoadBalancerMetricDataRequest(input)
6704	return out, req.Send()
6705}
6706
6707// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
6708// the ability to pass a context and additional request options.
6709//
6710// See GetLoadBalancerMetricData for details on how to use this API operation.
6711//
6712// The context must be non-nil and will be used for request cancellation. If
6713// the context is nil a panic will occur. In the future the SDK may create
6714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6715// for more information on using Contexts.
6716func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
6717	req, out := c.GetLoadBalancerMetricDataRequest(input)
6718	req.SetContext(ctx)
6719	req.ApplyOptions(opts...)
6720	return out, req.Send()
6721}
6722
6723const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
6724
6725// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
6726// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
6727// value will be populated with the request's response once the request completes
6728// successfully.
6729//
6730// Use "Send" method on the returned Request to send the API call to the service.
6731// the "output" return value is not valid until after Send returns without error.
6732//
6733// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
6734// API call, and error handling.
6735//
6736// This method is useful when you want to inject custom logic or configuration
6737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6738//
6739//
6740//    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
6741//    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
6742//
6743//    err := req.Send()
6744//    if err == nil { // resp is now filled
6745//        fmt.Println(resp)
6746//    }
6747//
6748// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
6749func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
6750	op := &request.Operation{
6751		Name:       opGetLoadBalancerTlsCertificates,
6752		HTTPMethod: "POST",
6753		HTTPPath:   "/",
6754	}
6755
6756	if input == nil {
6757		input = &GetLoadBalancerTlsCertificatesInput{}
6758	}
6759
6760	output = &GetLoadBalancerTlsCertificatesOutput{}
6761	req = c.newRequest(op, input, output)
6762	return
6763}
6764
6765// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
6766//
6767// Returns information about the TLS certificates that are associated with the
6768// specified Lightsail load balancer.
6769//
6770// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
6771//
6772// You can have a maximum of 2 certificates associated with a Lightsail load
6773// balancer. One is active and the other is inactive.
6774//
6775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6776// with awserr.Error's Code and Message methods to get detailed information about
6777// the error.
6778//
6779// See the AWS API reference guide for Amazon Lightsail's
6780// API operation GetLoadBalancerTlsCertificates for usage and error information.
6781//
6782// Returned Error Codes:
6783//   * ErrCodeServiceException "ServiceException"
6784//   A general service exception.
6785//
6786//   * ErrCodeInvalidInputException "InvalidInputException"
6787//   Lightsail throws this exception when user input does not conform to the validation
6788//   rules of an input field.
6789//
6790//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6791//   Please set your AWS Region configuration to us-east-1 to create, view, or
6792//   edit these resources.
6793//
6794//   * ErrCodeNotFoundException "NotFoundException"
6795//   Lightsail throws this exception when it cannot find a resource.
6796//
6797//   * ErrCodeOperationFailureException "OperationFailureException"
6798//   Lightsail throws this exception when an operation fails to execute.
6799//
6800//   * ErrCodeAccessDeniedException "AccessDeniedException"
6801//   Lightsail throws this exception when the user cannot be authenticated or
6802//   uses invalid credentials to access a resource.
6803//
6804//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6805//   Lightsail throws this exception when an account is still in the setup in
6806//   progress state.
6807//
6808//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6809//   Lightsail throws this exception when the user has not been authenticated.
6810//
6811// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
6812func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
6813	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
6814	return out, req.Send()
6815}
6816
6817// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
6818// the ability to pass a context and additional request options.
6819//
6820// See GetLoadBalancerTlsCertificates for details on how to use this API operation.
6821//
6822// The context must be non-nil and will be used for request cancellation. If
6823// the context is nil a panic will occur. In the future the SDK may create
6824// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6825// for more information on using Contexts.
6826func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
6827	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
6828	req.SetContext(ctx)
6829	req.ApplyOptions(opts...)
6830	return out, req.Send()
6831}
6832
6833const opGetLoadBalancers = "GetLoadBalancers"
6834
6835// GetLoadBalancersRequest generates a "aws/request.Request" representing the
6836// client's request for the GetLoadBalancers operation. The "output" return
6837// value will be populated with the request's response once the request completes
6838// successfully.
6839//
6840// Use "Send" method on the returned Request to send the API call to the service.
6841// the "output" return value is not valid until after Send returns without error.
6842//
6843// See GetLoadBalancers for more information on using the GetLoadBalancers
6844// API call, and error handling.
6845//
6846// This method is useful when you want to inject custom logic or configuration
6847// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6848//
6849//
6850//    // Example sending a request using the GetLoadBalancersRequest method.
6851//    req, resp := client.GetLoadBalancersRequest(params)
6852//
6853//    err := req.Send()
6854//    if err == nil { // resp is now filled
6855//        fmt.Println(resp)
6856//    }
6857//
6858// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
6859func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
6860	op := &request.Operation{
6861		Name:       opGetLoadBalancers,
6862		HTTPMethod: "POST",
6863		HTTPPath:   "/",
6864	}
6865
6866	if input == nil {
6867		input = &GetLoadBalancersInput{}
6868	}
6869
6870	output = &GetLoadBalancersOutput{}
6871	req = c.newRequest(op, input, output)
6872	return
6873}
6874
6875// GetLoadBalancers API operation for Amazon Lightsail.
6876//
6877// Returns information about all load balancers in an account.
6878//
6879// If you are describing a long list of load balancers, you can paginate the
6880// output to make the list more manageable. You can use the pageToken and nextPageToken
6881// values to retrieve the next items in the list.
6882//
6883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6884// with awserr.Error's Code and Message methods to get detailed information about
6885// the error.
6886//
6887// See the AWS API reference guide for Amazon Lightsail's
6888// API operation GetLoadBalancers for usage and error information.
6889//
6890// Returned Error Codes:
6891//   * ErrCodeServiceException "ServiceException"
6892//   A general service exception.
6893//
6894//   * ErrCodeInvalidInputException "InvalidInputException"
6895//   Lightsail throws this exception when user input does not conform to the validation
6896//   rules of an input field.
6897//
6898//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6899//   Please set your AWS Region configuration to us-east-1 to create, view, or
6900//   edit these resources.
6901//
6902//   * ErrCodeNotFoundException "NotFoundException"
6903//   Lightsail throws this exception when it cannot find a resource.
6904//
6905//   * ErrCodeOperationFailureException "OperationFailureException"
6906//   Lightsail throws this exception when an operation fails to execute.
6907//
6908//   * ErrCodeAccessDeniedException "AccessDeniedException"
6909//   Lightsail throws this exception when the user cannot be authenticated or
6910//   uses invalid credentials to access a resource.
6911//
6912//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6913//   Lightsail throws this exception when an account is still in the setup in
6914//   progress state.
6915//
6916//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6917//   Lightsail throws this exception when the user has not been authenticated.
6918//
6919// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
6920func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
6921	req, out := c.GetLoadBalancersRequest(input)
6922	return out, req.Send()
6923}
6924
6925// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
6926// the ability to pass a context and additional request options.
6927//
6928// See GetLoadBalancers for details on how to use this API operation.
6929//
6930// The context must be non-nil and will be used for request cancellation. If
6931// the context is nil a panic will occur. In the future the SDK may create
6932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6933// for more information on using Contexts.
6934func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
6935	req, out := c.GetLoadBalancersRequest(input)
6936	req.SetContext(ctx)
6937	req.ApplyOptions(opts...)
6938	return out, req.Send()
6939}
6940
6941const opGetOperation = "GetOperation"
6942
6943// GetOperationRequest generates a "aws/request.Request" representing the
6944// client's request for the GetOperation operation. The "output" return
6945// value will be populated with the request's response once the request completes
6946// successfully.
6947//
6948// Use "Send" method on the returned Request to send the API call to the service.
6949// the "output" return value is not valid until after Send returns without error.
6950//
6951// See GetOperation for more information on using the GetOperation
6952// API call, and error handling.
6953//
6954// This method is useful when you want to inject custom logic or configuration
6955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6956//
6957//
6958//    // Example sending a request using the GetOperationRequest method.
6959//    req, resp := client.GetOperationRequest(params)
6960//
6961//    err := req.Send()
6962//    if err == nil { // resp is now filled
6963//        fmt.Println(resp)
6964//    }
6965//
6966// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
6967func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
6968	op := &request.Operation{
6969		Name:       opGetOperation,
6970		HTTPMethod: "POST",
6971		HTTPPath:   "/",
6972	}
6973
6974	if input == nil {
6975		input = &GetOperationInput{}
6976	}
6977
6978	output = &GetOperationOutput{}
6979	req = c.newRequest(op, input, output)
6980	return
6981}
6982
6983// GetOperation API operation for Amazon Lightsail.
6984//
6985// Returns information about a specific operation. Operations include events
6986// such as when you create an instance, allocate a static IP, attach a static
6987// IP, and so on.
6988//
6989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6990// with awserr.Error's Code and Message methods to get detailed information about
6991// the error.
6992//
6993// See the AWS API reference guide for Amazon Lightsail's
6994// API operation GetOperation for usage and error information.
6995//
6996// Returned Error Codes:
6997//   * ErrCodeServiceException "ServiceException"
6998//   A general service exception.
6999//
7000//   * ErrCodeInvalidInputException "InvalidInputException"
7001//   Lightsail throws this exception when user input does not conform to the validation
7002//   rules of an input field.
7003//
7004//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7005//   Please set your AWS Region configuration to us-east-1 to create, view, or
7006//   edit these resources.
7007//
7008//   * ErrCodeNotFoundException "NotFoundException"
7009//   Lightsail throws this exception when it cannot find a resource.
7010//
7011//   * ErrCodeOperationFailureException "OperationFailureException"
7012//   Lightsail throws this exception when an operation fails to execute.
7013//
7014//   * ErrCodeAccessDeniedException "AccessDeniedException"
7015//   Lightsail throws this exception when the user cannot be authenticated or
7016//   uses invalid credentials to access a resource.
7017//
7018//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7019//   Lightsail throws this exception when an account is still in the setup in
7020//   progress state.
7021//
7022//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7023//   Lightsail throws this exception when the user has not been authenticated.
7024//
7025// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
7026func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
7027	req, out := c.GetOperationRequest(input)
7028	return out, req.Send()
7029}
7030
7031// GetOperationWithContext is the same as GetOperation with the addition of
7032// the ability to pass a context and additional request options.
7033//
7034// See GetOperation for details on how to use this API operation.
7035//
7036// The context must be non-nil and will be used for request cancellation. If
7037// the context is nil a panic will occur. In the future the SDK may create
7038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7039// for more information on using Contexts.
7040func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
7041	req, out := c.GetOperationRequest(input)
7042	req.SetContext(ctx)
7043	req.ApplyOptions(opts...)
7044	return out, req.Send()
7045}
7046
7047const opGetOperations = "GetOperations"
7048
7049// GetOperationsRequest generates a "aws/request.Request" representing the
7050// client's request for the GetOperations operation. The "output" return
7051// value will be populated with the request's response once the request completes
7052// successfully.
7053//
7054// Use "Send" method on the returned Request to send the API call to the service.
7055// the "output" return value is not valid until after Send returns without error.
7056//
7057// See GetOperations for more information on using the GetOperations
7058// API call, and error handling.
7059//
7060// This method is useful when you want to inject custom logic or configuration
7061// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7062//
7063//
7064//    // Example sending a request using the GetOperationsRequest method.
7065//    req, resp := client.GetOperationsRequest(params)
7066//
7067//    err := req.Send()
7068//    if err == nil { // resp is now filled
7069//        fmt.Println(resp)
7070//    }
7071//
7072// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
7073func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
7074	op := &request.Operation{
7075		Name:       opGetOperations,
7076		HTTPMethod: "POST",
7077		HTTPPath:   "/",
7078	}
7079
7080	if input == nil {
7081		input = &GetOperationsInput{}
7082	}
7083
7084	output = &GetOperationsOutput{}
7085	req = c.newRequest(op, input, output)
7086	return
7087}
7088
7089// GetOperations API operation for Amazon Lightsail.
7090//
7091// Returns information about all operations.
7092//
7093// Results are returned from oldest to newest, up to a maximum of 200. Results
7094// can be paged by making each subsequent call to GetOperations use the maximum
7095// (last) statusChangedAt value from the previous request.
7096//
7097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7098// with awserr.Error's Code and Message methods to get detailed information about
7099// the error.
7100//
7101// See the AWS API reference guide for Amazon Lightsail's
7102// API operation GetOperations for usage and error information.
7103//
7104// Returned Error Codes:
7105//   * ErrCodeServiceException "ServiceException"
7106//   A general service exception.
7107//
7108//   * ErrCodeInvalidInputException "InvalidInputException"
7109//   Lightsail throws this exception when user input does not conform to the validation
7110//   rules of an input field.
7111//
7112//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7113//   Please set your AWS Region configuration to us-east-1 to create, view, or
7114//   edit these resources.
7115//
7116//   * ErrCodeNotFoundException "NotFoundException"
7117//   Lightsail throws this exception when it cannot find a resource.
7118//
7119//   * ErrCodeOperationFailureException "OperationFailureException"
7120//   Lightsail throws this exception when an operation fails to execute.
7121//
7122//   * ErrCodeAccessDeniedException "AccessDeniedException"
7123//   Lightsail throws this exception when the user cannot be authenticated or
7124//   uses invalid credentials to access a resource.
7125//
7126//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7127//   Lightsail throws this exception when an account is still in the setup in
7128//   progress state.
7129//
7130//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7131//   Lightsail throws this exception when the user has not been authenticated.
7132//
7133// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
7134func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
7135	req, out := c.GetOperationsRequest(input)
7136	return out, req.Send()
7137}
7138
7139// GetOperationsWithContext is the same as GetOperations with the addition of
7140// the ability to pass a context and additional request options.
7141//
7142// See GetOperations for details on how to use this API operation.
7143//
7144// The context must be non-nil and will be used for request cancellation. If
7145// the context is nil a panic will occur. In the future the SDK may create
7146// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7147// for more information on using Contexts.
7148func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
7149	req, out := c.GetOperationsRequest(input)
7150	req.SetContext(ctx)
7151	req.ApplyOptions(opts...)
7152	return out, req.Send()
7153}
7154
7155const opGetOperationsForResource = "GetOperationsForResource"
7156
7157// GetOperationsForResourceRequest generates a "aws/request.Request" representing the
7158// client's request for the GetOperationsForResource operation. The "output" return
7159// value will be populated with the request's response once the request completes
7160// successfully.
7161//
7162// Use "Send" method on the returned Request to send the API call to the service.
7163// the "output" return value is not valid until after Send returns without error.
7164//
7165// See GetOperationsForResource for more information on using the GetOperationsForResource
7166// API call, and error handling.
7167//
7168// This method is useful when you want to inject custom logic or configuration
7169// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7170//
7171//
7172//    // Example sending a request using the GetOperationsForResourceRequest method.
7173//    req, resp := client.GetOperationsForResourceRequest(params)
7174//
7175//    err := req.Send()
7176//    if err == nil { // resp is now filled
7177//        fmt.Println(resp)
7178//    }
7179//
7180// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
7181func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
7182	op := &request.Operation{
7183		Name:       opGetOperationsForResource,
7184		HTTPMethod: "POST",
7185		HTTPPath:   "/",
7186	}
7187
7188	if input == nil {
7189		input = &GetOperationsForResourceInput{}
7190	}
7191
7192	output = &GetOperationsForResourceOutput{}
7193	req = c.newRequest(op, input, output)
7194	return
7195}
7196
7197// GetOperationsForResource API operation for Amazon Lightsail.
7198//
7199// Gets operations for a specific resource (e.g., an instance or a static IP).
7200//
7201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7202// with awserr.Error's Code and Message methods to get detailed information about
7203// the error.
7204//
7205// See the AWS API reference guide for Amazon Lightsail's
7206// API operation GetOperationsForResource for usage and error information.
7207//
7208// Returned Error Codes:
7209//   * ErrCodeServiceException "ServiceException"
7210//   A general service exception.
7211//
7212//   * ErrCodeInvalidInputException "InvalidInputException"
7213//   Lightsail throws this exception when user input does not conform to the validation
7214//   rules of an input field.
7215//
7216//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7217//   Please set your AWS Region configuration to us-east-1 to create, view, or
7218//   edit these resources.
7219//
7220//   * ErrCodeNotFoundException "NotFoundException"
7221//   Lightsail throws this exception when it cannot find a resource.
7222//
7223//   * ErrCodeOperationFailureException "OperationFailureException"
7224//   Lightsail throws this exception when an operation fails to execute.
7225//
7226//   * ErrCodeAccessDeniedException "AccessDeniedException"
7227//   Lightsail throws this exception when the user cannot be authenticated or
7228//   uses invalid credentials to access a resource.
7229//
7230//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7231//   Lightsail throws this exception when an account is still in the setup in
7232//   progress state.
7233//
7234//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7235//   Lightsail throws this exception when the user has not been authenticated.
7236//
7237// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
7238func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
7239	req, out := c.GetOperationsForResourceRequest(input)
7240	return out, req.Send()
7241}
7242
7243// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
7244// the ability to pass a context and additional request options.
7245//
7246// See GetOperationsForResource for details on how to use this API operation.
7247//
7248// The context must be non-nil and will be used for request cancellation. If
7249// the context is nil a panic will occur. In the future the SDK may create
7250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7251// for more information on using Contexts.
7252func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
7253	req, out := c.GetOperationsForResourceRequest(input)
7254	req.SetContext(ctx)
7255	req.ApplyOptions(opts...)
7256	return out, req.Send()
7257}
7258
7259const opGetRegions = "GetRegions"
7260
7261// GetRegionsRequest generates a "aws/request.Request" representing the
7262// client's request for the GetRegions operation. The "output" return
7263// value will be populated with the request's response once the request completes
7264// successfully.
7265//
7266// Use "Send" method on the returned Request to send the API call to the service.
7267// the "output" return value is not valid until after Send returns without error.
7268//
7269// See GetRegions for more information on using the GetRegions
7270// API call, and error handling.
7271//
7272// This method is useful when you want to inject custom logic or configuration
7273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7274//
7275//
7276//    // Example sending a request using the GetRegionsRequest method.
7277//    req, resp := client.GetRegionsRequest(params)
7278//
7279//    err := req.Send()
7280//    if err == nil { // resp is now filled
7281//        fmt.Println(resp)
7282//    }
7283//
7284// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
7285func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
7286	op := &request.Operation{
7287		Name:       opGetRegions,
7288		HTTPMethod: "POST",
7289		HTTPPath:   "/",
7290	}
7291
7292	if input == nil {
7293		input = &GetRegionsInput{}
7294	}
7295
7296	output = &GetRegionsOutput{}
7297	req = c.newRequest(op, input, output)
7298	return
7299}
7300
7301// GetRegions API operation for Amazon Lightsail.
7302//
7303// Returns a list of all valid regions for Amazon Lightsail. Use the include
7304// availability zones parameter to also return the Availability Zones in a region.
7305//
7306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7307// with awserr.Error's Code and Message methods to get detailed information about
7308// the error.
7309//
7310// See the AWS API reference guide for Amazon Lightsail's
7311// API operation GetRegions for usage and error information.
7312//
7313// Returned Error Codes:
7314//   * ErrCodeServiceException "ServiceException"
7315//   A general service exception.
7316//
7317//   * ErrCodeInvalidInputException "InvalidInputException"
7318//   Lightsail throws this exception when user input does not conform to the validation
7319//   rules of an input field.
7320//
7321//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7322//   Please set your AWS Region configuration to us-east-1 to create, view, or
7323//   edit these resources.
7324//
7325//   * ErrCodeNotFoundException "NotFoundException"
7326//   Lightsail throws this exception when it cannot find a resource.
7327//
7328//   * ErrCodeOperationFailureException "OperationFailureException"
7329//   Lightsail throws this exception when an operation fails to execute.
7330//
7331//   * ErrCodeAccessDeniedException "AccessDeniedException"
7332//   Lightsail throws this exception when the user cannot be authenticated or
7333//   uses invalid credentials to access a resource.
7334//
7335//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7336//   Lightsail throws this exception when an account is still in the setup in
7337//   progress state.
7338//
7339//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7340//   Lightsail throws this exception when the user has not been authenticated.
7341//
7342// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
7343func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
7344	req, out := c.GetRegionsRequest(input)
7345	return out, req.Send()
7346}
7347
7348// GetRegionsWithContext is the same as GetRegions with the addition of
7349// the ability to pass a context and additional request options.
7350//
7351// See GetRegions for details on how to use this API operation.
7352//
7353// The context must be non-nil and will be used for request cancellation. If
7354// the context is nil a panic will occur. In the future the SDK may create
7355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7356// for more information on using Contexts.
7357func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
7358	req, out := c.GetRegionsRequest(input)
7359	req.SetContext(ctx)
7360	req.ApplyOptions(opts...)
7361	return out, req.Send()
7362}
7363
7364const opGetRelationalDatabase = "GetRelationalDatabase"
7365
7366// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
7367// client's request for the GetRelationalDatabase operation. The "output" return
7368// value will be populated with the request's response once the request completes
7369// successfully.
7370//
7371// Use "Send" method on the returned Request to send the API call to the service.
7372// the "output" return value is not valid until after Send returns without error.
7373//
7374// See GetRelationalDatabase for more information on using the GetRelationalDatabase
7375// API call, and error handling.
7376//
7377// This method is useful when you want to inject custom logic or configuration
7378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7379//
7380//
7381//    // Example sending a request using the GetRelationalDatabaseRequest method.
7382//    req, resp := client.GetRelationalDatabaseRequest(params)
7383//
7384//    err := req.Send()
7385//    if err == nil { // resp is now filled
7386//        fmt.Println(resp)
7387//    }
7388//
7389// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
7390func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
7391	op := &request.Operation{
7392		Name:       opGetRelationalDatabase,
7393		HTTPMethod: "POST",
7394		HTTPPath:   "/",
7395	}
7396
7397	if input == nil {
7398		input = &GetRelationalDatabaseInput{}
7399	}
7400
7401	output = &GetRelationalDatabaseOutput{}
7402	req = c.newRequest(op, input, output)
7403	return
7404}
7405
7406// GetRelationalDatabase API operation for Amazon Lightsail.
7407//
7408// Returns information about a specific database in Amazon Lightsail.
7409//
7410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7411// with awserr.Error's Code and Message methods to get detailed information about
7412// the error.
7413//
7414// See the AWS API reference guide for Amazon Lightsail's
7415// API operation GetRelationalDatabase for usage and error information.
7416//
7417// Returned Error Codes:
7418//   * ErrCodeServiceException "ServiceException"
7419//   A general service exception.
7420//
7421//   * ErrCodeInvalidInputException "InvalidInputException"
7422//   Lightsail throws this exception when user input does not conform to the validation
7423//   rules of an input field.
7424//
7425//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7426//   Please set your AWS Region configuration to us-east-1 to create, view, or
7427//   edit these resources.
7428//
7429//   * ErrCodeNotFoundException "NotFoundException"
7430//   Lightsail throws this exception when it cannot find a resource.
7431//
7432//   * ErrCodeOperationFailureException "OperationFailureException"
7433//   Lightsail throws this exception when an operation fails to execute.
7434//
7435//   * ErrCodeAccessDeniedException "AccessDeniedException"
7436//   Lightsail throws this exception when the user cannot be authenticated or
7437//   uses invalid credentials to access a resource.
7438//
7439//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7440//   Lightsail throws this exception when an account is still in the setup in
7441//   progress state.
7442//
7443//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7444//   Lightsail throws this exception when the user has not been authenticated.
7445//
7446// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
7447func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
7448	req, out := c.GetRelationalDatabaseRequest(input)
7449	return out, req.Send()
7450}
7451
7452// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
7453// the ability to pass a context and additional request options.
7454//
7455// See GetRelationalDatabase for details on how to use this API operation.
7456//
7457// The context must be non-nil and will be used for request cancellation. If
7458// the context is nil a panic will occur. In the future the SDK may create
7459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7460// for more information on using Contexts.
7461func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
7462	req, out := c.GetRelationalDatabaseRequest(input)
7463	req.SetContext(ctx)
7464	req.ApplyOptions(opts...)
7465	return out, req.Send()
7466}
7467
7468const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
7469
7470// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
7471// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
7472// value will be populated with the request's response once the request completes
7473// successfully.
7474//
7475// Use "Send" method on the returned Request to send the API call to the service.
7476// the "output" return value is not valid until after Send returns without error.
7477//
7478// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
7479// API call, and error handling.
7480//
7481// This method is useful when you want to inject custom logic or configuration
7482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7483//
7484//
7485//    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
7486//    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
7487//
7488//    err := req.Send()
7489//    if err == nil { // resp is now filled
7490//        fmt.Println(resp)
7491//    }
7492//
7493// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
7494func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
7495	op := &request.Operation{
7496		Name:       opGetRelationalDatabaseBlueprints,
7497		HTTPMethod: "POST",
7498		HTTPPath:   "/",
7499	}
7500
7501	if input == nil {
7502		input = &GetRelationalDatabaseBlueprintsInput{}
7503	}
7504
7505	output = &GetRelationalDatabaseBlueprintsOutput{}
7506	req = c.newRequest(op, input, output)
7507	return
7508}
7509
7510// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
7511//
7512// Returns a list of available database blueprints in Amazon Lightsail. A blueprint
7513// describes the major engine version of a database.
7514//
7515// You can use a blueprint ID to create a new database that runs a specific
7516// database engine.
7517//
7518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7519// with awserr.Error's Code and Message methods to get detailed information about
7520// the error.
7521//
7522// See the AWS API reference guide for Amazon Lightsail's
7523// API operation GetRelationalDatabaseBlueprints for usage and error information.
7524//
7525// Returned Error Codes:
7526//   * ErrCodeServiceException "ServiceException"
7527//   A general service exception.
7528//
7529//   * ErrCodeInvalidInputException "InvalidInputException"
7530//   Lightsail throws this exception when user input does not conform to the validation
7531//   rules of an input field.
7532//
7533//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7534//   Please set your AWS Region configuration to us-east-1 to create, view, or
7535//   edit these resources.
7536//
7537//   * ErrCodeNotFoundException "NotFoundException"
7538//   Lightsail throws this exception when it cannot find a resource.
7539//
7540//   * ErrCodeOperationFailureException "OperationFailureException"
7541//   Lightsail throws this exception when an operation fails to execute.
7542//
7543//   * ErrCodeAccessDeniedException "AccessDeniedException"
7544//   Lightsail throws this exception when the user cannot be authenticated or
7545//   uses invalid credentials to access a resource.
7546//
7547//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7548//   Lightsail throws this exception when an account is still in the setup in
7549//   progress state.
7550//
7551//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7552//   Lightsail throws this exception when the user has not been authenticated.
7553//
7554// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
7555func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
7556	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
7557	return out, req.Send()
7558}
7559
7560// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
7561// the ability to pass a context and additional request options.
7562//
7563// See GetRelationalDatabaseBlueprints for details on how to use this API operation.
7564//
7565// The context must be non-nil and will be used for request cancellation. If
7566// the context is nil a panic will occur. In the future the SDK may create
7567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7568// for more information on using Contexts.
7569func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
7570	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
7571	req.SetContext(ctx)
7572	req.ApplyOptions(opts...)
7573	return out, req.Send()
7574}
7575
7576const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
7577
7578// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
7579// client's request for the GetRelationalDatabaseBundles operation. The "output" return
7580// value will be populated with the request's response once the request completes
7581// successfully.
7582//
7583// Use "Send" method on the returned Request to send the API call to the service.
7584// the "output" return value is not valid until after Send returns without error.
7585//
7586// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
7587// API call, and error handling.
7588//
7589// This method is useful when you want to inject custom logic or configuration
7590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7591//
7592//
7593//    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
7594//    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
7595//
7596//    err := req.Send()
7597//    if err == nil { // resp is now filled
7598//        fmt.Println(resp)
7599//    }
7600//
7601// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
7602func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
7603	op := &request.Operation{
7604		Name:       opGetRelationalDatabaseBundles,
7605		HTTPMethod: "POST",
7606		HTTPPath:   "/",
7607	}
7608
7609	if input == nil {
7610		input = &GetRelationalDatabaseBundlesInput{}
7611	}
7612
7613	output = &GetRelationalDatabaseBundlesOutput{}
7614	req = c.newRequest(op, input, output)
7615	return
7616}
7617
7618// GetRelationalDatabaseBundles API operation for Amazon Lightsail.
7619//
7620// Returns the list of bundles that are available in Amazon Lightsail. A bundle
7621// describes the performance specifications for a database.
7622//
7623// You can use a bundle ID to create a new database with explicit performance
7624// specifications.
7625//
7626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7627// with awserr.Error's Code and Message methods to get detailed information about
7628// the error.
7629//
7630// See the AWS API reference guide for Amazon Lightsail's
7631// API operation GetRelationalDatabaseBundles for usage and error information.
7632//
7633// Returned Error Codes:
7634//   * ErrCodeServiceException "ServiceException"
7635//   A general service exception.
7636//
7637//   * ErrCodeInvalidInputException "InvalidInputException"
7638//   Lightsail throws this exception when user input does not conform to the validation
7639//   rules of an input field.
7640//
7641//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7642//   Please set your AWS Region configuration to us-east-1 to create, view, or
7643//   edit these resources.
7644//
7645//   * ErrCodeNotFoundException "NotFoundException"
7646//   Lightsail throws this exception when it cannot find a resource.
7647//
7648//   * ErrCodeOperationFailureException "OperationFailureException"
7649//   Lightsail throws this exception when an operation fails to execute.
7650//
7651//   * ErrCodeAccessDeniedException "AccessDeniedException"
7652//   Lightsail throws this exception when the user cannot be authenticated or
7653//   uses invalid credentials to access a resource.
7654//
7655//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7656//   Lightsail throws this exception when an account is still in the setup in
7657//   progress state.
7658//
7659//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7660//   Lightsail throws this exception when the user has not been authenticated.
7661//
7662// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
7663func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
7664	req, out := c.GetRelationalDatabaseBundlesRequest(input)
7665	return out, req.Send()
7666}
7667
7668// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
7669// the ability to pass a context and additional request options.
7670//
7671// See GetRelationalDatabaseBundles for details on how to use this API operation.
7672//
7673// The context must be non-nil and will be used for request cancellation. If
7674// the context is nil a panic will occur. In the future the SDK may create
7675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7676// for more information on using Contexts.
7677func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
7678	req, out := c.GetRelationalDatabaseBundlesRequest(input)
7679	req.SetContext(ctx)
7680	req.ApplyOptions(opts...)
7681	return out, req.Send()
7682}
7683
7684const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
7685
7686// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
7687// client's request for the GetRelationalDatabaseEvents operation. The "output" return
7688// value will be populated with the request's response once the request completes
7689// successfully.
7690//
7691// Use "Send" method on the returned Request to send the API call to the service.
7692// the "output" return value is not valid until after Send returns without error.
7693//
7694// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
7695// API call, and error handling.
7696//
7697// This method is useful when you want to inject custom logic or configuration
7698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7699//
7700//
7701//    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
7702//    req, resp := client.GetRelationalDatabaseEventsRequest(params)
7703//
7704//    err := req.Send()
7705//    if err == nil { // resp is now filled
7706//        fmt.Println(resp)
7707//    }
7708//
7709// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
7710func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
7711	op := &request.Operation{
7712		Name:       opGetRelationalDatabaseEvents,
7713		HTTPMethod: "POST",
7714		HTTPPath:   "/",
7715	}
7716
7717	if input == nil {
7718		input = &GetRelationalDatabaseEventsInput{}
7719	}
7720
7721	output = &GetRelationalDatabaseEventsOutput{}
7722	req = c.newRequest(op, input, output)
7723	return
7724}
7725
7726// GetRelationalDatabaseEvents API operation for Amazon Lightsail.
7727//
7728// Returns a list of events for a specific database in Amazon Lightsail.
7729//
7730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7731// with awserr.Error's Code and Message methods to get detailed information about
7732// the error.
7733//
7734// See the AWS API reference guide for Amazon Lightsail's
7735// API operation GetRelationalDatabaseEvents for usage and error information.
7736//
7737// Returned Error Codes:
7738//   * ErrCodeServiceException "ServiceException"
7739//   A general service exception.
7740//
7741//   * ErrCodeInvalidInputException "InvalidInputException"
7742//   Lightsail throws this exception when user input does not conform to the validation
7743//   rules of an input field.
7744//
7745//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7746//   Please set your AWS Region configuration to us-east-1 to create, view, or
7747//   edit these resources.
7748//
7749//   * ErrCodeNotFoundException "NotFoundException"
7750//   Lightsail throws this exception when it cannot find a resource.
7751//
7752//   * ErrCodeOperationFailureException "OperationFailureException"
7753//   Lightsail throws this exception when an operation fails to execute.
7754//
7755//   * ErrCodeAccessDeniedException "AccessDeniedException"
7756//   Lightsail throws this exception when the user cannot be authenticated or
7757//   uses invalid credentials to access a resource.
7758//
7759//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7760//   Lightsail throws this exception when an account is still in the setup in
7761//   progress state.
7762//
7763//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7764//   Lightsail throws this exception when the user has not been authenticated.
7765//
7766// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
7767func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
7768	req, out := c.GetRelationalDatabaseEventsRequest(input)
7769	return out, req.Send()
7770}
7771
7772// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
7773// the ability to pass a context and additional request options.
7774//
7775// See GetRelationalDatabaseEvents for details on how to use this API operation.
7776//
7777// The context must be non-nil and will be used for request cancellation. If
7778// the context is nil a panic will occur. In the future the SDK may create
7779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7780// for more information on using Contexts.
7781func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
7782	req, out := c.GetRelationalDatabaseEventsRequest(input)
7783	req.SetContext(ctx)
7784	req.ApplyOptions(opts...)
7785	return out, req.Send()
7786}
7787
7788const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
7789
7790// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
7791// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
7792// value will be populated with the request's response once the request completes
7793// successfully.
7794//
7795// Use "Send" method on the returned Request to send the API call to the service.
7796// the "output" return value is not valid until after Send returns without error.
7797//
7798// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
7799// API call, and error handling.
7800//
7801// This method is useful when you want to inject custom logic or configuration
7802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7803//
7804//
7805//    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
7806//    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
7807//
7808//    err := req.Send()
7809//    if err == nil { // resp is now filled
7810//        fmt.Println(resp)
7811//    }
7812//
7813// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
7814func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
7815	op := &request.Operation{
7816		Name:       opGetRelationalDatabaseLogEvents,
7817		HTTPMethod: "POST",
7818		HTTPPath:   "/",
7819	}
7820
7821	if input == nil {
7822		input = &GetRelationalDatabaseLogEventsInput{}
7823	}
7824
7825	output = &GetRelationalDatabaseLogEventsOutput{}
7826	req = c.newRequest(op, input, output)
7827	return
7828}
7829
7830// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
7831//
7832// Returns a list of log events for a database in Amazon Lightsail.
7833//
7834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7835// with awserr.Error's Code and Message methods to get detailed information about
7836// the error.
7837//
7838// See the AWS API reference guide for Amazon Lightsail's
7839// API operation GetRelationalDatabaseLogEvents for usage and error information.
7840//
7841// Returned Error Codes:
7842//   * ErrCodeServiceException "ServiceException"
7843//   A general service exception.
7844//
7845//   * ErrCodeInvalidInputException "InvalidInputException"
7846//   Lightsail throws this exception when user input does not conform to the validation
7847//   rules of an input field.
7848//
7849//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7850//   Please set your AWS Region configuration to us-east-1 to create, view, or
7851//   edit these resources.
7852//
7853//   * ErrCodeNotFoundException "NotFoundException"
7854//   Lightsail throws this exception when it cannot find a resource.
7855//
7856//   * ErrCodeOperationFailureException "OperationFailureException"
7857//   Lightsail throws this exception when an operation fails to execute.
7858//
7859//   * ErrCodeAccessDeniedException "AccessDeniedException"
7860//   Lightsail throws this exception when the user cannot be authenticated or
7861//   uses invalid credentials to access a resource.
7862//
7863//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7864//   Lightsail throws this exception when an account is still in the setup in
7865//   progress state.
7866//
7867//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7868//   Lightsail throws this exception when the user has not been authenticated.
7869//
7870// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
7871func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
7872	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
7873	return out, req.Send()
7874}
7875
7876// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
7877// the ability to pass a context and additional request options.
7878//
7879// See GetRelationalDatabaseLogEvents for details on how to use this API operation.
7880//
7881// The context must be non-nil and will be used for request cancellation. If
7882// the context is nil a panic will occur. In the future the SDK may create
7883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7884// for more information on using Contexts.
7885func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
7886	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
7887	req.SetContext(ctx)
7888	req.ApplyOptions(opts...)
7889	return out, req.Send()
7890}
7891
7892const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
7893
7894// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
7895// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
7896// value will be populated with the request's response once the request completes
7897// successfully.
7898//
7899// Use "Send" method on the returned Request to send the API call to the service.
7900// the "output" return value is not valid until after Send returns without error.
7901//
7902// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
7903// API call, and error handling.
7904//
7905// This method is useful when you want to inject custom logic or configuration
7906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7907//
7908//
7909//    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
7910//    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
7911//
7912//    err := req.Send()
7913//    if err == nil { // resp is now filled
7914//        fmt.Println(resp)
7915//    }
7916//
7917// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
7918func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
7919	op := &request.Operation{
7920		Name:       opGetRelationalDatabaseLogStreams,
7921		HTTPMethod: "POST",
7922		HTTPPath:   "/",
7923	}
7924
7925	if input == nil {
7926		input = &GetRelationalDatabaseLogStreamsInput{}
7927	}
7928
7929	output = &GetRelationalDatabaseLogStreamsOutput{}
7930	req = c.newRequest(op, input, output)
7931	return
7932}
7933
7934// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
7935//
7936// Returns a list of available log streams for a specific database in Amazon
7937// Lightsail.
7938//
7939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7940// with awserr.Error's Code and Message methods to get detailed information about
7941// the error.
7942//
7943// See the AWS API reference guide for Amazon Lightsail's
7944// API operation GetRelationalDatabaseLogStreams for usage and error information.
7945//
7946// Returned Error Codes:
7947//   * ErrCodeServiceException "ServiceException"
7948//   A general service exception.
7949//
7950//   * ErrCodeInvalidInputException "InvalidInputException"
7951//   Lightsail throws this exception when user input does not conform to the validation
7952//   rules of an input field.
7953//
7954//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7955//   Please set your AWS Region configuration to us-east-1 to create, view, or
7956//   edit these resources.
7957//
7958//   * ErrCodeNotFoundException "NotFoundException"
7959//   Lightsail throws this exception when it cannot find a resource.
7960//
7961//   * ErrCodeOperationFailureException "OperationFailureException"
7962//   Lightsail throws this exception when an operation fails to execute.
7963//
7964//   * ErrCodeAccessDeniedException "AccessDeniedException"
7965//   Lightsail throws this exception when the user cannot be authenticated or
7966//   uses invalid credentials to access a resource.
7967//
7968//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7969//   Lightsail throws this exception when an account is still in the setup in
7970//   progress state.
7971//
7972//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7973//   Lightsail throws this exception when the user has not been authenticated.
7974//
7975// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
7976func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
7977	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
7978	return out, req.Send()
7979}
7980
7981// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
7982// the ability to pass a context and additional request options.
7983//
7984// See GetRelationalDatabaseLogStreams for details on how to use this API operation.
7985//
7986// The context must be non-nil and will be used for request cancellation. If
7987// the context is nil a panic will occur. In the future the SDK may create
7988// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7989// for more information on using Contexts.
7990func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
7991	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
7992	req.SetContext(ctx)
7993	req.ApplyOptions(opts...)
7994	return out, req.Send()
7995}
7996
7997const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
7998
7999// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
8000// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
8001// value will be populated with the request's response once the request completes
8002// successfully.
8003//
8004// Use "Send" method on the returned Request to send the API call to the service.
8005// the "output" return value is not valid until after Send returns without error.
8006//
8007// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
8008// API call, and error handling.
8009//
8010// This method is useful when you want to inject custom logic or configuration
8011// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8012//
8013//
8014//    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
8015//    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
8016//
8017//    err := req.Send()
8018//    if err == nil { // resp is now filled
8019//        fmt.Println(resp)
8020//    }
8021//
8022// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
8023func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
8024	op := &request.Operation{
8025		Name:       opGetRelationalDatabaseMasterUserPassword,
8026		HTTPMethod: "POST",
8027		HTTPPath:   "/",
8028	}
8029
8030	if input == nil {
8031		input = &GetRelationalDatabaseMasterUserPasswordInput{}
8032	}
8033
8034	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
8035	req = c.newRequest(op, input, output)
8036	return
8037}
8038
8039// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
8040//
8041// Returns the current, previous, or pending versions of the master user password
8042// for a Lightsail database.
8043//
8044// The asdf operation GetRelationalDatabaseMasterUserPassword supports tag-based
8045// access control via resource tags applied to the resource identified by relationalDatabaseName.
8046//
8047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8048// with awserr.Error's Code and Message methods to get detailed information about
8049// the error.
8050//
8051// See the AWS API reference guide for Amazon Lightsail's
8052// API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
8053//
8054// Returned Error Codes:
8055//   * ErrCodeServiceException "ServiceException"
8056//   A general service exception.
8057//
8058//   * ErrCodeInvalidInputException "InvalidInputException"
8059//   Lightsail throws this exception when user input does not conform to the validation
8060//   rules of an input field.
8061//
8062//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8063//   Please set your AWS Region configuration to us-east-1 to create, view, or
8064//   edit these resources.
8065//
8066//   * ErrCodeNotFoundException "NotFoundException"
8067//   Lightsail throws this exception when it cannot find a resource.
8068//
8069//   * ErrCodeOperationFailureException "OperationFailureException"
8070//   Lightsail throws this exception when an operation fails to execute.
8071//
8072//   * ErrCodeAccessDeniedException "AccessDeniedException"
8073//   Lightsail throws this exception when the user cannot be authenticated or
8074//   uses invalid credentials to access a resource.
8075//
8076//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8077//   Lightsail throws this exception when an account is still in the setup in
8078//   progress state.
8079//
8080//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8081//   Lightsail throws this exception when the user has not been authenticated.
8082//
8083// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
8084func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
8085	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
8086	return out, req.Send()
8087}
8088
8089// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
8090// the ability to pass a context and additional request options.
8091//
8092// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
8093//
8094// The context must be non-nil and will be used for request cancellation. If
8095// the context is nil a panic will occur. In the future the SDK may create
8096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8097// for more information on using Contexts.
8098func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
8099	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
8100	req.SetContext(ctx)
8101	req.ApplyOptions(opts...)
8102	return out, req.Send()
8103}
8104
8105const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
8106
8107// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
8108// client's request for the GetRelationalDatabaseMetricData operation. The "output" return
8109// value will be populated with the request's response once the request completes
8110// successfully.
8111//
8112// Use "Send" method on the returned Request to send the API call to the service.
8113// the "output" return value is not valid until after Send returns without error.
8114//
8115// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
8116// API call, and error handling.
8117//
8118// This method is useful when you want to inject custom logic or configuration
8119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8120//
8121//
8122//    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
8123//    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
8124//
8125//    err := req.Send()
8126//    if err == nil { // resp is now filled
8127//        fmt.Println(resp)
8128//    }
8129//
8130// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
8131func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
8132	op := &request.Operation{
8133		Name:       opGetRelationalDatabaseMetricData,
8134		HTTPMethod: "POST",
8135		HTTPPath:   "/",
8136	}
8137
8138	if input == nil {
8139		input = &GetRelationalDatabaseMetricDataInput{}
8140	}
8141
8142	output = &GetRelationalDatabaseMetricDataOutput{}
8143	req = c.newRequest(op, input, output)
8144	return
8145}
8146
8147// GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
8148//
8149// Returns the data points of the specified metric for a database in Amazon
8150// Lightsail.
8151//
8152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8153// with awserr.Error's Code and Message methods to get detailed information about
8154// the error.
8155//
8156// See the AWS API reference guide for Amazon Lightsail's
8157// API operation GetRelationalDatabaseMetricData for usage and error information.
8158//
8159// Returned Error Codes:
8160//   * ErrCodeServiceException "ServiceException"
8161//   A general service exception.
8162//
8163//   * ErrCodeInvalidInputException "InvalidInputException"
8164//   Lightsail throws this exception when user input does not conform to the validation
8165//   rules of an input field.
8166//
8167//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8168//   Please set your AWS Region configuration to us-east-1 to create, view, or
8169//   edit these resources.
8170//
8171//   * ErrCodeNotFoundException "NotFoundException"
8172//   Lightsail throws this exception when it cannot find a resource.
8173//
8174//   * ErrCodeOperationFailureException "OperationFailureException"
8175//   Lightsail throws this exception when an operation fails to execute.
8176//
8177//   * ErrCodeAccessDeniedException "AccessDeniedException"
8178//   Lightsail throws this exception when the user cannot be authenticated or
8179//   uses invalid credentials to access a resource.
8180//
8181//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8182//   Lightsail throws this exception when an account is still in the setup in
8183//   progress state.
8184//
8185//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8186//   Lightsail throws this exception when the user has not been authenticated.
8187//
8188// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
8189func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
8190	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
8191	return out, req.Send()
8192}
8193
8194// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
8195// the ability to pass a context and additional request options.
8196//
8197// See GetRelationalDatabaseMetricData for details on how to use this API operation.
8198//
8199// The context must be non-nil and will be used for request cancellation. If
8200// the context is nil a panic will occur. In the future the SDK may create
8201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8202// for more information on using Contexts.
8203func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
8204	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
8205	req.SetContext(ctx)
8206	req.ApplyOptions(opts...)
8207	return out, req.Send()
8208}
8209
8210const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
8211
8212// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
8213// client's request for the GetRelationalDatabaseParameters operation. The "output" return
8214// value will be populated with the request's response once the request completes
8215// successfully.
8216//
8217// Use "Send" method on the returned Request to send the API call to the service.
8218// the "output" return value is not valid until after Send returns without error.
8219//
8220// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
8221// API call, and error handling.
8222//
8223// This method is useful when you want to inject custom logic or configuration
8224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8225//
8226//
8227//    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
8228//    req, resp := client.GetRelationalDatabaseParametersRequest(params)
8229//
8230//    err := req.Send()
8231//    if err == nil { // resp is now filled
8232//        fmt.Println(resp)
8233//    }
8234//
8235// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
8236func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
8237	op := &request.Operation{
8238		Name:       opGetRelationalDatabaseParameters,
8239		HTTPMethod: "POST",
8240		HTTPPath:   "/",
8241	}
8242
8243	if input == nil {
8244		input = &GetRelationalDatabaseParametersInput{}
8245	}
8246
8247	output = &GetRelationalDatabaseParametersOutput{}
8248	req = c.newRequest(op, input, output)
8249	return
8250}
8251
8252// GetRelationalDatabaseParameters API operation for Amazon Lightsail.
8253//
8254// Returns all of the runtime parameters offered by the underlying database
8255// software, or engine, for a specific database in Amazon Lightsail.
8256//
8257// In addition to the parameter names and values, this operation returns other
8258// information about each parameter. This information includes whether changes
8259// require a reboot, whether the parameter is modifiable, the allowed values,
8260// and the data types.
8261//
8262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8263// with awserr.Error's Code and Message methods to get detailed information about
8264// the error.
8265//
8266// See the AWS API reference guide for Amazon Lightsail's
8267// API operation GetRelationalDatabaseParameters for usage and error information.
8268//
8269// Returned Error Codes:
8270//   * ErrCodeServiceException "ServiceException"
8271//   A general service exception.
8272//
8273//   * ErrCodeInvalidInputException "InvalidInputException"
8274//   Lightsail throws this exception when user input does not conform to the validation
8275//   rules of an input field.
8276//
8277//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8278//   Please set your AWS Region configuration to us-east-1 to create, view, or
8279//   edit these resources.
8280//
8281//   * ErrCodeNotFoundException "NotFoundException"
8282//   Lightsail throws this exception when it cannot find a resource.
8283//
8284//   * ErrCodeOperationFailureException "OperationFailureException"
8285//   Lightsail throws this exception when an operation fails to execute.
8286//
8287//   * ErrCodeAccessDeniedException "AccessDeniedException"
8288//   Lightsail throws this exception when the user cannot be authenticated or
8289//   uses invalid credentials to access a resource.
8290//
8291//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8292//   Lightsail throws this exception when an account is still in the setup in
8293//   progress state.
8294//
8295//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8296//   Lightsail throws this exception when the user has not been authenticated.
8297//
8298// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
8299func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
8300	req, out := c.GetRelationalDatabaseParametersRequest(input)
8301	return out, req.Send()
8302}
8303
8304// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
8305// the ability to pass a context and additional request options.
8306//
8307// See GetRelationalDatabaseParameters for details on how to use this API operation.
8308//
8309// The context must be non-nil and will be used for request cancellation. If
8310// the context is nil a panic will occur. In the future the SDK may create
8311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8312// for more information on using Contexts.
8313func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
8314	req, out := c.GetRelationalDatabaseParametersRequest(input)
8315	req.SetContext(ctx)
8316	req.ApplyOptions(opts...)
8317	return out, req.Send()
8318}
8319
8320const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
8321
8322// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
8323// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
8324// value will be populated with the request's response once the request completes
8325// successfully.
8326//
8327// Use "Send" method on the returned Request to send the API call to the service.
8328// the "output" return value is not valid until after Send returns without error.
8329//
8330// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
8331// API call, and error handling.
8332//
8333// This method is useful when you want to inject custom logic or configuration
8334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8335//
8336//
8337//    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
8338//    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
8339//
8340//    err := req.Send()
8341//    if err == nil { // resp is now filled
8342//        fmt.Println(resp)
8343//    }
8344//
8345// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
8346func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
8347	op := &request.Operation{
8348		Name:       opGetRelationalDatabaseSnapshot,
8349		HTTPMethod: "POST",
8350		HTTPPath:   "/",
8351	}
8352
8353	if input == nil {
8354		input = &GetRelationalDatabaseSnapshotInput{}
8355	}
8356
8357	output = &GetRelationalDatabaseSnapshotOutput{}
8358	req = c.newRequest(op, input, output)
8359	return
8360}
8361
8362// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
8363//
8364// Returns information about a specific database snapshot in Amazon Lightsail.
8365//
8366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8367// with awserr.Error's Code and Message methods to get detailed information about
8368// the error.
8369//
8370// See the AWS API reference guide for Amazon Lightsail's
8371// API operation GetRelationalDatabaseSnapshot for usage and error information.
8372//
8373// Returned Error Codes:
8374//   * ErrCodeServiceException "ServiceException"
8375//   A general service exception.
8376//
8377//   * ErrCodeInvalidInputException "InvalidInputException"
8378//   Lightsail throws this exception when user input does not conform to the validation
8379//   rules of an input field.
8380//
8381//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8382//   Please set your AWS Region configuration to us-east-1 to create, view, or
8383//   edit these resources.
8384//
8385//   * ErrCodeNotFoundException "NotFoundException"
8386//   Lightsail throws this exception when it cannot find a resource.
8387//
8388//   * ErrCodeOperationFailureException "OperationFailureException"
8389//   Lightsail throws this exception when an operation fails to execute.
8390//
8391//   * ErrCodeAccessDeniedException "AccessDeniedException"
8392//   Lightsail throws this exception when the user cannot be authenticated or
8393//   uses invalid credentials to access a resource.
8394//
8395//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8396//   Lightsail throws this exception when an account is still in the setup in
8397//   progress state.
8398//
8399//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8400//   Lightsail throws this exception when the user has not been authenticated.
8401//
8402// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
8403func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
8404	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
8405	return out, req.Send()
8406}
8407
8408// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
8409// the ability to pass a context and additional request options.
8410//
8411// See GetRelationalDatabaseSnapshot for details on how to use this API operation.
8412//
8413// The context must be non-nil and will be used for request cancellation. If
8414// the context is nil a panic will occur. In the future the SDK may create
8415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8416// for more information on using Contexts.
8417func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
8418	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
8419	req.SetContext(ctx)
8420	req.ApplyOptions(opts...)
8421	return out, req.Send()
8422}
8423
8424const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
8425
8426// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
8427// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
8428// value will be populated with the request's response once the request completes
8429// successfully.
8430//
8431// Use "Send" method on the returned Request to send the API call to the service.
8432// the "output" return value is not valid until after Send returns without error.
8433//
8434// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
8435// API call, and error handling.
8436//
8437// This method is useful when you want to inject custom logic or configuration
8438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8439//
8440//
8441//    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
8442//    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
8443//
8444//    err := req.Send()
8445//    if err == nil { // resp is now filled
8446//        fmt.Println(resp)
8447//    }
8448//
8449// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
8450func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
8451	op := &request.Operation{
8452		Name:       opGetRelationalDatabaseSnapshots,
8453		HTTPMethod: "POST",
8454		HTTPPath:   "/",
8455	}
8456
8457	if input == nil {
8458		input = &GetRelationalDatabaseSnapshotsInput{}
8459	}
8460
8461	output = &GetRelationalDatabaseSnapshotsOutput{}
8462	req = c.newRequest(op, input, output)
8463	return
8464}
8465
8466// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
8467//
8468// Returns information about all of your database snapshots in Amazon Lightsail.
8469//
8470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8471// with awserr.Error's Code and Message methods to get detailed information about
8472// the error.
8473//
8474// See the AWS API reference guide for Amazon Lightsail's
8475// API operation GetRelationalDatabaseSnapshots for usage and error information.
8476//
8477// Returned Error Codes:
8478//   * ErrCodeServiceException "ServiceException"
8479//   A general service exception.
8480//
8481//   * ErrCodeInvalidInputException "InvalidInputException"
8482//   Lightsail throws this exception when user input does not conform to the validation
8483//   rules of an input field.
8484//
8485//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8486//   Please set your AWS Region configuration to us-east-1 to create, view, or
8487//   edit these resources.
8488//
8489//   * ErrCodeNotFoundException "NotFoundException"
8490//   Lightsail throws this exception when it cannot find a resource.
8491//
8492//   * ErrCodeOperationFailureException "OperationFailureException"
8493//   Lightsail throws this exception when an operation fails to execute.
8494//
8495//   * ErrCodeAccessDeniedException "AccessDeniedException"
8496//   Lightsail throws this exception when the user cannot be authenticated or
8497//   uses invalid credentials to access a resource.
8498//
8499//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8500//   Lightsail throws this exception when an account is still in the setup in
8501//   progress state.
8502//
8503//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8504//   Lightsail throws this exception when the user has not been authenticated.
8505//
8506// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
8507func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
8508	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
8509	return out, req.Send()
8510}
8511
8512// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
8513// the ability to pass a context and additional request options.
8514//
8515// See GetRelationalDatabaseSnapshots for details on how to use this API operation.
8516//
8517// The context must be non-nil and will be used for request cancellation. If
8518// the context is nil a panic will occur. In the future the SDK may create
8519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8520// for more information on using Contexts.
8521func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
8522	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
8523	req.SetContext(ctx)
8524	req.ApplyOptions(opts...)
8525	return out, req.Send()
8526}
8527
8528const opGetRelationalDatabases = "GetRelationalDatabases"
8529
8530// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
8531// client's request for the GetRelationalDatabases operation. The "output" return
8532// value will be populated with the request's response once the request completes
8533// successfully.
8534//
8535// Use "Send" method on the returned Request to send the API call to the service.
8536// the "output" return value is not valid until after Send returns without error.
8537//
8538// See GetRelationalDatabases for more information on using the GetRelationalDatabases
8539// API call, and error handling.
8540//
8541// This method is useful when you want to inject custom logic or configuration
8542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8543//
8544//
8545//    // Example sending a request using the GetRelationalDatabasesRequest method.
8546//    req, resp := client.GetRelationalDatabasesRequest(params)
8547//
8548//    err := req.Send()
8549//    if err == nil { // resp is now filled
8550//        fmt.Println(resp)
8551//    }
8552//
8553// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
8554func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
8555	op := &request.Operation{
8556		Name:       opGetRelationalDatabases,
8557		HTTPMethod: "POST",
8558		HTTPPath:   "/",
8559	}
8560
8561	if input == nil {
8562		input = &GetRelationalDatabasesInput{}
8563	}
8564
8565	output = &GetRelationalDatabasesOutput{}
8566	req = c.newRequest(op, input, output)
8567	return
8568}
8569
8570// GetRelationalDatabases API operation for Amazon Lightsail.
8571//
8572// Returns information about all of your databases in Amazon Lightsail.
8573//
8574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8575// with awserr.Error's Code and Message methods to get detailed information about
8576// the error.
8577//
8578// See the AWS API reference guide for Amazon Lightsail's
8579// API operation GetRelationalDatabases for usage and error information.
8580//
8581// Returned Error Codes:
8582//   * ErrCodeServiceException "ServiceException"
8583//   A general service exception.
8584//
8585//   * ErrCodeInvalidInputException "InvalidInputException"
8586//   Lightsail throws this exception when user input does not conform to the validation
8587//   rules of an input field.
8588//
8589//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8590//   Please set your AWS Region configuration to us-east-1 to create, view, or
8591//   edit these resources.
8592//
8593//   * ErrCodeNotFoundException "NotFoundException"
8594//   Lightsail throws this exception when it cannot find a resource.
8595//
8596//   * ErrCodeOperationFailureException "OperationFailureException"
8597//   Lightsail throws this exception when an operation fails to execute.
8598//
8599//   * ErrCodeAccessDeniedException "AccessDeniedException"
8600//   Lightsail throws this exception when the user cannot be authenticated or
8601//   uses invalid credentials to access a resource.
8602//
8603//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8604//   Lightsail throws this exception when an account is still in the setup in
8605//   progress state.
8606//
8607//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8608//   Lightsail throws this exception when the user has not been authenticated.
8609//
8610// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
8611func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
8612	req, out := c.GetRelationalDatabasesRequest(input)
8613	return out, req.Send()
8614}
8615
8616// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
8617// the ability to pass a context and additional request options.
8618//
8619// See GetRelationalDatabases for details on how to use this API operation.
8620//
8621// The context must be non-nil and will be used for request cancellation. If
8622// the context is nil a panic will occur. In the future the SDK may create
8623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8624// for more information on using Contexts.
8625func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
8626	req, out := c.GetRelationalDatabasesRequest(input)
8627	req.SetContext(ctx)
8628	req.ApplyOptions(opts...)
8629	return out, req.Send()
8630}
8631
8632const opGetStaticIp = "GetStaticIp"
8633
8634// GetStaticIpRequest generates a "aws/request.Request" representing the
8635// client's request for the GetStaticIp operation. The "output" return
8636// value will be populated with the request's response once the request completes
8637// successfully.
8638//
8639// Use "Send" method on the returned Request to send the API call to the service.
8640// the "output" return value is not valid until after Send returns without error.
8641//
8642// See GetStaticIp for more information on using the GetStaticIp
8643// API call, and error handling.
8644//
8645// This method is useful when you want to inject custom logic or configuration
8646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8647//
8648//
8649//    // Example sending a request using the GetStaticIpRequest method.
8650//    req, resp := client.GetStaticIpRequest(params)
8651//
8652//    err := req.Send()
8653//    if err == nil { // resp is now filled
8654//        fmt.Println(resp)
8655//    }
8656//
8657// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
8658func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
8659	op := &request.Operation{
8660		Name:       opGetStaticIp,
8661		HTTPMethod: "POST",
8662		HTTPPath:   "/",
8663	}
8664
8665	if input == nil {
8666		input = &GetStaticIpInput{}
8667	}
8668
8669	output = &GetStaticIpOutput{}
8670	req = c.newRequest(op, input, output)
8671	return
8672}
8673
8674// GetStaticIp API operation for Amazon Lightsail.
8675//
8676// Returns information about a specific static IP.
8677//
8678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8679// with awserr.Error's Code and Message methods to get detailed information about
8680// the error.
8681//
8682// See the AWS API reference guide for Amazon Lightsail's
8683// API operation GetStaticIp for usage and error information.
8684//
8685// Returned Error Codes:
8686//   * ErrCodeServiceException "ServiceException"
8687//   A general service exception.
8688//
8689//   * ErrCodeInvalidInputException "InvalidInputException"
8690//   Lightsail throws this exception when user input does not conform to the validation
8691//   rules of an input field.
8692//
8693//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8694//   Please set your AWS Region configuration to us-east-1 to create, view, or
8695//   edit these resources.
8696//
8697//   * ErrCodeNotFoundException "NotFoundException"
8698//   Lightsail throws this exception when it cannot find a resource.
8699//
8700//   * ErrCodeOperationFailureException "OperationFailureException"
8701//   Lightsail throws this exception when an operation fails to execute.
8702//
8703//   * ErrCodeAccessDeniedException "AccessDeniedException"
8704//   Lightsail throws this exception when the user cannot be authenticated or
8705//   uses invalid credentials to access a resource.
8706//
8707//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8708//   Lightsail throws this exception when an account is still in the setup in
8709//   progress state.
8710//
8711//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8712//   Lightsail throws this exception when the user has not been authenticated.
8713//
8714// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
8715func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
8716	req, out := c.GetStaticIpRequest(input)
8717	return out, req.Send()
8718}
8719
8720// GetStaticIpWithContext is the same as GetStaticIp with the addition of
8721// the ability to pass a context and additional request options.
8722//
8723// See GetStaticIp for details on how to use this API operation.
8724//
8725// The context must be non-nil and will be used for request cancellation. If
8726// the context is nil a panic will occur. In the future the SDK may create
8727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8728// for more information on using Contexts.
8729func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
8730	req, out := c.GetStaticIpRequest(input)
8731	req.SetContext(ctx)
8732	req.ApplyOptions(opts...)
8733	return out, req.Send()
8734}
8735
8736const opGetStaticIps = "GetStaticIps"
8737
8738// GetStaticIpsRequest generates a "aws/request.Request" representing the
8739// client's request for the GetStaticIps operation. The "output" return
8740// value will be populated with the request's response once the request completes
8741// successfully.
8742//
8743// Use "Send" method on the returned Request to send the API call to the service.
8744// the "output" return value is not valid until after Send returns without error.
8745//
8746// See GetStaticIps for more information on using the GetStaticIps
8747// API call, and error handling.
8748//
8749// This method is useful when you want to inject custom logic or configuration
8750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8751//
8752//
8753//    // Example sending a request using the GetStaticIpsRequest method.
8754//    req, resp := client.GetStaticIpsRequest(params)
8755//
8756//    err := req.Send()
8757//    if err == nil { // resp is now filled
8758//        fmt.Println(resp)
8759//    }
8760//
8761// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
8762func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
8763	op := &request.Operation{
8764		Name:       opGetStaticIps,
8765		HTTPMethod: "POST",
8766		HTTPPath:   "/",
8767	}
8768
8769	if input == nil {
8770		input = &GetStaticIpsInput{}
8771	}
8772
8773	output = &GetStaticIpsOutput{}
8774	req = c.newRequest(op, input, output)
8775	return
8776}
8777
8778// GetStaticIps API operation for Amazon Lightsail.
8779//
8780// Returns information about all static IPs in the user's account.
8781//
8782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8783// with awserr.Error's Code and Message methods to get detailed information about
8784// the error.
8785//
8786// See the AWS API reference guide for Amazon Lightsail's
8787// API operation GetStaticIps for usage and error information.
8788//
8789// Returned Error Codes:
8790//   * ErrCodeServiceException "ServiceException"
8791//   A general service exception.
8792//
8793//   * ErrCodeInvalidInputException "InvalidInputException"
8794//   Lightsail throws this exception when user input does not conform to the validation
8795//   rules of an input field.
8796//
8797//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8798//   Please set your AWS Region configuration to us-east-1 to create, view, or
8799//   edit these resources.
8800//
8801//   * ErrCodeNotFoundException "NotFoundException"
8802//   Lightsail throws this exception when it cannot find a resource.
8803//
8804//   * ErrCodeOperationFailureException "OperationFailureException"
8805//   Lightsail throws this exception when an operation fails to execute.
8806//
8807//   * ErrCodeAccessDeniedException "AccessDeniedException"
8808//   Lightsail throws this exception when the user cannot be authenticated or
8809//   uses invalid credentials to access a resource.
8810//
8811//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8812//   Lightsail throws this exception when an account is still in the setup in
8813//   progress state.
8814//
8815//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8816//   Lightsail throws this exception when the user has not been authenticated.
8817//
8818// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
8819func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
8820	req, out := c.GetStaticIpsRequest(input)
8821	return out, req.Send()
8822}
8823
8824// GetStaticIpsWithContext is the same as GetStaticIps with the addition of
8825// the ability to pass a context and additional request options.
8826//
8827// See GetStaticIps for details on how to use this API operation.
8828//
8829// The context must be non-nil and will be used for request cancellation. If
8830// the context is nil a panic will occur. In the future the SDK may create
8831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8832// for more information on using Contexts.
8833func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
8834	req, out := c.GetStaticIpsRequest(input)
8835	req.SetContext(ctx)
8836	req.ApplyOptions(opts...)
8837	return out, req.Send()
8838}
8839
8840const opImportKeyPair = "ImportKeyPair"
8841
8842// ImportKeyPairRequest generates a "aws/request.Request" representing the
8843// client's request for the ImportKeyPair operation. The "output" return
8844// value will be populated with the request's response once the request completes
8845// successfully.
8846//
8847// Use "Send" method on the returned Request to send the API call to the service.
8848// the "output" return value is not valid until after Send returns without error.
8849//
8850// See ImportKeyPair for more information on using the ImportKeyPair
8851// API call, and error handling.
8852//
8853// This method is useful when you want to inject custom logic or configuration
8854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8855//
8856//
8857//    // Example sending a request using the ImportKeyPairRequest method.
8858//    req, resp := client.ImportKeyPairRequest(params)
8859//
8860//    err := req.Send()
8861//    if err == nil { // resp is now filled
8862//        fmt.Println(resp)
8863//    }
8864//
8865// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
8866func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
8867	op := &request.Operation{
8868		Name:       opImportKeyPair,
8869		HTTPMethod: "POST",
8870		HTTPPath:   "/",
8871	}
8872
8873	if input == nil {
8874		input = &ImportKeyPairInput{}
8875	}
8876
8877	output = &ImportKeyPairOutput{}
8878	req = c.newRequest(op, input, output)
8879	return
8880}
8881
8882// ImportKeyPair API operation for Amazon Lightsail.
8883//
8884// Imports a public SSH key from a specific key pair.
8885//
8886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8887// with awserr.Error's Code and Message methods to get detailed information about
8888// the error.
8889//
8890// See the AWS API reference guide for Amazon Lightsail's
8891// API operation ImportKeyPair for usage and error information.
8892//
8893// Returned Error Codes:
8894//   * ErrCodeServiceException "ServiceException"
8895//   A general service exception.
8896//
8897//   * ErrCodeInvalidInputException "InvalidInputException"
8898//   Lightsail throws this exception when user input does not conform to the validation
8899//   rules of an input field.
8900//
8901//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8902//   Please set your AWS Region configuration to us-east-1 to create, view, or
8903//   edit these resources.
8904//
8905//   * ErrCodeNotFoundException "NotFoundException"
8906//   Lightsail throws this exception when it cannot find a resource.
8907//
8908//   * ErrCodeOperationFailureException "OperationFailureException"
8909//   Lightsail throws this exception when an operation fails to execute.
8910//
8911//   * ErrCodeAccessDeniedException "AccessDeniedException"
8912//   Lightsail throws this exception when the user cannot be authenticated or
8913//   uses invalid credentials to access a resource.
8914//
8915//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8916//   Lightsail throws this exception when an account is still in the setup in
8917//   progress state.
8918//
8919//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8920//   Lightsail throws this exception when the user has not been authenticated.
8921//
8922// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
8923func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
8924	req, out := c.ImportKeyPairRequest(input)
8925	return out, req.Send()
8926}
8927
8928// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
8929// the ability to pass a context and additional request options.
8930//
8931// See ImportKeyPair for details on how to use this API operation.
8932//
8933// The context must be non-nil and will be used for request cancellation. If
8934// the context is nil a panic will occur. In the future the SDK may create
8935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8936// for more information on using Contexts.
8937func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
8938	req, out := c.ImportKeyPairRequest(input)
8939	req.SetContext(ctx)
8940	req.ApplyOptions(opts...)
8941	return out, req.Send()
8942}
8943
8944const opIsVpcPeered = "IsVpcPeered"
8945
8946// IsVpcPeeredRequest generates a "aws/request.Request" representing the
8947// client's request for the IsVpcPeered operation. The "output" return
8948// value will be populated with the request's response once the request completes
8949// successfully.
8950//
8951// Use "Send" method on the returned Request to send the API call to the service.
8952// the "output" return value is not valid until after Send returns without error.
8953//
8954// See IsVpcPeered for more information on using the IsVpcPeered
8955// API call, and error handling.
8956//
8957// This method is useful when you want to inject custom logic or configuration
8958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8959//
8960//
8961//    // Example sending a request using the IsVpcPeeredRequest method.
8962//    req, resp := client.IsVpcPeeredRequest(params)
8963//
8964//    err := req.Send()
8965//    if err == nil { // resp is now filled
8966//        fmt.Println(resp)
8967//    }
8968//
8969// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
8970func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
8971	op := &request.Operation{
8972		Name:       opIsVpcPeered,
8973		HTTPMethod: "POST",
8974		HTTPPath:   "/",
8975	}
8976
8977	if input == nil {
8978		input = &IsVpcPeeredInput{}
8979	}
8980
8981	output = &IsVpcPeeredOutput{}
8982	req = c.newRequest(op, input, output)
8983	return
8984}
8985
8986// IsVpcPeered API operation for Amazon Lightsail.
8987//
8988// Returns a Boolean value indicating whether your Lightsail VPC is peered.
8989//
8990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8991// with awserr.Error's Code and Message methods to get detailed information about
8992// the error.
8993//
8994// See the AWS API reference guide for Amazon Lightsail's
8995// API operation IsVpcPeered for usage and error information.
8996//
8997// Returned Error Codes:
8998//   * ErrCodeServiceException "ServiceException"
8999//   A general service exception.
9000//
9001//   * ErrCodeInvalidInputException "InvalidInputException"
9002//   Lightsail throws this exception when user input does not conform to the validation
9003//   rules of an input field.
9004//
9005//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9006//   Please set your AWS Region configuration to us-east-1 to create, view, or
9007//   edit these resources.
9008//
9009//   * ErrCodeNotFoundException "NotFoundException"
9010//   Lightsail throws this exception when it cannot find a resource.
9011//
9012//   * ErrCodeOperationFailureException "OperationFailureException"
9013//   Lightsail throws this exception when an operation fails to execute.
9014//
9015//   * ErrCodeAccessDeniedException "AccessDeniedException"
9016//   Lightsail throws this exception when the user cannot be authenticated or
9017//   uses invalid credentials to access a resource.
9018//
9019//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9020//   Lightsail throws this exception when an account is still in the setup in
9021//   progress state.
9022//
9023//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9024//   Lightsail throws this exception when the user has not been authenticated.
9025//
9026// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
9027func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
9028	req, out := c.IsVpcPeeredRequest(input)
9029	return out, req.Send()
9030}
9031
9032// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
9033// the ability to pass a context and additional request options.
9034//
9035// See IsVpcPeered for details on how to use this API operation.
9036//
9037// The context must be non-nil and will be used for request cancellation. If
9038// the context is nil a panic will occur. In the future the SDK may create
9039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9040// for more information on using Contexts.
9041func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
9042	req, out := c.IsVpcPeeredRequest(input)
9043	req.SetContext(ctx)
9044	req.ApplyOptions(opts...)
9045	return out, req.Send()
9046}
9047
9048const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
9049
9050// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
9051// client's request for the OpenInstancePublicPorts operation. The "output" return
9052// value will be populated with the request's response once the request completes
9053// successfully.
9054//
9055// Use "Send" method on the returned Request to send the API call to the service.
9056// the "output" return value is not valid until after Send returns without error.
9057//
9058// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
9059// API call, and error handling.
9060//
9061// This method is useful when you want to inject custom logic or configuration
9062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9063//
9064//
9065//    // Example sending a request using the OpenInstancePublicPortsRequest method.
9066//    req, resp := client.OpenInstancePublicPortsRequest(params)
9067//
9068//    err := req.Send()
9069//    if err == nil { // resp is now filled
9070//        fmt.Println(resp)
9071//    }
9072//
9073// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
9074func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
9075	op := &request.Operation{
9076		Name:       opOpenInstancePublicPorts,
9077		HTTPMethod: "POST",
9078		HTTPPath:   "/",
9079	}
9080
9081	if input == nil {
9082		input = &OpenInstancePublicPortsInput{}
9083	}
9084
9085	output = &OpenInstancePublicPortsOutput{}
9086	req = c.newRequest(op, input, output)
9087	return
9088}
9089
9090// OpenInstancePublicPorts API operation for Amazon Lightsail.
9091//
9092// Adds public ports to an Amazon Lightsail instance.
9093//
9094// The open instance public ports operation supports tag-based access control
9095// via resource tags applied to the resource identified by instanceName. For
9096// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9097//
9098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9099// with awserr.Error's Code and Message methods to get detailed information about
9100// the error.
9101//
9102// See the AWS API reference guide for Amazon Lightsail's
9103// API operation OpenInstancePublicPorts for usage and error information.
9104//
9105// Returned Error Codes:
9106//   * ErrCodeServiceException "ServiceException"
9107//   A general service exception.
9108//
9109//   * ErrCodeInvalidInputException "InvalidInputException"
9110//   Lightsail throws this exception when user input does not conform to the validation
9111//   rules of an input field.
9112//
9113//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9114//   Please set your AWS Region configuration to us-east-1 to create, view, or
9115//   edit these resources.
9116//
9117//   * ErrCodeNotFoundException "NotFoundException"
9118//   Lightsail throws this exception when it cannot find a resource.
9119//
9120//   * ErrCodeOperationFailureException "OperationFailureException"
9121//   Lightsail throws this exception when an operation fails to execute.
9122//
9123//   * ErrCodeAccessDeniedException "AccessDeniedException"
9124//   Lightsail throws this exception when the user cannot be authenticated or
9125//   uses invalid credentials to access a resource.
9126//
9127//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9128//   Lightsail throws this exception when an account is still in the setup in
9129//   progress state.
9130//
9131//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9132//   Lightsail throws this exception when the user has not been authenticated.
9133//
9134// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
9135func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
9136	req, out := c.OpenInstancePublicPortsRequest(input)
9137	return out, req.Send()
9138}
9139
9140// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
9141// the ability to pass a context and additional request options.
9142//
9143// See OpenInstancePublicPorts for details on how to use this API operation.
9144//
9145// The context must be non-nil and will be used for request cancellation. If
9146// the context is nil a panic will occur. In the future the SDK may create
9147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9148// for more information on using Contexts.
9149func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
9150	req, out := c.OpenInstancePublicPortsRequest(input)
9151	req.SetContext(ctx)
9152	req.ApplyOptions(opts...)
9153	return out, req.Send()
9154}
9155
9156const opPeerVpc = "PeerVpc"
9157
9158// PeerVpcRequest generates a "aws/request.Request" representing the
9159// client's request for the PeerVpc operation. The "output" return
9160// value will be populated with the request's response once the request completes
9161// successfully.
9162//
9163// Use "Send" method on the returned Request to send the API call to the service.
9164// the "output" return value is not valid until after Send returns without error.
9165//
9166// See PeerVpc for more information on using the PeerVpc
9167// API call, and error handling.
9168//
9169// This method is useful when you want to inject custom logic or configuration
9170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9171//
9172//
9173//    // Example sending a request using the PeerVpcRequest method.
9174//    req, resp := client.PeerVpcRequest(params)
9175//
9176//    err := req.Send()
9177//    if err == nil { // resp is now filled
9178//        fmt.Println(resp)
9179//    }
9180//
9181// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
9182func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
9183	op := &request.Operation{
9184		Name:       opPeerVpc,
9185		HTTPMethod: "POST",
9186		HTTPPath:   "/",
9187	}
9188
9189	if input == nil {
9190		input = &PeerVpcInput{}
9191	}
9192
9193	output = &PeerVpcOutput{}
9194	req = c.newRequest(op, input, output)
9195	return
9196}
9197
9198// PeerVpc API operation for Amazon Lightsail.
9199//
9200// Tries to peer the Lightsail VPC with the user's default VPC.
9201//
9202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9203// with awserr.Error's Code and Message methods to get detailed information about
9204// the error.
9205//
9206// See the AWS API reference guide for Amazon Lightsail's
9207// API operation PeerVpc for usage and error information.
9208//
9209// Returned Error Codes:
9210//   * ErrCodeServiceException "ServiceException"
9211//   A general service exception.
9212//
9213//   * ErrCodeInvalidInputException "InvalidInputException"
9214//   Lightsail throws this exception when user input does not conform to the validation
9215//   rules of an input field.
9216//
9217//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9218//   Please set your AWS Region configuration to us-east-1 to create, view, or
9219//   edit these resources.
9220//
9221//   * ErrCodeNotFoundException "NotFoundException"
9222//   Lightsail throws this exception when it cannot find a resource.
9223//
9224//   * ErrCodeOperationFailureException "OperationFailureException"
9225//   Lightsail throws this exception when an operation fails to execute.
9226//
9227//   * ErrCodeAccessDeniedException "AccessDeniedException"
9228//   Lightsail throws this exception when the user cannot be authenticated or
9229//   uses invalid credentials to access a resource.
9230//
9231//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9232//   Lightsail throws this exception when an account is still in the setup in
9233//   progress state.
9234//
9235//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9236//   Lightsail throws this exception when the user has not been authenticated.
9237//
9238// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
9239func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
9240	req, out := c.PeerVpcRequest(input)
9241	return out, req.Send()
9242}
9243
9244// PeerVpcWithContext is the same as PeerVpc with the addition of
9245// the ability to pass a context and additional request options.
9246//
9247// See PeerVpc for details on how to use this API operation.
9248//
9249// The context must be non-nil and will be used for request cancellation. If
9250// the context is nil a panic will occur. In the future the SDK may create
9251// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9252// for more information on using Contexts.
9253func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
9254	req, out := c.PeerVpcRequest(input)
9255	req.SetContext(ctx)
9256	req.ApplyOptions(opts...)
9257	return out, req.Send()
9258}
9259
9260const opPutInstancePublicPorts = "PutInstancePublicPorts"
9261
9262// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
9263// client's request for the PutInstancePublicPorts operation. The "output" return
9264// value will be populated with the request's response once the request completes
9265// successfully.
9266//
9267// Use "Send" method on the returned Request to send the API call to the service.
9268// the "output" return value is not valid until after Send returns without error.
9269//
9270// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
9271// API call, and error handling.
9272//
9273// This method is useful when you want to inject custom logic or configuration
9274// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9275//
9276//
9277//    // Example sending a request using the PutInstancePublicPortsRequest method.
9278//    req, resp := client.PutInstancePublicPortsRequest(params)
9279//
9280//    err := req.Send()
9281//    if err == nil { // resp is now filled
9282//        fmt.Println(resp)
9283//    }
9284//
9285// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
9286func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
9287	op := &request.Operation{
9288		Name:       opPutInstancePublicPorts,
9289		HTTPMethod: "POST",
9290		HTTPPath:   "/",
9291	}
9292
9293	if input == nil {
9294		input = &PutInstancePublicPortsInput{}
9295	}
9296
9297	output = &PutInstancePublicPortsOutput{}
9298	req = c.newRequest(op, input, output)
9299	return
9300}
9301
9302// PutInstancePublicPorts API operation for Amazon Lightsail.
9303//
9304// Sets the specified open ports for an Amazon Lightsail instance, and closes
9305// all ports for every protocol not included in the current request.
9306//
9307// The put instance public ports operation supports tag-based access control
9308// via resource tags applied to the resource identified by instanceName. For
9309// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9310//
9311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9312// with awserr.Error's Code and Message methods to get detailed information about
9313// the error.
9314//
9315// See the AWS API reference guide for Amazon Lightsail's
9316// API operation PutInstancePublicPorts for usage and error information.
9317//
9318// Returned Error Codes:
9319//   * ErrCodeServiceException "ServiceException"
9320//   A general service exception.
9321//
9322//   * ErrCodeInvalidInputException "InvalidInputException"
9323//   Lightsail throws this exception when user input does not conform to the validation
9324//   rules of an input field.
9325//
9326//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9327//   Please set your AWS Region configuration to us-east-1 to create, view, or
9328//   edit these resources.
9329//
9330//   * ErrCodeNotFoundException "NotFoundException"
9331//   Lightsail throws this exception when it cannot find a resource.
9332//
9333//   * ErrCodeOperationFailureException "OperationFailureException"
9334//   Lightsail throws this exception when an operation fails to execute.
9335//
9336//   * ErrCodeAccessDeniedException "AccessDeniedException"
9337//   Lightsail throws this exception when the user cannot be authenticated or
9338//   uses invalid credentials to access a resource.
9339//
9340//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9341//   Lightsail throws this exception when an account is still in the setup in
9342//   progress state.
9343//
9344//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9345//   Lightsail throws this exception when the user has not been authenticated.
9346//
9347// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
9348func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
9349	req, out := c.PutInstancePublicPortsRequest(input)
9350	return out, req.Send()
9351}
9352
9353// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
9354// the ability to pass a context and additional request options.
9355//
9356// See PutInstancePublicPorts for details on how to use this API operation.
9357//
9358// The context must be non-nil and will be used for request cancellation. If
9359// the context is nil a panic will occur. In the future the SDK may create
9360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9361// for more information on using Contexts.
9362func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
9363	req, out := c.PutInstancePublicPortsRequest(input)
9364	req.SetContext(ctx)
9365	req.ApplyOptions(opts...)
9366	return out, req.Send()
9367}
9368
9369const opRebootInstance = "RebootInstance"
9370
9371// RebootInstanceRequest generates a "aws/request.Request" representing the
9372// client's request for the RebootInstance operation. The "output" return
9373// value will be populated with the request's response once the request completes
9374// successfully.
9375//
9376// Use "Send" method on the returned Request to send the API call to the service.
9377// the "output" return value is not valid until after Send returns without error.
9378//
9379// See RebootInstance for more information on using the RebootInstance
9380// API call, and error handling.
9381//
9382// This method is useful when you want to inject custom logic or configuration
9383// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9384//
9385//
9386//    // Example sending a request using the RebootInstanceRequest method.
9387//    req, resp := client.RebootInstanceRequest(params)
9388//
9389//    err := req.Send()
9390//    if err == nil { // resp is now filled
9391//        fmt.Println(resp)
9392//    }
9393//
9394// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
9395func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
9396	op := &request.Operation{
9397		Name:       opRebootInstance,
9398		HTTPMethod: "POST",
9399		HTTPPath:   "/",
9400	}
9401
9402	if input == nil {
9403		input = &RebootInstanceInput{}
9404	}
9405
9406	output = &RebootInstanceOutput{}
9407	req = c.newRequest(op, input, output)
9408	return
9409}
9410
9411// RebootInstance API operation for Amazon Lightsail.
9412//
9413// Restarts a specific instance.
9414//
9415// The reboot instance operation supports tag-based access control via resource
9416// tags applied to the resource identified by instanceName. For more information,
9417// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9418//
9419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9420// with awserr.Error's Code and Message methods to get detailed information about
9421// the error.
9422//
9423// See the AWS API reference guide for Amazon Lightsail's
9424// API operation RebootInstance for usage and error information.
9425//
9426// Returned Error Codes:
9427//   * ErrCodeServiceException "ServiceException"
9428//   A general service exception.
9429//
9430//   * ErrCodeInvalidInputException "InvalidInputException"
9431//   Lightsail throws this exception when user input does not conform to the validation
9432//   rules of an input field.
9433//
9434//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9435//   Please set your AWS Region configuration to us-east-1 to create, view, or
9436//   edit these resources.
9437//
9438//   * ErrCodeNotFoundException "NotFoundException"
9439//   Lightsail throws this exception when it cannot find a resource.
9440//
9441//   * ErrCodeOperationFailureException "OperationFailureException"
9442//   Lightsail throws this exception when an operation fails to execute.
9443//
9444//   * ErrCodeAccessDeniedException "AccessDeniedException"
9445//   Lightsail throws this exception when the user cannot be authenticated or
9446//   uses invalid credentials to access a resource.
9447//
9448//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9449//   Lightsail throws this exception when an account is still in the setup in
9450//   progress state.
9451//
9452//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9453//   Lightsail throws this exception when the user has not been authenticated.
9454//
9455// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
9456func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
9457	req, out := c.RebootInstanceRequest(input)
9458	return out, req.Send()
9459}
9460
9461// RebootInstanceWithContext is the same as RebootInstance with the addition of
9462// the ability to pass a context and additional request options.
9463//
9464// See RebootInstance for details on how to use this API operation.
9465//
9466// The context must be non-nil and will be used for request cancellation. If
9467// the context is nil a panic will occur. In the future the SDK may create
9468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9469// for more information on using Contexts.
9470func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
9471	req, out := c.RebootInstanceRequest(input)
9472	req.SetContext(ctx)
9473	req.ApplyOptions(opts...)
9474	return out, req.Send()
9475}
9476
9477const opRebootRelationalDatabase = "RebootRelationalDatabase"
9478
9479// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
9480// client's request for the RebootRelationalDatabase operation. The "output" return
9481// value will be populated with the request's response once the request completes
9482// successfully.
9483//
9484// Use "Send" method on the returned Request to send the API call to the service.
9485// the "output" return value is not valid until after Send returns without error.
9486//
9487// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
9488// API call, and error handling.
9489//
9490// This method is useful when you want to inject custom logic or configuration
9491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9492//
9493//
9494//    // Example sending a request using the RebootRelationalDatabaseRequest method.
9495//    req, resp := client.RebootRelationalDatabaseRequest(params)
9496//
9497//    err := req.Send()
9498//    if err == nil { // resp is now filled
9499//        fmt.Println(resp)
9500//    }
9501//
9502// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
9503func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
9504	op := &request.Operation{
9505		Name:       opRebootRelationalDatabase,
9506		HTTPMethod: "POST",
9507		HTTPPath:   "/",
9508	}
9509
9510	if input == nil {
9511		input = &RebootRelationalDatabaseInput{}
9512	}
9513
9514	output = &RebootRelationalDatabaseOutput{}
9515	req = c.newRequest(op, input, output)
9516	return
9517}
9518
9519// RebootRelationalDatabase API operation for Amazon Lightsail.
9520//
9521// Restarts a specific database in Amazon Lightsail.
9522//
9523// The reboot relational database operation supports tag-based access control
9524// via resource tags applied to the resource identified by relationalDatabaseName.
9525// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9526//
9527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9528// with awserr.Error's Code and Message methods to get detailed information about
9529// the error.
9530//
9531// See the AWS API reference guide for Amazon Lightsail's
9532// API operation RebootRelationalDatabase for usage and error information.
9533//
9534// Returned Error Codes:
9535//   * ErrCodeServiceException "ServiceException"
9536//   A general service exception.
9537//
9538//   * ErrCodeInvalidInputException "InvalidInputException"
9539//   Lightsail throws this exception when user input does not conform to the validation
9540//   rules of an input field.
9541//
9542//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9543//   Please set your AWS Region configuration to us-east-1 to create, view, or
9544//   edit these resources.
9545//
9546//   * ErrCodeNotFoundException "NotFoundException"
9547//   Lightsail throws this exception when it cannot find a resource.
9548//
9549//   * ErrCodeOperationFailureException "OperationFailureException"
9550//   Lightsail throws this exception when an operation fails to execute.
9551//
9552//   * ErrCodeAccessDeniedException "AccessDeniedException"
9553//   Lightsail throws this exception when the user cannot be authenticated or
9554//   uses invalid credentials to access a resource.
9555//
9556//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9557//   Lightsail throws this exception when an account is still in the setup in
9558//   progress state.
9559//
9560//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9561//   Lightsail throws this exception when the user has not been authenticated.
9562//
9563// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
9564func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
9565	req, out := c.RebootRelationalDatabaseRequest(input)
9566	return out, req.Send()
9567}
9568
9569// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
9570// the ability to pass a context and additional request options.
9571//
9572// See RebootRelationalDatabase for details on how to use this API operation.
9573//
9574// The context must be non-nil and will be used for request cancellation. If
9575// the context is nil a panic will occur. In the future the SDK may create
9576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9577// for more information on using Contexts.
9578func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
9579	req, out := c.RebootRelationalDatabaseRequest(input)
9580	req.SetContext(ctx)
9581	req.ApplyOptions(opts...)
9582	return out, req.Send()
9583}
9584
9585const opReleaseStaticIp = "ReleaseStaticIp"
9586
9587// ReleaseStaticIpRequest generates a "aws/request.Request" representing the
9588// client's request for the ReleaseStaticIp operation. The "output" return
9589// value will be populated with the request's response once the request completes
9590// successfully.
9591//
9592// Use "Send" method on the returned Request to send the API call to the service.
9593// the "output" return value is not valid until after Send returns without error.
9594//
9595// See ReleaseStaticIp for more information on using the ReleaseStaticIp
9596// API call, and error handling.
9597//
9598// This method is useful when you want to inject custom logic or configuration
9599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9600//
9601//
9602//    // Example sending a request using the ReleaseStaticIpRequest method.
9603//    req, resp := client.ReleaseStaticIpRequest(params)
9604//
9605//    err := req.Send()
9606//    if err == nil { // resp is now filled
9607//        fmt.Println(resp)
9608//    }
9609//
9610// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
9611func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
9612	op := &request.Operation{
9613		Name:       opReleaseStaticIp,
9614		HTTPMethod: "POST",
9615		HTTPPath:   "/",
9616	}
9617
9618	if input == nil {
9619		input = &ReleaseStaticIpInput{}
9620	}
9621
9622	output = &ReleaseStaticIpOutput{}
9623	req = c.newRequest(op, input, output)
9624	return
9625}
9626
9627// ReleaseStaticIp API operation for Amazon Lightsail.
9628//
9629// Deletes a specific static IP from your account.
9630//
9631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9632// with awserr.Error's Code and Message methods to get detailed information about
9633// the error.
9634//
9635// See the AWS API reference guide for Amazon Lightsail's
9636// API operation ReleaseStaticIp for usage and error information.
9637//
9638// Returned Error Codes:
9639//   * ErrCodeServiceException "ServiceException"
9640//   A general service exception.
9641//
9642//   * ErrCodeInvalidInputException "InvalidInputException"
9643//   Lightsail throws this exception when user input does not conform to the validation
9644//   rules of an input field.
9645//
9646//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9647//   Please set your AWS Region configuration to us-east-1 to create, view, or
9648//   edit these resources.
9649//
9650//   * ErrCodeNotFoundException "NotFoundException"
9651//   Lightsail throws this exception when it cannot find a resource.
9652//
9653//   * ErrCodeOperationFailureException "OperationFailureException"
9654//   Lightsail throws this exception when an operation fails to execute.
9655//
9656//   * ErrCodeAccessDeniedException "AccessDeniedException"
9657//   Lightsail throws this exception when the user cannot be authenticated or
9658//   uses invalid credentials to access a resource.
9659//
9660//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9661//   Lightsail throws this exception when an account is still in the setup in
9662//   progress state.
9663//
9664//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9665//   Lightsail throws this exception when the user has not been authenticated.
9666//
9667// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
9668func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
9669	req, out := c.ReleaseStaticIpRequest(input)
9670	return out, req.Send()
9671}
9672
9673// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
9674// the ability to pass a context and additional request options.
9675//
9676// See ReleaseStaticIp for details on how to use this API operation.
9677//
9678// The context must be non-nil and will be used for request cancellation. If
9679// the context is nil a panic will occur. In the future the SDK may create
9680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9681// for more information on using Contexts.
9682func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
9683	req, out := c.ReleaseStaticIpRequest(input)
9684	req.SetContext(ctx)
9685	req.ApplyOptions(opts...)
9686	return out, req.Send()
9687}
9688
9689const opStartInstance = "StartInstance"
9690
9691// StartInstanceRequest generates a "aws/request.Request" representing the
9692// client's request for the StartInstance operation. The "output" return
9693// value will be populated with the request's response once the request completes
9694// successfully.
9695//
9696// Use "Send" method on the returned Request to send the API call to the service.
9697// the "output" return value is not valid until after Send returns without error.
9698//
9699// See StartInstance for more information on using the StartInstance
9700// API call, and error handling.
9701//
9702// This method is useful when you want to inject custom logic or configuration
9703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9704//
9705//
9706//    // Example sending a request using the StartInstanceRequest method.
9707//    req, resp := client.StartInstanceRequest(params)
9708//
9709//    err := req.Send()
9710//    if err == nil { // resp is now filled
9711//        fmt.Println(resp)
9712//    }
9713//
9714// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
9715func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
9716	op := &request.Operation{
9717		Name:       opStartInstance,
9718		HTTPMethod: "POST",
9719		HTTPPath:   "/",
9720	}
9721
9722	if input == nil {
9723		input = &StartInstanceInput{}
9724	}
9725
9726	output = &StartInstanceOutput{}
9727	req = c.newRequest(op, input, output)
9728	return
9729}
9730
9731// StartInstance API operation for Amazon Lightsail.
9732//
9733// Starts a specific Amazon Lightsail instance from a stopped state. To restart
9734// an instance, use the reboot instance operation.
9735//
9736// When you start a stopped instance, Lightsail assigns a new public IP address
9737// to the instance. To use the same IP address after stopping and starting an
9738// instance, create a static IP address and attach it to the instance. For more
9739// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
9740//
9741// The start instance operation supports tag-based access control via resource
9742// tags applied to the resource identified by instanceName. For more information,
9743// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9744//
9745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9746// with awserr.Error's Code and Message methods to get detailed information about
9747// the error.
9748//
9749// See the AWS API reference guide for Amazon Lightsail's
9750// API operation StartInstance for usage and error information.
9751//
9752// Returned Error Codes:
9753//   * ErrCodeServiceException "ServiceException"
9754//   A general service exception.
9755//
9756//   * ErrCodeInvalidInputException "InvalidInputException"
9757//   Lightsail throws this exception when user input does not conform to the validation
9758//   rules of an input field.
9759//
9760//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9761//   Please set your AWS Region configuration to us-east-1 to create, view, or
9762//   edit these resources.
9763//
9764//   * ErrCodeNotFoundException "NotFoundException"
9765//   Lightsail throws this exception when it cannot find a resource.
9766//
9767//   * ErrCodeOperationFailureException "OperationFailureException"
9768//   Lightsail throws this exception when an operation fails to execute.
9769//
9770//   * ErrCodeAccessDeniedException "AccessDeniedException"
9771//   Lightsail throws this exception when the user cannot be authenticated or
9772//   uses invalid credentials to access a resource.
9773//
9774//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9775//   Lightsail throws this exception when an account is still in the setup in
9776//   progress state.
9777//
9778//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9779//   Lightsail throws this exception when the user has not been authenticated.
9780//
9781// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
9782func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
9783	req, out := c.StartInstanceRequest(input)
9784	return out, req.Send()
9785}
9786
9787// StartInstanceWithContext is the same as StartInstance with the addition of
9788// the ability to pass a context and additional request options.
9789//
9790// See StartInstance for details on how to use this API operation.
9791//
9792// The context must be non-nil and will be used for request cancellation. If
9793// the context is nil a panic will occur. In the future the SDK may create
9794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9795// for more information on using Contexts.
9796func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
9797	req, out := c.StartInstanceRequest(input)
9798	req.SetContext(ctx)
9799	req.ApplyOptions(opts...)
9800	return out, req.Send()
9801}
9802
9803const opStartRelationalDatabase = "StartRelationalDatabase"
9804
9805// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
9806// client's request for the StartRelationalDatabase operation. The "output" return
9807// value will be populated with the request's response once the request completes
9808// successfully.
9809//
9810// Use "Send" method on the returned Request to send the API call to the service.
9811// the "output" return value is not valid until after Send returns without error.
9812//
9813// See StartRelationalDatabase for more information on using the StartRelationalDatabase
9814// API call, and error handling.
9815//
9816// This method is useful when you want to inject custom logic or configuration
9817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9818//
9819//
9820//    // Example sending a request using the StartRelationalDatabaseRequest method.
9821//    req, resp := client.StartRelationalDatabaseRequest(params)
9822//
9823//    err := req.Send()
9824//    if err == nil { // resp is now filled
9825//        fmt.Println(resp)
9826//    }
9827//
9828// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
9829func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
9830	op := &request.Operation{
9831		Name:       opStartRelationalDatabase,
9832		HTTPMethod: "POST",
9833		HTTPPath:   "/",
9834	}
9835
9836	if input == nil {
9837		input = &StartRelationalDatabaseInput{}
9838	}
9839
9840	output = &StartRelationalDatabaseOutput{}
9841	req = c.newRequest(op, input, output)
9842	return
9843}
9844
9845// StartRelationalDatabase API operation for Amazon Lightsail.
9846//
9847// Starts a specific database from a stopped state in Amazon Lightsail. To restart
9848// a database, use the reboot relational database operation.
9849//
9850// The start relational database operation supports tag-based access control
9851// via resource tags applied to the resource identified by relationalDatabaseName.
9852// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9853//
9854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9855// with awserr.Error's Code and Message methods to get detailed information about
9856// the error.
9857//
9858// See the AWS API reference guide for Amazon Lightsail's
9859// API operation StartRelationalDatabase for usage and error information.
9860//
9861// Returned Error Codes:
9862//   * ErrCodeServiceException "ServiceException"
9863//   A general service exception.
9864//
9865//   * ErrCodeInvalidInputException "InvalidInputException"
9866//   Lightsail throws this exception when user input does not conform to the validation
9867//   rules of an input field.
9868//
9869//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9870//   Please set your AWS Region configuration to us-east-1 to create, view, or
9871//   edit these resources.
9872//
9873//   * ErrCodeNotFoundException "NotFoundException"
9874//   Lightsail throws this exception when it cannot find a resource.
9875//
9876//   * ErrCodeOperationFailureException "OperationFailureException"
9877//   Lightsail throws this exception when an operation fails to execute.
9878//
9879//   * ErrCodeAccessDeniedException "AccessDeniedException"
9880//   Lightsail throws this exception when the user cannot be authenticated or
9881//   uses invalid credentials to access a resource.
9882//
9883//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9884//   Lightsail throws this exception when an account is still in the setup in
9885//   progress state.
9886//
9887//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9888//   Lightsail throws this exception when the user has not been authenticated.
9889//
9890// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
9891func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
9892	req, out := c.StartRelationalDatabaseRequest(input)
9893	return out, req.Send()
9894}
9895
9896// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
9897// the ability to pass a context and additional request options.
9898//
9899// See StartRelationalDatabase for details on how to use this API operation.
9900//
9901// The context must be non-nil and will be used for request cancellation. If
9902// the context is nil a panic will occur. In the future the SDK may create
9903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9904// for more information on using Contexts.
9905func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
9906	req, out := c.StartRelationalDatabaseRequest(input)
9907	req.SetContext(ctx)
9908	req.ApplyOptions(opts...)
9909	return out, req.Send()
9910}
9911
9912const opStopInstance = "StopInstance"
9913
9914// StopInstanceRequest generates a "aws/request.Request" representing the
9915// client's request for the StopInstance operation. The "output" return
9916// value will be populated with the request's response once the request completes
9917// successfully.
9918//
9919// Use "Send" method on the returned Request to send the API call to the service.
9920// the "output" return value is not valid until after Send returns without error.
9921//
9922// See StopInstance for more information on using the StopInstance
9923// API call, and error handling.
9924//
9925// This method is useful when you want to inject custom logic or configuration
9926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9927//
9928//
9929//    // Example sending a request using the StopInstanceRequest method.
9930//    req, resp := client.StopInstanceRequest(params)
9931//
9932//    err := req.Send()
9933//    if err == nil { // resp is now filled
9934//        fmt.Println(resp)
9935//    }
9936//
9937// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
9938func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
9939	op := &request.Operation{
9940		Name:       opStopInstance,
9941		HTTPMethod: "POST",
9942		HTTPPath:   "/",
9943	}
9944
9945	if input == nil {
9946		input = &StopInstanceInput{}
9947	}
9948
9949	output = &StopInstanceOutput{}
9950	req = c.newRequest(op, input, output)
9951	return
9952}
9953
9954// StopInstance API operation for Amazon Lightsail.
9955//
9956// Stops a specific Amazon Lightsail instance that is currently running.
9957//
9958// When you start a stopped instance, Lightsail assigns a new public IP address
9959// to the instance. To use the same IP address after stopping and starting an
9960// instance, create a static IP address and attach it to the instance. For more
9961// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
9962//
9963// The stop instance operation supports tag-based access control via resource
9964// tags applied to the resource identified by instanceName. For more information,
9965// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9966//
9967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9968// with awserr.Error's Code and Message methods to get detailed information about
9969// the error.
9970//
9971// See the AWS API reference guide for Amazon Lightsail's
9972// API operation StopInstance for usage and error information.
9973//
9974// Returned Error Codes:
9975//   * ErrCodeServiceException "ServiceException"
9976//   A general service exception.
9977//
9978//   * ErrCodeInvalidInputException "InvalidInputException"
9979//   Lightsail throws this exception when user input does not conform to the validation
9980//   rules of an input field.
9981//
9982//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9983//   Please set your AWS Region configuration to us-east-1 to create, view, or
9984//   edit these resources.
9985//
9986//   * ErrCodeNotFoundException "NotFoundException"
9987//   Lightsail throws this exception when it cannot find a resource.
9988//
9989//   * ErrCodeOperationFailureException "OperationFailureException"
9990//   Lightsail throws this exception when an operation fails to execute.
9991//
9992//   * ErrCodeAccessDeniedException "AccessDeniedException"
9993//   Lightsail throws this exception when the user cannot be authenticated or
9994//   uses invalid credentials to access a resource.
9995//
9996//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9997//   Lightsail throws this exception when an account is still in the setup in
9998//   progress state.
9999//
10000//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10001//   Lightsail throws this exception when the user has not been authenticated.
10002//
10003// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
10004func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
10005	req, out := c.StopInstanceRequest(input)
10006	return out, req.Send()
10007}
10008
10009// StopInstanceWithContext is the same as StopInstance with the addition of
10010// the ability to pass a context and additional request options.
10011//
10012// See StopInstance for details on how to use this API operation.
10013//
10014// The context must be non-nil and will be used for request cancellation. If
10015// the context is nil a panic will occur. In the future the SDK may create
10016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10017// for more information on using Contexts.
10018func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
10019	req, out := c.StopInstanceRequest(input)
10020	req.SetContext(ctx)
10021	req.ApplyOptions(opts...)
10022	return out, req.Send()
10023}
10024
10025const opStopRelationalDatabase = "StopRelationalDatabase"
10026
10027// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
10028// client's request for the StopRelationalDatabase operation. The "output" return
10029// value will be populated with the request's response once the request completes
10030// successfully.
10031//
10032// Use "Send" method on the returned Request to send the API call to the service.
10033// the "output" return value is not valid until after Send returns without error.
10034//
10035// See StopRelationalDatabase for more information on using the StopRelationalDatabase
10036// API call, and error handling.
10037//
10038// This method is useful when you want to inject custom logic or configuration
10039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10040//
10041//
10042//    // Example sending a request using the StopRelationalDatabaseRequest method.
10043//    req, resp := client.StopRelationalDatabaseRequest(params)
10044//
10045//    err := req.Send()
10046//    if err == nil { // resp is now filled
10047//        fmt.Println(resp)
10048//    }
10049//
10050// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
10051func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
10052	op := &request.Operation{
10053		Name:       opStopRelationalDatabase,
10054		HTTPMethod: "POST",
10055		HTTPPath:   "/",
10056	}
10057
10058	if input == nil {
10059		input = &StopRelationalDatabaseInput{}
10060	}
10061
10062	output = &StopRelationalDatabaseOutput{}
10063	req = c.newRequest(op, input, output)
10064	return
10065}
10066
10067// StopRelationalDatabase API operation for Amazon Lightsail.
10068//
10069// Stops a specific database that is currently running in Amazon Lightsail.
10070//
10071// The stop relational database operation supports tag-based access control
10072// via resource tags applied to the resource identified by relationalDatabaseName.
10073// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10074//
10075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10076// with awserr.Error's Code and Message methods to get detailed information about
10077// the error.
10078//
10079// See the AWS API reference guide for Amazon Lightsail's
10080// API operation StopRelationalDatabase for usage and error information.
10081//
10082// Returned Error Codes:
10083//   * ErrCodeServiceException "ServiceException"
10084//   A general service exception.
10085//
10086//   * ErrCodeInvalidInputException "InvalidInputException"
10087//   Lightsail throws this exception when user input does not conform to the validation
10088//   rules of an input field.
10089//
10090//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10091//   Please set your AWS Region configuration to us-east-1 to create, view, or
10092//   edit these resources.
10093//
10094//   * ErrCodeNotFoundException "NotFoundException"
10095//   Lightsail throws this exception when it cannot find a resource.
10096//
10097//   * ErrCodeOperationFailureException "OperationFailureException"
10098//   Lightsail throws this exception when an operation fails to execute.
10099//
10100//   * ErrCodeAccessDeniedException "AccessDeniedException"
10101//   Lightsail throws this exception when the user cannot be authenticated or
10102//   uses invalid credentials to access a resource.
10103//
10104//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10105//   Lightsail throws this exception when an account is still in the setup in
10106//   progress state.
10107//
10108//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10109//   Lightsail throws this exception when the user has not been authenticated.
10110//
10111// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
10112func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
10113	req, out := c.StopRelationalDatabaseRequest(input)
10114	return out, req.Send()
10115}
10116
10117// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
10118// the ability to pass a context and additional request options.
10119//
10120// See StopRelationalDatabase for details on how to use this API operation.
10121//
10122// The context must be non-nil and will be used for request cancellation. If
10123// the context is nil a panic will occur. In the future the SDK may create
10124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10125// for more information on using Contexts.
10126func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
10127	req, out := c.StopRelationalDatabaseRequest(input)
10128	req.SetContext(ctx)
10129	req.ApplyOptions(opts...)
10130	return out, req.Send()
10131}
10132
10133const opTagResource = "TagResource"
10134
10135// TagResourceRequest generates a "aws/request.Request" representing the
10136// client's request for the TagResource operation. The "output" return
10137// value will be populated with the request's response once the request completes
10138// successfully.
10139//
10140// Use "Send" method on the returned Request to send the API call to the service.
10141// the "output" return value is not valid until after Send returns without error.
10142//
10143// See TagResource for more information on using the TagResource
10144// API call, and error handling.
10145//
10146// This method is useful when you want to inject custom logic or configuration
10147// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10148//
10149//
10150//    // Example sending a request using the TagResourceRequest method.
10151//    req, resp := client.TagResourceRequest(params)
10152//
10153//    err := req.Send()
10154//    if err == nil { // resp is now filled
10155//        fmt.Println(resp)
10156//    }
10157//
10158// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
10159func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
10160	op := &request.Operation{
10161		Name:       opTagResource,
10162		HTTPMethod: "POST",
10163		HTTPPath:   "/",
10164	}
10165
10166	if input == nil {
10167		input = &TagResourceInput{}
10168	}
10169
10170	output = &TagResourceOutput{}
10171	req = c.newRequest(op, input, output)
10172	return
10173}
10174
10175// TagResource API operation for Amazon Lightsail.
10176//
10177// Adds one or more tags to the specified Amazon Lightsail resource. Each resource
10178// can have a maximum of 50 tags. Each tag consists of a key and an optional
10179// value. Tag keys must be unique per resource. For more information about tags,
10180// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
10181//
10182// The tag resource operation supports tag-based access control via request
10183// tags and resource tags applied to the resource identified by resourceName.
10184// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10185//
10186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10187// with awserr.Error's Code and Message methods to get detailed information about
10188// the error.
10189//
10190// See the AWS API reference guide for Amazon Lightsail's
10191// API operation TagResource for usage and error information.
10192//
10193// Returned Error Codes:
10194//   * ErrCodeServiceException "ServiceException"
10195//   A general service exception.
10196//
10197//   * ErrCodeInvalidInputException "InvalidInputException"
10198//   Lightsail throws this exception when user input does not conform to the validation
10199//   rules of an input field.
10200//
10201//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10202//   Please set your AWS Region configuration to us-east-1 to create, view, or
10203//   edit these resources.
10204//
10205//   * ErrCodeNotFoundException "NotFoundException"
10206//   Lightsail throws this exception when it cannot find a resource.
10207//
10208//   * ErrCodeOperationFailureException "OperationFailureException"
10209//   Lightsail throws this exception when an operation fails to execute.
10210//
10211//   * ErrCodeAccessDeniedException "AccessDeniedException"
10212//   Lightsail throws this exception when the user cannot be authenticated or
10213//   uses invalid credentials to access a resource.
10214//
10215//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10216//   Lightsail throws this exception when an account is still in the setup in
10217//   progress state.
10218//
10219//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10220//   Lightsail throws this exception when the user has not been authenticated.
10221//
10222// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
10223func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
10224	req, out := c.TagResourceRequest(input)
10225	return out, req.Send()
10226}
10227
10228// TagResourceWithContext is the same as TagResource with the addition of
10229// the ability to pass a context and additional request options.
10230//
10231// See TagResource for details on how to use this API operation.
10232//
10233// The context must be non-nil and will be used for request cancellation. If
10234// the context is nil a panic will occur. In the future the SDK may create
10235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10236// for more information on using Contexts.
10237func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
10238	req, out := c.TagResourceRequest(input)
10239	req.SetContext(ctx)
10240	req.ApplyOptions(opts...)
10241	return out, req.Send()
10242}
10243
10244const opUnpeerVpc = "UnpeerVpc"
10245
10246// UnpeerVpcRequest generates a "aws/request.Request" representing the
10247// client's request for the UnpeerVpc operation. The "output" return
10248// value will be populated with the request's response once the request completes
10249// successfully.
10250//
10251// Use "Send" method on the returned Request to send the API call to the service.
10252// the "output" return value is not valid until after Send returns without error.
10253//
10254// See UnpeerVpc for more information on using the UnpeerVpc
10255// API call, and error handling.
10256//
10257// This method is useful when you want to inject custom logic or configuration
10258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10259//
10260//
10261//    // Example sending a request using the UnpeerVpcRequest method.
10262//    req, resp := client.UnpeerVpcRequest(params)
10263//
10264//    err := req.Send()
10265//    if err == nil { // resp is now filled
10266//        fmt.Println(resp)
10267//    }
10268//
10269// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
10270func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
10271	op := &request.Operation{
10272		Name:       opUnpeerVpc,
10273		HTTPMethod: "POST",
10274		HTTPPath:   "/",
10275	}
10276
10277	if input == nil {
10278		input = &UnpeerVpcInput{}
10279	}
10280
10281	output = &UnpeerVpcOutput{}
10282	req = c.newRequest(op, input, output)
10283	return
10284}
10285
10286// UnpeerVpc API operation for Amazon Lightsail.
10287//
10288// Attempts to unpeer the Lightsail VPC from the user's default VPC.
10289//
10290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10291// with awserr.Error's Code and Message methods to get detailed information about
10292// the error.
10293//
10294// See the AWS API reference guide for Amazon Lightsail's
10295// API operation UnpeerVpc for usage and error information.
10296//
10297// Returned Error Codes:
10298//   * ErrCodeServiceException "ServiceException"
10299//   A general service exception.
10300//
10301//   * ErrCodeInvalidInputException "InvalidInputException"
10302//   Lightsail throws this exception when user input does not conform to the validation
10303//   rules of an input field.
10304//
10305//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10306//   Please set your AWS Region configuration to us-east-1 to create, view, or
10307//   edit these resources.
10308//
10309//   * ErrCodeNotFoundException "NotFoundException"
10310//   Lightsail throws this exception when it cannot find a resource.
10311//
10312//   * ErrCodeOperationFailureException "OperationFailureException"
10313//   Lightsail throws this exception when an operation fails to execute.
10314//
10315//   * ErrCodeAccessDeniedException "AccessDeniedException"
10316//   Lightsail throws this exception when the user cannot be authenticated or
10317//   uses invalid credentials to access a resource.
10318//
10319//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10320//   Lightsail throws this exception when an account is still in the setup in
10321//   progress state.
10322//
10323//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10324//   Lightsail throws this exception when the user has not been authenticated.
10325//
10326// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
10327func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
10328	req, out := c.UnpeerVpcRequest(input)
10329	return out, req.Send()
10330}
10331
10332// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
10333// the ability to pass a context and additional request options.
10334//
10335// See UnpeerVpc for details on how to use this API operation.
10336//
10337// The context must be non-nil and will be used for request cancellation. If
10338// the context is nil a panic will occur. In the future the SDK may create
10339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10340// for more information on using Contexts.
10341func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
10342	req, out := c.UnpeerVpcRequest(input)
10343	req.SetContext(ctx)
10344	req.ApplyOptions(opts...)
10345	return out, req.Send()
10346}
10347
10348const opUntagResource = "UntagResource"
10349
10350// UntagResourceRequest generates a "aws/request.Request" representing the
10351// client's request for the UntagResource operation. The "output" return
10352// value will be populated with the request's response once the request completes
10353// successfully.
10354//
10355// Use "Send" method on the returned Request to send the API call to the service.
10356// the "output" return value is not valid until after Send returns without error.
10357//
10358// See UntagResource for more information on using the UntagResource
10359// API call, and error handling.
10360//
10361// This method is useful when you want to inject custom logic or configuration
10362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10363//
10364//
10365//    // Example sending a request using the UntagResourceRequest method.
10366//    req, resp := client.UntagResourceRequest(params)
10367//
10368//    err := req.Send()
10369//    if err == nil { // resp is now filled
10370//        fmt.Println(resp)
10371//    }
10372//
10373// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
10374func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
10375	op := &request.Operation{
10376		Name:       opUntagResource,
10377		HTTPMethod: "POST",
10378		HTTPPath:   "/",
10379	}
10380
10381	if input == nil {
10382		input = &UntagResourceInput{}
10383	}
10384
10385	output = &UntagResourceOutput{}
10386	req = c.newRequest(op, input, output)
10387	return
10388}
10389
10390// UntagResource API operation for Amazon Lightsail.
10391//
10392// Deletes the specified set of tag keys and their values from the specified
10393// Amazon Lightsail resource.
10394//
10395// The untag resource operation supports tag-based access control via request
10396// tags and resource tags applied to the resource identified by resourceName.
10397// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10398//
10399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10400// with awserr.Error's Code and Message methods to get detailed information about
10401// the error.
10402//
10403// See the AWS API reference guide for Amazon Lightsail's
10404// API operation UntagResource for usage and error information.
10405//
10406// Returned Error Codes:
10407//   * ErrCodeServiceException "ServiceException"
10408//   A general service exception.
10409//
10410//   * ErrCodeInvalidInputException "InvalidInputException"
10411//   Lightsail throws this exception when user input does not conform to the validation
10412//   rules of an input field.
10413//
10414//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10415//   Please set your AWS Region configuration to us-east-1 to create, view, or
10416//   edit these resources.
10417//
10418//   * ErrCodeNotFoundException "NotFoundException"
10419//   Lightsail throws this exception when it cannot find a resource.
10420//
10421//   * ErrCodeOperationFailureException "OperationFailureException"
10422//   Lightsail throws this exception when an operation fails to execute.
10423//
10424//   * ErrCodeAccessDeniedException "AccessDeniedException"
10425//   Lightsail throws this exception when the user cannot be authenticated or
10426//   uses invalid credentials to access a resource.
10427//
10428//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10429//   Lightsail throws this exception when an account is still in the setup in
10430//   progress state.
10431//
10432//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10433//   Lightsail throws this exception when the user has not been authenticated.
10434//
10435// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
10436func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
10437	req, out := c.UntagResourceRequest(input)
10438	return out, req.Send()
10439}
10440
10441// UntagResourceWithContext is the same as UntagResource with the addition of
10442// the ability to pass a context and additional request options.
10443//
10444// See UntagResource for details on how to use this API operation.
10445//
10446// The context must be non-nil and will be used for request cancellation. If
10447// the context is nil a panic will occur. In the future the SDK may create
10448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10449// for more information on using Contexts.
10450func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
10451	req, out := c.UntagResourceRequest(input)
10452	req.SetContext(ctx)
10453	req.ApplyOptions(opts...)
10454	return out, req.Send()
10455}
10456
10457const opUpdateDomainEntry = "UpdateDomainEntry"
10458
10459// UpdateDomainEntryRequest generates a "aws/request.Request" representing the
10460// client's request for the UpdateDomainEntry operation. The "output" return
10461// value will be populated with the request's response once the request completes
10462// successfully.
10463//
10464// Use "Send" method on the returned Request to send the API call to the service.
10465// the "output" return value is not valid until after Send returns without error.
10466//
10467// See UpdateDomainEntry for more information on using the UpdateDomainEntry
10468// API call, and error handling.
10469//
10470// This method is useful when you want to inject custom logic or configuration
10471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10472//
10473//
10474//    // Example sending a request using the UpdateDomainEntryRequest method.
10475//    req, resp := client.UpdateDomainEntryRequest(params)
10476//
10477//    err := req.Send()
10478//    if err == nil { // resp is now filled
10479//        fmt.Println(resp)
10480//    }
10481//
10482// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
10483func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
10484	op := &request.Operation{
10485		Name:       opUpdateDomainEntry,
10486		HTTPMethod: "POST",
10487		HTTPPath:   "/",
10488	}
10489
10490	if input == nil {
10491		input = &UpdateDomainEntryInput{}
10492	}
10493
10494	output = &UpdateDomainEntryOutput{}
10495	req = c.newRequest(op, input, output)
10496	return
10497}
10498
10499// UpdateDomainEntry API operation for Amazon Lightsail.
10500//
10501// Updates a domain recordset after it is created.
10502//
10503// The update domain entry operation supports tag-based access control via resource
10504// tags applied to the resource identified by domainName. For more information,
10505// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10506//
10507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10508// with awserr.Error's Code and Message methods to get detailed information about
10509// the error.
10510//
10511// See the AWS API reference guide for Amazon Lightsail's
10512// API operation UpdateDomainEntry for usage and error information.
10513//
10514// Returned Error Codes:
10515//   * ErrCodeServiceException "ServiceException"
10516//   A general service exception.
10517//
10518//   * ErrCodeInvalidInputException "InvalidInputException"
10519//   Lightsail throws this exception when user input does not conform to the validation
10520//   rules of an input field.
10521//
10522//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10523//   Please set your AWS Region configuration to us-east-1 to create, view, or
10524//   edit these resources.
10525//
10526//   * ErrCodeNotFoundException "NotFoundException"
10527//   Lightsail throws this exception when it cannot find a resource.
10528//
10529//   * ErrCodeOperationFailureException "OperationFailureException"
10530//   Lightsail throws this exception when an operation fails to execute.
10531//
10532//   * ErrCodeAccessDeniedException "AccessDeniedException"
10533//   Lightsail throws this exception when the user cannot be authenticated or
10534//   uses invalid credentials to access a resource.
10535//
10536//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10537//   Lightsail throws this exception when an account is still in the setup in
10538//   progress state.
10539//
10540//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10541//   Lightsail throws this exception when the user has not been authenticated.
10542//
10543// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
10544func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
10545	req, out := c.UpdateDomainEntryRequest(input)
10546	return out, req.Send()
10547}
10548
10549// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
10550// the ability to pass a context and additional request options.
10551//
10552// See UpdateDomainEntry for details on how to use this API operation.
10553//
10554// The context must be non-nil and will be used for request cancellation. If
10555// the context is nil a panic will occur. In the future the SDK may create
10556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10557// for more information on using Contexts.
10558func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
10559	req, out := c.UpdateDomainEntryRequest(input)
10560	req.SetContext(ctx)
10561	req.ApplyOptions(opts...)
10562	return out, req.Send()
10563}
10564
10565const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
10566
10567// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
10568// client's request for the UpdateLoadBalancerAttribute operation. The "output" return
10569// value will be populated with the request's response once the request completes
10570// successfully.
10571//
10572// Use "Send" method on the returned Request to send the API call to the service.
10573// the "output" return value is not valid until after Send returns without error.
10574//
10575// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
10576// API call, and error handling.
10577//
10578// This method is useful when you want to inject custom logic or configuration
10579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10580//
10581//
10582//    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
10583//    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
10584//
10585//    err := req.Send()
10586//    if err == nil { // resp is now filled
10587//        fmt.Println(resp)
10588//    }
10589//
10590// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
10591func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
10592	op := &request.Operation{
10593		Name:       opUpdateLoadBalancerAttribute,
10594		HTTPMethod: "POST",
10595		HTTPPath:   "/",
10596	}
10597
10598	if input == nil {
10599		input = &UpdateLoadBalancerAttributeInput{}
10600	}
10601
10602	output = &UpdateLoadBalancerAttributeOutput{}
10603	req = c.newRequest(op, input, output)
10604	return
10605}
10606
10607// UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
10608//
10609// Updates the specified attribute for a load balancer. You can only update
10610// one attribute at a time.
10611//
10612// The update load balancer attribute operation supports tag-based access control
10613// via resource tags applied to the resource identified by loadBalancerName.
10614// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10615//
10616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10617// with awserr.Error's Code and Message methods to get detailed information about
10618// the error.
10619//
10620// See the AWS API reference guide for Amazon Lightsail's
10621// API operation UpdateLoadBalancerAttribute for usage and error information.
10622//
10623// Returned Error Codes:
10624//   * ErrCodeServiceException "ServiceException"
10625//   A general service exception.
10626//
10627//   * ErrCodeInvalidInputException "InvalidInputException"
10628//   Lightsail throws this exception when user input does not conform to the validation
10629//   rules of an input field.
10630//
10631//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10632//   Please set your AWS Region configuration to us-east-1 to create, view, or
10633//   edit these resources.
10634//
10635//   * ErrCodeNotFoundException "NotFoundException"
10636//   Lightsail throws this exception when it cannot find a resource.
10637//
10638//   * ErrCodeOperationFailureException "OperationFailureException"
10639//   Lightsail throws this exception when an operation fails to execute.
10640//
10641//   * ErrCodeAccessDeniedException "AccessDeniedException"
10642//   Lightsail throws this exception when the user cannot be authenticated or
10643//   uses invalid credentials to access a resource.
10644//
10645//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10646//   Lightsail throws this exception when an account is still in the setup in
10647//   progress state.
10648//
10649//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10650//   Lightsail throws this exception when the user has not been authenticated.
10651//
10652// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
10653func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
10654	req, out := c.UpdateLoadBalancerAttributeRequest(input)
10655	return out, req.Send()
10656}
10657
10658// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
10659// the ability to pass a context and additional request options.
10660//
10661// See UpdateLoadBalancerAttribute for details on how to use this API operation.
10662//
10663// The context must be non-nil and will be used for request cancellation. If
10664// the context is nil a panic will occur. In the future the SDK may create
10665// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10666// for more information on using Contexts.
10667func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
10668	req, out := c.UpdateLoadBalancerAttributeRequest(input)
10669	req.SetContext(ctx)
10670	req.ApplyOptions(opts...)
10671	return out, req.Send()
10672}
10673
10674const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
10675
10676// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
10677// client's request for the UpdateRelationalDatabase operation. The "output" return
10678// value will be populated with the request's response once the request completes
10679// successfully.
10680//
10681// Use "Send" method on the returned Request to send the API call to the service.
10682// the "output" return value is not valid until after Send returns without error.
10683//
10684// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
10685// API call, and error handling.
10686//
10687// This method is useful when you want to inject custom logic or configuration
10688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10689//
10690//
10691//    // Example sending a request using the UpdateRelationalDatabaseRequest method.
10692//    req, resp := client.UpdateRelationalDatabaseRequest(params)
10693//
10694//    err := req.Send()
10695//    if err == nil { // resp is now filled
10696//        fmt.Println(resp)
10697//    }
10698//
10699// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
10700func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
10701	op := &request.Operation{
10702		Name:       opUpdateRelationalDatabase,
10703		HTTPMethod: "POST",
10704		HTTPPath:   "/",
10705	}
10706
10707	if input == nil {
10708		input = &UpdateRelationalDatabaseInput{}
10709	}
10710
10711	output = &UpdateRelationalDatabaseOutput{}
10712	req = c.newRequest(op, input, output)
10713	return
10714}
10715
10716// UpdateRelationalDatabase API operation for Amazon Lightsail.
10717//
10718// Allows the update of one or more attributes of a database in Amazon Lightsail.
10719//
10720// Updates are applied immediately, or in cases where the updates could result
10721// in an outage, are applied during the database's predefined maintenance window.
10722//
10723// The update relational database operation supports tag-based access control
10724// via resource tags applied to the resource identified by relationalDatabaseName.
10725// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10726//
10727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10728// with awserr.Error's Code and Message methods to get detailed information about
10729// the error.
10730//
10731// See the AWS API reference guide for Amazon Lightsail's
10732// API operation UpdateRelationalDatabase for usage and error information.
10733//
10734// Returned Error Codes:
10735//   * ErrCodeServiceException "ServiceException"
10736//   A general service exception.
10737//
10738//   * ErrCodeInvalidInputException "InvalidInputException"
10739//   Lightsail throws this exception when user input does not conform to the validation
10740//   rules of an input field.
10741//
10742//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10743//   Please set your AWS Region configuration to us-east-1 to create, view, or
10744//   edit these resources.
10745//
10746//   * ErrCodeNotFoundException "NotFoundException"
10747//   Lightsail throws this exception when it cannot find a resource.
10748//
10749//   * ErrCodeOperationFailureException "OperationFailureException"
10750//   Lightsail throws this exception when an operation fails to execute.
10751//
10752//   * ErrCodeAccessDeniedException "AccessDeniedException"
10753//   Lightsail throws this exception when the user cannot be authenticated or
10754//   uses invalid credentials to access a resource.
10755//
10756//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10757//   Lightsail throws this exception when an account is still in the setup in
10758//   progress state.
10759//
10760//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10761//   Lightsail throws this exception when the user has not been authenticated.
10762//
10763// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
10764func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
10765	req, out := c.UpdateRelationalDatabaseRequest(input)
10766	return out, req.Send()
10767}
10768
10769// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
10770// the ability to pass a context and additional request options.
10771//
10772// See UpdateRelationalDatabase for details on how to use this API operation.
10773//
10774// The context must be non-nil and will be used for request cancellation. If
10775// the context is nil a panic will occur. In the future the SDK may create
10776// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10777// for more information on using Contexts.
10778func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
10779	req, out := c.UpdateRelationalDatabaseRequest(input)
10780	req.SetContext(ctx)
10781	req.ApplyOptions(opts...)
10782	return out, req.Send()
10783}
10784
10785const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
10786
10787// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
10788// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
10789// value will be populated with the request's response once the request completes
10790// successfully.
10791//
10792// Use "Send" method on the returned Request to send the API call to the service.
10793// the "output" return value is not valid until after Send returns without error.
10794//
10795// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
10796// API call, and error handling.
10797//
10798// This method is useful when you want to inject custom logic or configuration
10799// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10800//
10801//
10802//    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
10803//    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
10804//
10805//    err := req.Send()
10806//    if err == nil { // resp is now filled
10807//        fmt.Println(resp)
10808//    }
10809//
10810// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
10811func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
10812	op := &request.Operation{
10813		Name:       opUpdateRelationalDatabaseParameters,
10814		HTTPMethod: "POST",
10815		HTTPPath:   "/",
10816	}
10817
10818	if input == nil {
10819		input = &UpdateRelationalDatabaseParametersInput{}
10820	}
10821
10822	output = &UpdateRelationalDatabaseParametersOutput{}
10823	req = c.newRequest(op, input, output)
10824	return
10825}
10826
10827// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
10828//
10829// Allows the update of one or more parameters of a database in Amazon Lightsail.
10830//
10831// Parameter updates don't cause outages; therefore, their application is not
10832// subject to the preferred maintenance window. However, there are two ways
10833// in which paramater updates are applied: dynamic or pending-reboot. Parameters
10834// marked with a dynamic apply type are applied immediately. Parameters marked
10835// with a pending-reboot apply type are applied only after the database is rebooted
10836// using the reboot relational database operation.
10837//
10838// The update relational database parameters operation supports tag-based access
10839// control via resource tags applied to the resource identified by relationalDatabaseName.
10840// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10841//
10842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10843// with awserr.Error's Code and Message methods to get detailed information about
10844// the error.
10845//
10846// See the AWS API reference guide for Amazon Lightsail's
10847// API operation UpdateRelationalDatabaseParameters for usage and error information.
10848//
10849// Returned Error Codes:
10850//   * ErrCodeServiceException "ServiceException"
10851//   A general service exception.
10852//
10853//   * ErrCodeInvalidInputException "InvalidInputException"
10854//   Lightsail throws this exception when user input does not conform to the validation
10855//   rules of an input field.
10856//
10857//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10858//   Please set your AWS Region configuration to us-east-1 to create, view, or
10859//   edit these resources.
10860//
10861//   * ErrCodeNotFoundException "NotFoundException"
10862//   Lightsail throws this exception when it cannot find a resource.
10863//
10864//   * ErrCodeOperationFailureException "OperationFailureException"
10865//   Lightsail throws this exception when an operation fails to execute.
10866//
10867//   * ErrCodeAccessDeniedException "AccessDeniedException"
10868//   Lightsail throws this exception when the user cannot be authenticated or
10869//   uses invalid credentials to access a resource.
10870//
10871//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10872//   Lightsail throws this exception when an account is still in the setup in
10873//   progress state.
10874//
10875//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10876//   Lightsail throws this exception when the user has not been authenticated.
10877//
10878// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
10879func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
10880	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
10881	return out, req.Send()
10882}
10883
10884// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
10885// the ability to pass a context and additional request options.
10886//
10887// See UpdateRelationalDatabaseParameters for details on how to use this API operation.
10888//
10889// The context must be non-nil and will be used for request cancellation. If
10890// the context is nil a panic will occur. In the future the SDK may create
10891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10892// for more information on using Contexts.
10893func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
10894	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
10895	req.SetContext(ctx)
10896	req.ApplyOptions(opts...)
10897	return out, req.Send()
10898}
10899
10900type AllocateStaticIpInput struct {
10901	_ struct{} `type:"structure"`
10902
10903	// The name of the static IP address.
10904	//
10905	// StaticIpName is a required field
10906	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
10907}
10908
10909// String returns the string representation
10910func (s AllocateStaticIpInput) String() string {
10911	return awsutil.Prettify(s)
10912}
10913
10914// GoString returns the string representation
10915func (s AllocateStaticIpInput) GoString() string {
10916	return s.String()
10917}
10918
10919// Validate inspects the fields of the type to determine if they are valid.
10920func (s *AllocateStaticIpInput) Validate() error {
10921	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
10922	if s.StaticIpName == nil {
10923		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
10924	}
10925
10926	if invalidParams.Len() > 0 {
10927		return invalidParams
10928	}
10929	return nil
10930}
10931
10932// SetStaticIpName sets the StaticIpName field's value.
10933func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
10934	s.StaticIpName = &v
10935	return s
10936}
10937
10938type AllocateStaticIpOutput struct {
10939	_ struct{} `type:"structure"`
10940
10941	// An array of key-value pairs containing information about the static IP address
10942	// you allocated.
10943	Operations []*Operation `locationName:"operations" type:"list"`
10944}
10945
10946// String returns the string representation
10947func (s AllocateStaticIpOutput) String() string {
10948	return awsutil.Prettify(s)
10949}
10950
10951// GoString returns the string representation
10952func (s AllocateStaticIpOutput) GoString() string {
10953	return s.String()
10954}
10955
10956// SetOperations sets the Operations field's value.
10957func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
10958	s.Operations = v
10959	return s
10960}
10961
10962type AttachDiskInput struct {
10963	_ struct{} `type:"structure"`
10964
10965	// The unique Lightsail disk name (e.g., my-disk).
10966	//
10967	// DiskName is a required field
10968	DiskName *string `locationName:"diskName" type:"string" required:"true"`
10969
10970	// The disk path to expose to the instance (e.g., /dev/xvdf).
10971	//
10972	// DiskPath is a required field
10973	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
10974
10975	// The name of the Lightsail instance where you want to utilize the storage
10976	// disk.
10977	//
10978	// InstanceName is a required field
10979	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
10980}
10981
10982// String returns the string representation
10983func (s AttachDiskInput) String() string {
10984	return awsutil.Prettify(s)
10985}
10986
10987// GoString returns the string representation
10988func (s AttachDiskInput) GoString() string {
10989	return s.String()
10990}
10991
10992// Validate inspects the fields of the type to determine if they are valid.
10993func (s *AttachDiskInput) Validate() error {
10994	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
10995	if s.DiskName == nil {
10996		invalidParams.Add(request.NewErrParamRequired("DiskName"))
10997	}
10998	if s.DiskPath == nil {
10999		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
11000	}
11001	if s.InstanceName == nil {
11002		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
11003	}
11004
11005	if invalidParams.Len() > 0 {
11006		return invalidParams
11007	}
11008	return nil
11009}
11010
11011// SetDiskName sets the DiskName field's value.
11012func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
11013	s.DiskName = &v
11014	return s
11015}
11016
11017// SetDiskPath sets the DiskPath field's value.
11018func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
11019	s.DiskPath = &v
11020	return s
11021}
11022
11023// SetInstanceName sets the InstanceName field's value.
11024func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
11025	s.InstanceName = &v
11026	return s
11027}
11028
11029type AttachDiskOutput struct {
11030	_ struct{} `type:"structure"`
11031
11032	// An object describing the API operations.
11033	Operations []*Operation `locationName:"operations" type:"list"`
11034}
11035
11036// String returns the string representation
11037func (s AttachDiskOutput) String() string {
11038	return awsutil.Prettify(s)
11039}
11040
11041// GoString returns the string representation
11042func (s AttachDiskOutput) GoString() string {
11043	return s.String()
11044}
11045
11046// SetOperations sets the Operations field's value.
11047func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
11048	s.Operations = v
11049	return s
11050}
11051
11052type AttachInstancesToLoadBalancerInput struct {
11053	_ struct{} `type:"structure"`
11054
11055	// An array of strings representing the instance name(s) you want to attach
11056	// to your load balancer.
11057	//
11058	// An instance must be running before you can attach it to your load balancer.
11059	//
11060	// There are no additional limits on the number of instances you can attach
11061	// to your load balancer, aside from the limit of Lightsail instances you can
11062	// create in your account (20).
11063	//
11064	// InstanceNames is a required field
11065	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
11066
11067	// The name of the load balancer.
11068	//
11069	// LoadBalancerName is a required field
11070	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
11071}
11072
11073// String returns the string representation
11074func (s AttachInstancesToLoadBalancerInput) String() string {
11075	return awsutil.Prettify(s)
11076}
11077
11078// GoString returns the string representation
11079func (s AttachInstancesToLoadBalancerInput) GoString() string {
11080	return s.String()
11081}
11082
11083// Validate inspects the fields of the type to determine if they are valid.
11084func (s *AttachInstancesToLoadBalancerInput) Validate() error {
11085	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
11086	if s.InstanceNames == nil {
11087		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
11088	}
11089	if s.LoadBalancerName == nil {
11090		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
11091	}
11092
11093	if invalidParams.Len() > 0 {
11094		return invalidParams
11095	}
11096	return nil
11097}
11098
11099// SetInstanceNames sets the InstanceNames field's value.
11100func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
11101	s.InstanceNames = v
11102	return s
11103}
11104
11105// SetLoadBalancerName sets the LoadBalancerName field's value.
11106func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
11107	s.LoadBalancerName = &v
11108	return s
11109}
11110
11111type AttachInstancesToLoadBalancerOutput struct {
11112	_ struct{} `type:"structure"`
11113
11114	// An object representing the API operations.
11115	Operations []*Operation `locationName:"operations" type:"list"`
11116}
11117
11118// String returns the string representation
11119func (s AttachInstancesToLoadBalancerOutput) String() string {
11120	return awsutil.Prettify(s)
11121}
11122
11123// GoString returns the string representation
11124func (s AttachInstancesToLoadBalancerOutput) GoString() string {
11125	return s.String()
11126}
11127
11128// SetOperations sets the Operations field's value.
11129func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
11130	s.Operations = v
11131	return s
11132}
11133
11134type AttachLoadBalancerTlsCertificateInput struct {
11135	_ struct{} `type:"structure"`
11136
11137	// The name of your SSL/TLS certificate.
11138	//
11139	// CertificateName is a required field
11140	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
11141
11142	// The name of the load balancer to which you want to associate the SSL/TLS
11143	// certificate.
11144	//
11145	// LoadBalancerName is a required field
11146	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
11147}
11148
11149// String returns the string representation
11150func (s AttachLoadBalancerTlsCertificateInput) String() string {
11151	return awsutil.Prettify(s)
11152}
11153
11154// GoString returns the string representation
11155func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
11156	return s.String()
11157}
11158
11159// Validate inspects the fields of the type to determine if they are valid.
11160func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
11161	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
11162	if s.CertificateName == nil {
11163		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
11164	}
11165	if s.LoadBalancerName == nil {
11166		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
11167	}
11168
11169	if invalidParams.Len() > 0 {
11170		return invalidParams
11171	}
11172	return nil
11173}
11174
11175// SetCertificateName sets the CertificateName field's value.
11176func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
11177	s.CertificateName = &v
11178	return s
11179}
11180
11181// SetLoadBalancerName sets the LoadBalancerName field's value.
11182func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
11183	s.LoadBalancerName = &v
11184	return s
11185}
11186
11187type AttachLoadBalancerTlsCertificateOutput struct {
11188	_ struct{} `type:"structure"`
11189
11190	// An object representing the API operations.
11191	//
11192	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
11193	// can't get the certificate and use it for another purpose.
11194	Operations []*Operation `locationName:"operations" type:"list"`
11195}
11196
11197// String returns the string representation
11198func (s AttachLoadBalancerTlsCertificateOutput) String() string {
11199	return awsutil.Prettify(s)
11200}
11201
11202// GoString returns the string representation
11203func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
11204	return s.String()
11205}
11206
11207// SetOperations sets the Operations field's value.
11208func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
11209	s.Operations = v
11210	return s
11211}
11212
11213type AttachStaticIpInput struct {
11214	_ struct{} `type:"structure"`
11215
11216	// The instance name to which you want to attach the static IP address.
11217	//
11218	// InstanceName is a required field
11219	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
11220
11221	// The name of the static IP.
11222	//
11223	// StaticIpName is a required field
11224	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
11225}
11226
11227// String returns the string representation
11228func (s AttachStaticIpInput) String() string {
11229	return awsutil.Prettify(s)
11230}
11231
11232// GoString returns the string representation
11233func (s AttachStaticIpInput) GoString() string {
11234	return s.String()
11235}
11236
11237// Validate inspects the fields of the type to determine if they are valid.
11238func (s *AttachStaticIpInput) Validate() error {
11239	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
11240	if s.InstanceName == nil {
11241		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
11242	}
11243	if s.StaticIpName == nil {
11244		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
11245	}
11246
11247	if invalidParams.Len() > 0 {
11248		return invalidParams
11249	}
11250	return nil
11251}
11252
11253// SetInstanceName sets the InstanceName field's value.
11254func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
11255	s.InstanceName = &v
11256	return s
11257}
11258
11259// SetStaticIpName sets the StaticIpName field's value.
11260func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
11261	s.StaticIpName = &v
11262	return s
11263}
11264
11265type AttachStaticIpOutput struct {
11266	_ struct{} `type:"structure"`
11267
11268	// An array of key-value pairs containing information about your API operations.
11269	Operations []*Operation `locationName:"operations" type:"list"`
11270}
11271
11272// String returns the string representation
11273func (s AttachStaticIpOutput) String() string {
11274	return awsutil.Prettify(s)
11275}
11276
11277// GoString returns the string representation
11278func (s AttachStaticIpOutput) GoString() string {
11279	return s.String()
11280}
11281
11282// SetOperations sets the Operations field's value.
11283func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
11284	s.Operations = v
11285	return s
11286}
11287
11288// Describes an Availability Zone.
11289type AvailabilityZone struct {
11290	_ struct{} `type:"structure"`
11291
11292	// The state of the Availability Zone.
11293	State *string `locationName:"state" type:"string"`
11294
11295	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
11296	ZoneName *string `locationName:"zoneName" type:"string"`
11297}
11298
11299// String returns the string representation
11300func (s AvailabilityZone) String() string {
11301	return awsutil.Prettify(s)
11302}
11303
11304// GoString returns the string representation
11305func (s AvailabilityZone) GoString() string {
11306	return s.String()
11307}
11308
11309// SetState sets the State field's value.
11310func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
11311	s.State = &v
11312	return s
11313}
11314
11315// SetZoneName sets the ZoneName field's value.
11316func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
11317	s.ZoneName = &v
11318	return s
11319}
11320
11321// Describes a blueprint (a virtual private server image).
11322type Blueprint struct {
11323	_ struct{} `type:"structure"`
11324
11325	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
11326	BlueprintId *string `locationName:"blueprintId" type:"string"`
11327
11328	// The description of the blueprint.
11329	Description *string `locationName:"description" type:"string"`
11330
11331	// The group name of the blueprint (e.g., amazon-linux).
11332	Group *string `locationName:"group" type:"string"`
11333
11334	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
11335	// are listed to support customers with existing instances but are not necessarily
11336	// available for launch of new instances. Blueprints are marked inactive when
11337	// they become outdated due to operating system updates or new application releases.
11338	IsActive *bool `locationName:"isActive" type:"boolean"`
11339
11340	// The end-user license agreement URL for the image or blueprint.
11341	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
11342
11343	// The minimum bundle power required to run this blueprint. For example, you
11344	// need a bundle with a power value of 500 or more to create an instance that
11345	// uses a blueprint with a minimum power value of 500. 0 indicates that the
11346	// blueprint runs on all instance sizes.
11347	MinPower *int64 `locationName:"minPower" type:"integer"`
11348
11349	// The friendly name of the blueprint (e.g., Amazon Linux).
11350	Name *string `locationName:"name" type:"string"`
11351
11352	// The operating system platform (either Linux/Unix-based or Windows Server-based)
11353	// of the blueprint.
11354	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
11355
11356	// The product URL to learn more about the image or blueprint.
11357	ProductUrl *string `locationName:"productUrl" type:"string"`
11358
11359	// The type of the blueprint (e.g., os or app).
11360	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
11361
11362	// The version number of the operating system, application, or stack (e.g.,
11363	// 2016.03.0).
11364	Version *string `locationName:"version" type:"string"`
11365
11366	// The version code.
11367	VersionCode *string `locationName:"versionCode" type:"string"`
11368}
11369
11370// String returns the string representation
11371func (s Blueprint) String() string {
11372	return awsutil.Prettify(s)
11373}
11374
11375// GoString returns the string representation
11376func (s Blueprint) GoString() string {
11377	return s.String()
11378}
11379
11380// SetBlueprintId sets the BlueprintId field's value.
11381func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
11382	s.BlueprintId = &v
11383	return s
11384}
11385
11386// SetDescription sets the Description field's value.
11387func (s *Blueprint) SetDescription(v string) *Blueprint {
11388	s.Description = &v
11389	return s
11390}
11391
11392// SetGroup sets the Group field's value.
11393func (s *Blueprint) SetGroup(v string) *Blueprint {
11394	s.Group = &v
11395	return s
11396}
11397
11398// SetIsActive sets the IsActive field's value.
11399func (s *Blueprint) SetIsActive(v bool) *Blueprint {
11400	s.IsActive = &v
11401	return s
11402}
11403
11404// SetLicenseUrl sets the LicenseUrl field's value.
11405func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
11406	s.LicenseUrl = &v
11407	return s
11408}
11409
11410// SetMinPower sets the MinPower field's value.
11411func (s *Blueprint) SetMinPower(v int64) *Blueprint {
11412	s.MinPower = &v
11413	return s
11414}
11415
11416// SetName sets the Name field's value.
11417func (s *Blueprint) SetName(v string) *Blueprint {
11418	s.Name = &v
11419	return s
11420}
11421
11422// SetPlatform sets the Platform field's value.
11423func (s *Blueprint) SetPlatform(v string) *Blueprint {
11424	s.Platform = &v
11425	return s
11426}
11427
11428// SetProductUrl sets the ProductUrl field's value.
11429func (s *Blueprint) SetProductUrl(v string) *Blueprint {
11430	s.ProductUrl = &v
11431	return s
11432}
11433
11434// SetType sets the Type field's value.
11435func (s *Blueprint) SetType(v string) *Blueprint {
11436	s.Type = &v
11437	return s
11438}
11439
11440// SetVersion sets the Version field's value.
11441func (s *Blueprint) SetVersion(v string) *Blueprint {
11442	s.Version = &v
11443	return s
11444}
11445
11446// SetVersionCode sets the VersionCode field's value.
11447func (s *Blueprint) SetVersionCode(v string) *Blueprint {
11448	s.VersionCode = &v
11449	return s
11450}
11451
11452// Describes a bundle, which is a set of specs describing your virtual private
11453// server (or instance).
11454type Bundle struct {
11455	_ struct{} `type:"structure"`
11456
11457	// The bundle ID (e.g., micro_1_0).
11458	BundleId *string `locationName:"bundleId" type:"string"`
11459
11460	// The number of vCPUs included in the bundle (e.g., 2).
11461	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
11462
11463	// The size of the SSD (e.g., 30).
11464	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
11465
11466	// The Amazon EC2 instance type (e.g., t2.micro).
11467	InstanceType *string `locationName:"instanceType" type:"string"`
11468
11469	// A Boolean value indicating whether the bundle is active.
11470	IsActive *bool `locationName:"isActive" type:"boolean"`
11471
11472	// A friendly name for the bundle (e.g., Micro).
11473	Name *string `locationName:"name" type:"string"`
11474
11475	// A numeric value that represents the power of the bundle (e.g., 500). You
11476	// can use the bundle's power value in conjunction with a blueprint's minimum
11477	// power value to determine whether the blueprint will run on the bundle. For
11478	// example, you need a bundle with a power value of 500 or more to create an
11479	// instance that uses a blueprint with a minimum power value of 500.
11480	Power *int64 `locationName:"power" type:"integer"`
11481
11482	// The price in US dollars (e.g., 5.0).
11483	Price *float64 `locationName:"price" type:"float"`
11484
11485	// The amount of RAM in GB (e.g., 2.0).
11486	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
11487
11488	// The operating system platform (Linux/Unix-based or Windows Server-based)
11489	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
11490	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
11491	// bundle.
11492	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
11493
11494	// The data transfer rate per month in GB (e.g., 2000).
11495	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
11496}
11497
11498// String returns the string representation
11499func (s Bundle) String() string {
11500	return awsutil.Prettify(s)
11501}
11502
11503// GoString returns the string representation
11504func (s Bundle) GoString() string {
11505	return s.String()
11506}
11507
11508// SetBundleId sets the BundleId field's value.
11509func (s *Bundle) SetBundleId(v string) *Bundle {
11510	s.BundleId = &v
11511	return s
11512}
11513
11514// SetCpuCount sets the CpuCount field's value.
11515func (s *Bundle) SetCpuCount(v int64) *Bundle {
11516	s.CpuCount = &v
11517	return s
11518}
11519
11520// SetDiskSizeInGb sets the DiskSizeInGb field's value.
11521func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
11522	s.DiskSizeInGb = &v
11523	return s
11524}
11525
11526// SetInstanceType sets the InstanceType field's value.
11527func (s *Bundle) SetInstanceType(v string) *Bundle {
11528	s.InstanceType = &v
11529	return s
11530}
11531
11532// SetIsActive sets the IsActive field's value.
11533func (s *Bundle) SetIsActive(v bool) *Bundle {
11534	s.IsActive = &v
11535	return s
11536}
11537
11538// SetName sets the Name field's value.
11539func (s *Bundle) SetName(v string) *Bundle {
11540	s.Name = &v
11541	return s
11542}
11543
11544// SetPower sets the Power field's value.
11545func (s *Bundle) SetPower(v int64) *Bundle {
11546	s.Power = &v
11547	return s
11548}
11549
11550// SetPrice sets the Price field's value.
11551func (s *Bundle) SetPrice(v float64) *Bundle {
11552	s.Price = &v
11553	return s
11554}
11555
11556// SetRamSizeInGb sets the RamSizeInGb field's value.
11557func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
11558	s.RamSizeInGb = &v
11559	return s
11560}
11561
11562// SetSupportedPlatforms sets the SupportedPlatforms field's value.
11563func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
11564	s.SupportedPlatforms = v
11565	return s
11566}
11567
11568// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
11569func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
11570	s.TransferPerMonthInGb = &v
11571	return s
11572}
11573
11574type CloseInstancePublicPortsInput struct {
11575	_ struct{} `type:"structure"`
11576
11577	// The name of the instance on which you're attempting to close the public ports.
11578	//
11579	// InstanceName is a required field
11580	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
11581
11582	// Information about the public port you are trying to close.
11583	//
11584	// PortInfo is a required field
11585	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
11586}
11587
11588// String returns the string representation
11589func (s CloseInstancePublicPortsInput) String() string {
11590	return awsutil.Prettify(s)
11591}
11592
11593// GoString returns the string representation
11594func (s CloseInstancePublicPortsInput) GoString() string {
11595	return s.String()
11596}
11597
11598// Validate inspects the fields of the type to determine if they are valid.
11599func (s *CloseInstancePublicPortsInput) Validate() error {
11600	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
11601	if s.InstanceName == nil {
11602		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
11603	}
11604	if s.PortInfo == nil {
11605		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
11606	}
11607
11608	if invalidParams.Len() > 0 {
11609		return invalidParams
11610	}
11611	return nil
11612}
11613
11614// SetInstanceName sets the InstanceName field's value.
11615func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
11616	s.InstanceName = &v
11617	return s
11618}
11619
11620// SetPortInfo sets the PortInfo field's value.
11621func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
11622	s.PortInfo = v
11623	return s
11624}
11625
11626type CloseInstancePublicPortsOutput struct {
11627	_ struct{} `type:"structure"`
11628
11629	// An array of key-value pairs that contains information about the operation.
11630	Operation *Operation `locationName:"operation" type:"structure"`
11631}
11632
11633// String returns the string representation
11634func (s CloseInstancePublicPortsOutput) String() string {
11635	return awsutil.Prettify(s)
11636}
11637
11638// GoString returns the string representation
11639func (s CloseInstancePublicPortsOutput) GoString() string {
11640	return s.String()
11641}
11642
11643// SetOperation sets the Operation field's value.
11644func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
11645	s.Operation = v
11646	return s
11647}
11648
11649// Describes a CloudFormation stack record created as a result of the create
11650// cloud formation stack operation.
11651//
11652// A CloudFormation stack record provides information about the AWS CloudFormation
11653// stack used to create a new Amazon Elastic Compute Cloud instance from an
11654// exported Lightsail instance snapshot.
11655type CloudFormationStackRecord struct {
11656	_ struct{} `type:"structure"`
11657
11658	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
11659	Arn *string `locationName:"arn" type:"string"`
11660
11661	// The date when the CloudFormation stack record was created.
11662	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11663
11664	// A list of objects describing the destination service, which is AWS CloudFormation,
11665	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
11666	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
11667
11668	// A list of objects describing the Availability Zone and AWS Region of the
11669	// CloudFormation stack record.
11670	Location *ResourceLocation `locationName:"location" type:"structure"`
11671
11672	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
11673	// followed by a GUID.
11674	Name *string `locationName:"name" type:"string"`
11675
11676	// The Lightsail resource type (e.g., CloudFormationStackRecord).
11677	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
11678
11679	// A list of objects describing the source of the CloudFormation stack record.
11680	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
11681
11682	// The current state of the CloudFormation stack record.
11683	State *string `locationName:"state" type:"string" enum:"RecordState"`
11684}
11685
11686// String returns the string representation
11687func (s CloudFormationStackRecord) String() string {
11688	return awsutil.Prettify(s)
11689}
11690
11691// GoString returns the string representation
11692func (s CloudFormationStackRecord) GoString() string {
11693	return s.String()
11694}
11695
11696// SetArn sets the Arn field's value.
11697func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
11698	s.Arn = &v
11699	return s
11700}
11701
11702// SetCreatedAt sets the CreatedAt field's value.
11703func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
11704	s.CreatedAt = &v
11705	return s
11706}
11707
11708// SetDestinationInfo sets the DestinationInfo field's value.
11709func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
11710	s.DestinationInfo = v
11711	return s
11712}
11713
11714// SetLocation sets the Location field's value.
11715func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
11716	s.Location = v
11717	return s
11718}
11719
11720// SetName sets the Name field's value.
11721func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
11722	s.Name = &v
11723	return s
11724}
11725
11726// SetResourceType sets the ResourceType field's value.
11727func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
11728	s.ResourceType = &v
11729	return s
11730}
11731
11732// SetSourceInfo sets the SourceInfo field's value.
11733func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
11734	s.SourceInfo = v
11735	return s
11736}
11737
11738// SetState sets the State field's value.
11739func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
11740	s.State = &v
11741	return s
11742}
11743
11744// Describes the source of a CloudFormation stack record (i.e., the export snapshot
11745// record).
11746type CloudFormationStackRecordSourceInfo struct {
11747	_ struct{} `type:"structure"`
11748
11749	// The Amazon Resource Name (ARN) of the export snapshot record.
11750	Arn *string `locationName:"arn" type:"string"`
11751
11752	// The name of the record.
11753	Name *string `locationName:"name" type:"string"`
11754
11755	// The Lightsail resource type (e.g., ExportSnapshotRecord).
11756	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
11757}
11758
11759// String returns the string representation
11760func (s CloudFormationStackRecordSourceInfo) String() string {
11761	return awsutil.Prettify(s)
11762}
11763
11764// GoString returns the string representation
11765func (s CloudFormationStackRecordSourceInfo) GoString() string {
11766	return s.String()
11767}
11768
11769// SetArn sets the Arn field's value.
11770func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
11771	s.Arn = &v
11772	return s
11773}
11774
11775// SetName sets the Name field's value.
11776func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
11777	s.Name = &v
11778	return s
11779}
11780
11781// SetResourceType sets the ResourceType field's value.
11782func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
11783	s.ResourceType = &v
11784	return s
11785}
11786
11787type CopySnapshotInput struct {
11788	_ struct{} `type:"structure"`
11789
11790	// The AWS Region where the source snapshot is located.
11791	//
11792	// SourceRegion is a required field
11793	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
11794
11795	// The name of the source instance or disk snapshot to be copied.
11796	//
11797	// SourceSnapshotName is a required field
11798	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
11799
11800	// The name of the new instance or disk snapshot to be created as a copy.
11801	//
11802	// TargetSnapshotName is a required field
11803	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
11804}
11805
11806// String returns the string representation
11807func (s CopySnapshotInput) String() string {
11808	return awsutil.Prettify(s)
11809}
11810
11811// GoString returns the string representation
11812func (s CopySnapshotInput) GoString() string {
11813	return s.String()
11814}
11815
11816// Validate inspects the fields of the type to determine if they are valid.
11817func (s *CopySnapshotInput) Validate() error {
11818	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
11819	if s.SourceRegion == nil {
11820		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
11821	}
11822	if s.SourceSnapshotName == nil {
11823		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
11824	}
11825	if s.TargetSnapshotName == nil {
11826		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
11827	}
11828
11829	if invalidParams.Len() > 0 {
11830		return invalidParams
11831	}
11832	return nil
11833}
11834
11835// SetSourceRegion sets the SourceRegion field's value.
11836func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
11837	s.SourceRegion = &v
11838	return s
11839}
11840
11841// SetSourceSnapshotName sets the SourceSnapshotName field's value.
11842func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
11843	s.SourceSnapshotName = &v
11844	return s
11845}
11846
11847// SetTargetSnapshotName sets the TargetSnapshotName field's value.
11848func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
11849	s.TargetSnapshotName = &v
11850	return s
11851}
11852
11853type CopySnapshotOutput struct {
11854	_ struct{} `type:"structure"`
11855
11856	// A list of objects describing the API operation.
11857	Operations []*Operation `locationName:"operations" type:"list"`
11858}
11859
11860// String returns the string representation
11861func (s CopySnapshotOutput) String() string {
11862	return awsutil.Prettify(s)
11863}
11864
11865// GoString returns the string representation
11866func (s CopySnapshotOutput) GoString() string {
11867	return s.String()
11868}
11869
11870// SetOperations sets the Operations field's value.
11871func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
11872	s.Operations = v
11873	return s
11874}
11875
11876type CreateCloudFormationStackInput struct {
11877	_ struct{} `type:"structure"`
11878
11879	// An array of parameters that will be used to create the new Amazon EC2 instance.
11880	// You can only pass one instance entry at a time in this array. You will get
11881	// an invalid parameter error if you pass more than one instance entry in this
11882	// array.
11883	//
11884	// Instances is a required field
11885	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
11886}
11887
11888// String returns the string representation
11889func (s CreateCloudFormationStackInput) String() string {
11890	return awsutil.Prettify(s)
11891}
11892
11893// GoString returns the string representation
11894func (s CreateCloudFormationStackInput) GoString() string {
11895	return s.String()
11896}
11897
11898// Validate inspects the fields of the type to determine if they are valid.
11899func (s *CreateCloudFormationStackInput) Validate() error {
11900	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
11901	if s.Instances == nil {
11902		invalidParams.Add(request.NewErrParamRequired("Instances"))
11903	}
11904	if s.Instances != nil {
11905		for i, v := range s.Instances {
11906			if v == nil {
11907				continue
11908			}
11909			if err := v.Validate(); err != nil {
11910				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
11911			}
11912		}
11913	}
11914
11915	if invalidParams.Len() > 0 {
11916		return invalidParams
11917	}
11918	return nil
11919}
11920
11921// SetInstances sets the Instances field's value.
11922func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
11923	s.Instances = v
11924	return s
11925}
11926
11927type CreateCloudFormationStackOutput struct {
11928	_ struct{} `type:"structure"`
11929
11930	// A list of objects describing the API operation.
11931	Operations []*Operation `locationName:"operations" type:"list"`
11932}
11933
11934// String returns the string representation
11935func (s CreateCloudFormationStackOutput) String() string {
11936	return awsutil.Prettify(s)
11937}
11938
11939// GoString returns the string representation
11940func (s CreateCloudFormationStackOutput) GoString() string {
11941	return s.String()
11942}
11943
11944// SetOperations sets the Operations field's value.
11945func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
11946	s.Operations = v
11947	return s
11948}
11949
11950type CreateDiskFromSnapshotInput struct {
11951	_ struct{} `type:"structure"`
11952
11953	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
11954	// Choose the same Availability Zone as the Lightsail instance where you want
11955	// to create the disk.
11956	//
11957	// Use the GetRegions operation to list the Availability Zones where Lightsail
11958	// is currently available.
11959	//
11960	// AvailabilityZone is a required field
11961	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
11962
11963	// The unique Lightsail disk name (e.g., my-disk).
11964	//
11965	// DiskName is a required field
11966	DiskName *string `locationName:"diskName" type:"string" required:"true"`
11967
11968	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
11969	// new storage disk.
11970	//
11971	// DiskSnapshotName is a required field
11972	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
11973
11974	// The size of the disk in GB (e.g., 32).
11975	//
11976	// SizeInGb is a required field
11977	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
11978
11979	// The tag keys and optional values to add to the resource during create.
11980	//
11981	// To tag a resource after it has been created, see the tag resource operation.
11982	Tags []*Tag `locationName:"tags" type:"list"`
11983}
11984
11985// String returns the string representation
11986func (s CreateDiskFromSnapshotInput) String() string {
11987	return awsutil.Prettify(s)
11988}
11989
11990// GoString returns the string representation
11991func (s CreateDiskFromSnapshotInput) GoString() string {
11992	return s.String()
11993}
11994
11995// Validate inspects the fields of the type to determine if they are valid.
11996func (s *CreateDiskFromSnapshotInput) Validate() error {
11997	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
11998	if s.AvailabilityZone == nil {
11999		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
12000	}
12001	if s.DiskName == nil {
12002		invalidParams.Add(request.NewErrParamRequired("DiskName"))
12003	}
12004	if s.DiskSnapshotName == nil {
12005		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
12006	}
12007	if s.SizeInGb == nil {
12008		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
12009	}
12010
12011	if invalidParams.Len() > 0 {
12012		return invalidParams
12013	}
12014	return nil
12015}
12016
12017// SetAvailabilityZone sets the AvailabilityZone field's value.
12018func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
12019	s.AvailabilityZone = &v
12020	return s
12021}
12022
12023// SetDiskName sets the DiskName field's value.
12024func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
12025	s.DiskName = &v
12026	return s
12027}
12028
12029// SetDiskSnapshotName sets the DiskSnapshotName field's value.
12030func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
12031	s.DiskSnapshotName = &v
12032	return s
12033}
12034
12035// SetSizeInGb sets the SizeInGb field's value.
12036func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
12037	s.SizeInGb = &v
12038	return s
12039}
12040
12041// SetTags sets the Tags field's value.
12042func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
12043	s.Tags = v
12044	return s
12045}
12046
12047type CreateDiskFromSnapshotOutput struct {
12048	_ struct{} `type:"structure"`
12049
12050	// An object describing the API operations.
12051	Operations []*Operation `locationName:"operations" type:"list"`
12052}
12053
12054// String returns the string representation
12055func (s CreateDiskFromSnapshotOutput) String() string {
12056	return awsutil.Prettify(s)
12057}
12058
12059// GoString returns the string representation
12060func (s CreateDiskFromSnapshotOutput) GoString() string {
12061	return s.String()
12062}
12063
12064// SetOperations sets the Operations field's value.
12065func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
12066	s.Operations = v
12067	return s
12068}
12069
12070type CreateDiskInput struct {
12071	_ struct{} `type:"structure"`
12072
12073	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
12074	// Choose the same Availability Zone as the Lightsail instance where you want
12075	// to create the disk.
12076	//
12077	// Use the GetRegions operation to list the Availability Zones where Lightsail
12078	// is currently available.
12079	//
12080	// AvailabilityZone is a required field
12081	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
12082
12083	// The unique Lightsail disk name (e.g., my-disk).
12084	//
12085	// DiskName is a required field
12086	DiskName *string `locationName:"diskName" type:"string" required:"true"`
12087
12088	// The size of the disk in GB (e.g., 32).
12089	//
12090	// SizeInGb is a required field
12091	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
12092
12093	// The tag keys and optional values to add to the resource during create.
12094	//
12095	// To tag a resource after it has been created, see the tag resource operation.
12096	Tags []*Tag `locationName:"tags" type:"list"`
12097}
12098
12099// String returns the string representation
12100func (s CreateDiskInput) String() string {
12101	return awsutil.Prettify(s)
12102}
12103
12104// GoString returns the string representation
12105func (s CreateDiskInput) GoString() string {
12106	return s.String()
12107}
12108
12109// Validate inspects the fields of the type to determine if they are valid.
12110func (s *CreateDiskInput) Validate() error {
12111	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
12112	if s.AvailabilityZone == nil {
12113		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
12114	}
12115	if s.DiskName == nil {
12116		invalidParams.Add(request.NewErrParamRequired("DiskName"))
12117	}
12118	if s.SizeInGb == nil {
12119		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
12120	}
12121
12122	if invalidParams.Len() > 0 {
12123		return invalidParams
12124	}
12125	return nil
12126}
12127
12128// SetAvailabilityZone sets the AvailabilityZone field's value.
12129func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
12130	s.AvailabilityZone = &v
12131	return s
12132}
12133
12134// SetDiskName sets the DiskName field's value.
12135func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
12136	s.DiskName = &v
12137	return s
12138}
12139
12140// SetSizeInGb sets the SizeInGb field's value.
12141func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
12142	s.SizeInGb = &v
12143	return s
12144}
12145
12146// SetTags sets the Tags field's value.
12147func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
12148	s.Tags = v
12149	return s
12150}
12151
12152type CreateDiskOutput struct {
12153	_ struct{} `type:"structure"`
12154
12155	// An object describing the API operations.
12156	Operations []*Operation `locationName:"operations" type:"list"`
12157}
12158
12159// String returns the string representation
12160func (s CreateDiskOutput) String() string {
12161	return awsutil.Prettify(s)
12162}
12163
12164// GoString returns the string representation
12165func (s CreateDiskOutput) GoString() string {
12166	return s.String()
12167}
12168
12169// SetOperations sets the Operations field's value.
12170func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
12171	s.Operations = v
12172	return s
12173}
12174
12175type CreateDiskSnapshotInput struct {
12176	_ struct{} `type:"structure"`
12177
12178	// The unique name of the source disk (e.g., Disk-Virginia-1).
12179	//
12180	// This parameter cannot be defined together with the instance name parameter.
12181	// The disk name and instance name parameters are mutually exclusive.
12182	DiskName *string `locationName:"diskName" type:"string"`
12183
12184	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
12185	// on the source disk.
12186	//
12187	// DiskSnapshotName is a required field
12188	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
12189
12190	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
12191	// When this is defined, a snapshot of the instance's system volume is created.
12192	//
12193	// This parameter cannot be defined together with the disk name parameter. The
12194	// instance name and disk name parameters are mutually exclusive.
12195	InstanceName *string `locationName:"instanceName" type:"string"`
12196
12197	// The tag keys and optional values to add to the resource during create.
12198	//
12199	// To tag a resource after it has been created, see the tag resource operation.
12200	Tags []*Tag `locationName:"tags" type:"list"`
12201}
12202
12203// String returns the string representation
12204func (s CreateDiskSnapshotInput) String() string {
12205	return awsutil.Prettify(s)
12206}
12207
12208// GoString returns the string representation
12209func (s CreateDiskSnapshotInput) GoString() string {
12210	return s.String()
12211}
12212
12213// Validate inspects the fields of the type to determine if they are valid.
12214func (s *CreateDiskSnapshotInput) Validate() error {
12215	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
12216	if s.DiskSnapshotName == nil {
12217		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
12218	}
12219
12220	if invalidParams.Len() > 0 {
12221		return invalidParams
12222	}
12223	return nil
12224}
12225
12226// SetDiskName sets the DiskName field's value.
12227func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
12228	s.DiskName = &v
12229	return s
12230}
12231
12232// SetDiskSnapshotName sets the DiskSnapshotName field's value.
12233func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
12234	s.DiskSnapshotName = &v
12235	return s
12236}
12237
12238// SetInstanceName sets the InstanceName field's value.
12239func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
12240	s.InstanceName = &v
12241	return s
12242}
12243
12244// SetTags sets the Tags field's value.
12245func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
12246	s.Tags = v
12247	return s
12248}
12249
12250type CreateDiskSnapshotOutput struct {
12251	_ struct{} `type:"structure"`
12252
12253	// An object describing the API operations.
12254	Operations []*Operation `locationName:"operations" type:"list"`
12255}
12256
12257// String returns the string representation
12258func (s CreateDiskSnapshotOutput) String() string {
12259	return awsutil.Prettify(s)
12260}
12261
12262// GoString returns the string representation
12263func (s CreateDiskSnapshotOutput) GoString() string {
12264	return s.String()
12265}
12266
12267// SetOperations sets the Operations field's value.
12268func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
12269	s.Operations = v
12270	return s
12271}
12272
12273type CreateDomainEntryInput struct {
12274	_ struct{} `type:"structure"`
12275
12276	// An array of key-value pairs containing information about the domain entry
12277	// request.
12278	//
12279	// DomainEntry is a required field
12280	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
12281
12282	// The domain name (e.g., example.com) for which you want to create the domain
12283	// entry.
12284	//
12285	// DomainName is a required field
12286	DomainName *string `locationName:"domainName" type:"string" required:"true"`
12287}
12288
12289// String returns the string representation
12290func (s CreateDomainEntryInput) String() string {
12291	return awsutil.Prettify(s)
12292}
12293
12294// GoString returns the string representation
12295func (s CreateDomainEntryInput) GoString() string {
12296	return s.String()
12297}
12298
12299// Validate inspects the fields of the type to determine if they are valid.
12300func (s *CreateDomainEntryInput) Validate() error {
12301	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
12302	if s.DomainEntry == nil {
12303		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
12304	}
12305	if s.DomainName == nil {
12306		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12307	}
12308
12309	if invalidParams.Len() > 0 {
12310		return invalidParams
12311	}
12312	return nil
12313}
12314
12315// SetDomainEntry sets the DomainEntry field's value.
12316func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
12317	s.DomainEntry = v
12318	return s
12319}
12320
12321// SetDomainName sets the DomainName field's value.
12322func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
12323	s.DomainName = &v
12324	return s
12325}
12326
12327type CreateDomainEntryOutput struct {
12328	_ struct{} `type:"structure"`
12329
12330	// An array of key-value pairs containing information about the operation.
12331	Operation *Operation `locationName:"operation" type:"structure"`
12332}
12333
12334// String returns the string representation
12335func (s CreateDomainEntryOutput) String() string {
12336	return awsutil.Prettify(s)
12337}
12338
12339// GoString returns the string representation
12340func (s CreateDomainEntryOutput) GoString() string {
12341	return s.String()
12342}
12343
12344// SetOperation sets the Operation field's value.
12345func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
12346	s.Operation = v
12347	return s
12348}
12349
12350type CreateDomainInput struct {
12351	_ struct{} `type:"structure"`
12352
12353	// The domain name to manage (e.g., example.com).
12354	//
12355	// You cannot register a new domain name using Lightsail. You must register
12356	// a domain name using Amazon Route 53 or another domain name registrar. If
12357	// you have already registered your domain, you can enter its name in this parameter
12358	// to manage the DNS records for that domain.
12359	//
12360	// DomainName is a required field
12361	DomainName *string `locationName:"domainName" type:"string" required:"true"`
12362
12363	// The tag keys and optional values to add to the resource during create.
12364	//
12365	// To tag a resource after it has been created, see the tag resource operation.
12366	Tags []*Tag `locationName:"tags" type:"list"`
12367}
12368
12369// String returns the string representation
12370func (s CreateDomainInput) String() string {
12371	return awsutil.Prettify(s)
12372}
12373
12374// GoString returns the string representation
12375func (s CreateDomainInput) GoString() string {
12376	return s.String()
12377}
12378
12379// Validate inspects the fields of the type to determine if they are valid.
12380func (s *CreateDomainInput) Validate() error {
12381	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
12382	if s.DomainName == nil {
12383		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12384	}
12385
12386	if invalidParams.Len() > 0 {
12387		return invalidParams
12388	}
12389	return nil
12390}
12391
12392// SetDomainName sets the DomainName field's value.
12393func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
12394	s.DomainName = &v
12395	return s
12396}
12397
12398// SetTags sets the Tags field's value.
12399func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
12400	s.Tags = v
12401	return s
12402}
12403
12404type CreateDomainOutput struct {
12405	_ struct{} `type:"structure"`
12406
12407	// An array of key-value pairs containing information about the domain resource
12408	// you created.
12409	Operation *Operation `locationName:"operation" type:"structure"`
12410}
12411
12412// String returns the string representation
12413func (s CreateDomainOutput) String() string {
12414	return awsutil.Prettify(s)
12415}
12416
12417// GoString returns the string representation
12418func (s CreateDomainOutput) GoString() string {
12419	return s.String()
12420}
12421
12422// SetOperation sets the Operation field's value.
12423func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
12424	s.Operation = v
12425	return s
12426}
12427
12428type CreateInstanceSnapshotInput struct {
12429	_ struct{} `type:"structure"`
12430
12431	// The Lightsail instance on which to base your snapshot.
12432	//
12433	// InstanceName is a required field
12434	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
12435
12436	// The name for your new snapshot.
12437	//
12438	// InstanceSnapshotName is a required field
12439	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
12440
12441	// The tag keys and optional values to add to the resource during create.
12442	//
12443	// To tag a resource after it has been created, see the tag resource operation.
12444	Tags []*Tag `locationName:"tags" type:"list"`
12445}
12446
12447// String returns the string representation
12448func (s CreateInstanceSnapshotInput) String() string {
12449	return awsutil.Prettify(s)
12450}
12451
12452// GoString returns the string representation
12453func (s CreateInstanceSnapshotInput) GoString() string {
12454	return s.String()
12455}
12456
12457// Validate inspects the fields of the type to determine if they are valid.
12458func (s *CreateInstanceSnapshotInput) Validate() error {
12459	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
12460	if s.InstanceName == nil {
12461		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
12462	}
12463	if s.InstanceSnapshotName == nil {
12464		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
12465	}
12466
12467	if invalidParams.Len() > 0 {
12468		return invalidParams
12469	}
12470	return nil
12471}
12472
12473// SetInstanceName sets the InstanceName field's value.
12474func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
12475	s.InstanceName = &v
12476	return s
12477}
12478
12479// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
12480func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
12481	s.InstanceSnapshotName = &v
12482	return s
12483}
12484
12485// SetTags sets the Tags field's value.
12486func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
12487	s.Tags = v
12488	return s
12489}
12490
12491type CreateInstanceSnapshotOutput struct {
12492	_ struct{} `type:"structure"`
12493
12494	// An array of key-value pairs containing information about the results of your
12495	// create instances snapshot request.
12496	Operations []*Operation `locationName:"operations" type:"list"`
12497}
12498
12499// String returns the string representation
12500func (s CreateInstanceSnapshotOutput) String() string {
12501	return awsutil.Prettify(s)
12502}
12503
12504// GoString returns the string representation
12505func (s CreateInstanceSnapshotOutput) GoString() string {
12506	return s.String()
12507}
12508
12509// SetOperations sets the Operations field's value.
12510func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
12511	s.Operations = v
12512	return s
12513}
12514
12515type CreateInstancesFromSnapshotInput struct {
12516	_ struct{} `type:"structure"`
12517
12518	// An object containing information about one or more disk mappings.
12519	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
12520
12521	// The Availability Zone where you want to create your instances. Use the following
12522	// formatting: us-east-2a (case sensitive). You can get a list of Availability
12523	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
12524	// operation. Be sure to add the include Availability Zones parameter to your
12525	// request.
12526	//
12527	// AvailabilityZone is a required field
12528	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
12529
12530	// The bundle of specification information for your virtual private server (or
12531	// instance), including the pricing plan (e.g., micro_1_0).
12532	//
12533	// BundleId is a required field
12534	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
12535
12536	// The names for your new instances.
12537	//
12538	// InstanceNames is a required field
12539	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
12540
12541	// The name of the instance snapshot on which you are basing your new instances.
12542	// Use the get instance snapshots operation to return information about your
12543	// existing snapshots.
12544	//
12545	// InstanceSnapshotName is a required field
12546	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
12547
12548	// The name for your key pair.
12549	KeyPairName *string `locationName:"keyPairName" type:"string"`
12550
12551	// The tag keys and optional values to add to the resource during create.
12552	//
12553	// To tag a resource after it has been created, see the tag resource operation.
12554	Tags []*Tag `locationName:"tags" type:"list"`
12555
12556	// You can create a launch script that configures a server with additional user
12557	// data. For example, apt-get -y update.
12558	//
12559	// Depending on the machine image you choose, the command to get software on
12560	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
12561	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
12562	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
12563	UserData *string `locationName:"userData" type:"string"`
12564}
12565
12566// String returns the string representation
12567func (s CreateInstancesFromSnapshotInput) String() string {
12568	return awsutil.Prettify(s)
12569}
12570
12571// GoString returns the string representation
12572func (s CreateInstancesFromSnapshotInput) GoString() string {
12573	return s.String()
12574}
12575
12576// Validate inspects the fields of the type to determine if they are valid.
12577func (s *CreateInstancesFromSnapshotInput) Validate() error {
12578	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
12579	if s.AvailabilityZone == nil {
12580		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
12581	}
12582	if s.BundleId == nil {
12583		invalidParams.Add(request.NewErrParamRequired("BundleId"))
12584	}
12585	if s.InstanceNames == nil {
12586		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
12587	}
12588	if s.InstanceSnapshotName == nil {
12589		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
12590	}
12591
12592	if invalidParams.Len() > 0 {
12593		return invalidParams
12594	}
12595	return nil
12596}
12597
12598// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
12599func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
12600	s.AttachedDiskMapping = v
12601	return s
12602}
12603
12604// SetAvailabilityZone sets the AvailabilityZone field's value.
12605func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
12606	s.AvailabilityZone = &v
12607	return s
12608}
12609
12610// SetBundleId sets the BundleId field's value.
12611func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
12612	s.BundleId = &v
12613	return s
12614}
12615
12616// SetInstanceNames sets the InstanceNames field's value.
12617func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
12618	s.InstanceNames = v
12619	return s
12620}
12621
12622// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
12623func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
12624	s.InstanceSnapshotName = &v
12625	return s
12626}
12627
12628// SetKeyPairName sets the KeyPairName field's value.
12629func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
12630	s.KeyPairName = &v
12631	return s
12632}
12633
12634// SetTags sets the Tags field's value.
12635func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
12636	s.Tags = v
12637	return s
12638}
12639
12640// SetUserData sets the UserData field's value.
12641func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
12642	s.UserData = &v
12643	return s
12644}
12645
12646type CreateInstancesFromSnapshotOutput struct {
12647	_ struct{} `type:"structure"`
12648
12649	// An array of key-value pairs containing information about the results of your
12650	// create instances from snapshot request.
12651	Operations []*Operation `locationName:"operations" type:"list"`
12652}
12653
12654// String returns the string representation
12655func (s CreateInstancesFromSnapshotOutput) String() string {
12656	return awsutil.Prettify(s)
12657}
12658
12659// GoString returns the string representation
12660func (s CreateInstancesFromSnapshotOutput) GoString() string {
12661	return s.String()
12662}
12663
12664// SetOperations sets the Operations field's value.
12665func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
12666	s.Operations = v
12667	return s
12668}
12669
12670type CreateInstancesInput struct {
12671	_ struct{} `type:"structure"`
12672
12673	// The Availability Zone in which to create your instance. Use the following
12674	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
12675	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
12676	// operation. Be sure to add the include Availability Zones parameter to your
12677	// request.
12678	//
12679	// AvailabilityZone is a required field
12680	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
12681
12682	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
12683	// Use the get blueprints operation to return a list of available images (or
12684	// blueprints).
12685	//
12686	// BlueprintId is a required field
12687	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
12688
12689	// The bundle of specification information for your virtual private server (or
12690	// instance), including the pricing plan (e.g., micro_1_0).
12691	//
12692	// BundleId is a required field
12693	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
12694
12695	// (Deprecated) The name for your custom image.
12696	//
12697	// In releases prior to June 12, 2017, this parameter was ignored by the API.
12698	// It is now deprecated.
12699	//
12700	// Deprecated: CustomImageName has been deprecated
12701	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
12702
12703	// The names to use for your new Lightsail instances. Separate multiple values
12704	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
12705	//
12706	// InstanceNames is a required field
12707	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
12708
12709	// The name of your key pair.
12710	KeyPairName *string `locationName:"keyPairName" type:"string"`
12711
12712	// The tag keys and optional values to add to the resource during create.
12713	//
12714	// To tag a resource after it has been created, see the tag resource operation.
12715	Tags []*Tag `locationName:"tags" type:"list"`
12716
12717	// A launch script you can create that configures a server with additional user
12718	// data. For example, you might want to run apt-get -y update.
12719	//
12720	// Depending on the machine image you choose, the command to get software on
12721	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
12722	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
12723	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
12724	UserData *string `locationName:"userData" type:"string"`
12725}
12726
12727// String returns the string representation
12728func (s CreateInstancesInput) String() string {
12729	return awsutil.Prettify(s)
12730}
12731
12732// GoString returns the string representation
12733func (s CreateInstancesInput) GoString() string {
12734	return s.String()
12735}
12736
12737// Validate inspects the fields of the type to determine if they are valid.
12738func (s *CreateInstancesInput) Validate() error {
12739	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
12740	if s.AvailabilityZone == nil {
12741		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
12742	}
12743	if s.BlueprintId == nil {
12744		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
12745	}
12746	if s.BundleId == nil {
12747		invalidParams.Add(request.NewErrParamRequired("BundleId"))
12748	}
12749	if s.InstanceNames == nil {
12750		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
12751	}
12752
12753	if invalidParams.Len() > 0 {
12754		return invalidParams
12755	}
12756	return nil
12757}
12758
12759// SetAvailabilityZone sets the AvailabilityZone field's value.
12760func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
12761	s.AvailabilityZone = &v
12762	return s
12763}
12764
12765// SetBlueprintId sets the BlueprintId field's value.
12766func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
12767	s.BlueprintId = &v
12768	return s
12769}
12770
12771// SetBundleId sets the BundleId field's value.
12772func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
12773	s.BundleId = &v
12774	return s
12775}
12776
12777// SetCustomImageName sets the CustomImageName field's value.
12778func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
12779	s.CustomImageName = &v
12780	return s
12781}
12782
12783// SetInstanceNames sets the InstanceNames field's value.
12784func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
12785	s.InstanceNames = v
12786	return s
12787}
12788
12789// SetKeyPairName sets the KeyPairName field's value.
12790func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
12791	s.KeyPairName = &v
12792	return s
12793}
12794
12795// SetTags sets the Tags field's value.
12796func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
12797	s.Tags = v
12798	return s
12799}
12800
12801// SetUserData sets the UserData field's value.
12802func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
12803	s.UserData = &v
12804	return s
12805}
12806
12807type CreateInstancesOutput struct {
12808	_ struct{} `type:"structure"`
12809
12810	// An array of key-value pairs containing information about the results of your
12811	// create instances request.
12812	Operations []*Operation `locationName:"operations" type:"list"`
12813}
12814
12815// String returns the string representation
12816func (s CreateInstancesOutput) String() string {
12817	return awsutil.Prettify(s)
12818}
12819
12820// GoString returns the string representation
12821func (s CreateInstancesOutput) GoString() string {
12822	return s.String()
12823}
12824
12825// SetOperations sets the Operations field's value.
12826func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
12827	s.Operations = v
12828	return s
12829}
12830
12831type CreateKeyPairInput struct {
12832	_ struct{} `type:"structure"`
12833
12834	// The name for your new key pair.
12835	//
12836	// KeyPairName is a required field
12837	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
12838
12839	// The tag keys and optional values to add to the resource during create.
12840	//
12841	// To tag a resource after it has been created, see the tag resource operation.
12842	Tags []*Tag `locationName:"tags" type:"list"`
12843}
12844
12845// String returns the string representation
12846func (s CreateKeyPairInput) String() string {
12847	return awsutil.Prettify(s)
12848}
12849
12850// GoString returns the string representation
12851func (s CreateKeyPairInput) GoString() string {
12852	return s.String()
12853}
12854
12855// Validate inspects the fields of the type to determine if they are valid.
12856func (s *CreateKeyPairInput) Validate() error {
12857	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
12858	if s.KeyPairName == nil {
12859		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
12860	}
12861
12862	if invalidParams.Len() > 0 {
12863		return invalidParams
12864	}
12865	return nil
12866}
12867
12868// SetKeyPairName sets the KeyPairName field's value.
12869func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
12870	s.KeyPairName = &v
12871	return s
12872}
12873
12874// SetTags sets the Tags field's value.
12875func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
12876	s.Tags = v
12877	return s
12878}
12879
12880type CreateKeyPairOutput struct {
12881	_ struct{} `type:"structure"`
12882
12883	// An array of key-value pairs containing information about the new key pair
12884	// you just created.
12885	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
12886
12887	// An array of key-value pairs containing information about the results of your
12888	// create key pair request.
12889	Operation *Operation `locationName:"operation" type:"structure"`
12890
12891	// A base64-encoded RSA private key.
12892	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
12893
12894	// A base64-encoded public key of the ssh-rsa type.
12895	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
12896}
12897
12898// String returns the string representation
12899func (s CreateKeyPairOutput) String() string {
12900	return awsutil.Prettify(s)
12901}
12902
12903// GoString returns the string representation
12904func (s CreateKeyPairOutput) GoString() string {
12905	return s.String()
12906}
12907
12908// SetKeyPair sets the KeyPair field's value.
12909func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
12910	s.KeyPair = v
12911	return s
12912}
12913
12914// SetOperation sets the Operation field's value.
12915func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
12916	s.Operation = v
12917	return s
12918}
12919
12920// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
12921func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
12922	s.PrivateKeyBase64 = &v
12923	return s
12924}
12925
12926// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
12927func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
12928	s.PublicKeyBase64 = &v
12929	return s
12930}
12931
12932type CreateLoadBalancerInput struct {
12933	_ struct{} `type:"structure"`
12934
12935	// The optional alternative domains and subdomains to use with your SSL/TLS
12936	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
12937	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
12938
12939	// The domain name with which your certificate is associated (e.g., example.com).
12940	//
12941	// If you specify certificateDomainName, then certificateName is required (and
12942	// vice-versa).
12943	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
12944
12945	// The name of the SSL/TLS certificate.
12946	//
12947	// If you specify certificateName, then certificateDomainName is required (and
12948	// vice-versa).
12949	CertificateName *string `locationName:"certificateName" type:"string"`
12950
12951	// The path you provided to perform the load balancer health check. If you didn't
12952	// specify a health check path, Lightsail uses the root path of your website
12953	// (e.g., "/").
12954	//
12955	// You may want to specify a custom health check path other than the root of
12956	// your application if your home page loads slowly or has a lot of media or
12957	// scripting on it.
12958	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
12959
12960	// The instance port where you're creating your load balancer.
12961	//
12962	// InstancePort is a required field
12963	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
12964
12965	// The name of your load balancer.
12966	//
12967	// LoadBalancerName is a required field
12968	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
12969
12970	// The tag keys and optional values to add to the resource during create.
12971	//
12972	// To tag a resource after it has been created, see the tag resource operation.
12973	Tags []*Tag `locationName:"tags" type:"list"`
12974}
12975
12976// String returns the string representation
12977func (s CreateLoadBalancerInput) String() string {
12978	return awsutil.Prettify(s)
12979}
12980
12981// GoString returns the string representation
12982func (s CreateLoadBalancerInput) GoString() string {
12983	return s.String()
12984}
12985
12986// Validate inspects the fields of the type to determine if they are valid.
12987func (s *CreateLoadBalancerInput) Validate() error {
12988	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
12989	if s.InstancePort == nil {
12990		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
12991	}
12992	if s.LoadBalancerName == nil {
12993		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
12994	}
12995
12996	if invalidParams.Len() > 0 {
12997		return invalidParams
12998	}
12999	return nil
13000}
13001
13002// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
13003func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
13004	s.CertificateAlternativeNames = v
13005	return s
13006}
13007
13008// SetCertificateDomainName sets the CertificateDomainName field's value.
13009func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
13010	s.CertificateDomainName = &v
13011	return s
13012}
13013
13014// SetCertificateName sets the CertificateName field's value.
13015func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
13016	s.CertificateName = &v
13017	return s
13018}
13019
13020// SetHealthCheckPath sets the HealthCheckPath field's value.
13021func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
13022	s.HealthCheckPath = &v
13023	return s
13024}
13025
13026// SetInstancePort sets the InstancePort field's value.
13027func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
13028	s.InstancePort = &v
13029	return s
13030}
13031
13032// SetLoadBalancerName sets the LoadBalancerName field's value.
13033func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
13034	s.LoadBalancerName = &v
13035	return s
13036}
13037
13038// SetTags sets the Tags field's value.
13039func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
13040	s.Tags = v
13041	return s
13042}
13043
13044type CreateLoadBalancerOutput struct {
13045	_ struct{} `type:"structure"`
13046
13047	// An object containing information about the API operations.
13048	Operations []*Operation `locationName:"operations" type:"list"`
13049}
13050
13051// String returns the string representation
13052func (s CreateLoadBalancerOutput) String() string {
13053	return awsutil.Prettify(s)
13054}
13055
13056// GoString returns the string representation
13057func (s CreateLoadBalancerOutput) GoString() string {
13058	return s.String()
13059}
13060
13061// SetOperations sets the Operations field's value.
13062func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
13063	s.Operations = v
13064	return s
13065}
13066
13067type CreateLoadBalancerTlsCertificateInput struct {
13068	_ struct{} `type:"structure"`
13069
13070	// An array of strings listing alternative domains and subdomains for your SSL/TLS
13071	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
13072	// of 9 alternative names (in addition to the 1 primary domain). We do not support
13073	// wildcards (e.g., *.example.com).
13074	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
13075
13076	// The domain name (e.g., example.com) for your SSL/TLS certificate.
13077	//
13078	// CertificateDomainName is a required field
13079	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
13080
13081	// The SSL/TLS certificate name.
13082	//
13083	// You can have up to 10 certificates in your account at one time. Each Lightsail
13084	// load balancer can have up to 2 certificates associated with it at one time.
13085	// There is also an overall limit to the number of certificates that can be
13086	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
13087	//
13088	// CertificateName is a required field
13089	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
13090
13091	// The load balancer name where you want to create the SSL/TLS certificate.
13092	//
13093	// LoadBalancerName is a required field
13094	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
13095
13096	// The tag keys and optional values to add to the resource during create.
13097	//
13098	// To tag a resource after it has been created, see the tag resource operation.
13099	Tags []*Tag `locationName:"tags" type:"list"`
13100}
13101
13102// String returns the string representation
13103func (s CreateLoadBalancerTlsCertificateInput) String() string {
13104	return awsutil.Prettify(s)
13105}
13106
13107// GoString returns the string representation
13108func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
13109	return s.String()
13110}
13111
13112// Validate inspects the fields of the type to determine if they are valid.
13113func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
13114	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
13115	if s.CertificateDomainName == nil {
13116		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
13117	}
13118	if s.CertificateName == nil {
13119		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
13120	}
13121	if s.LoadBalancerName == nil {
13122		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
13123	}
13124
13125	if invalidParams.Len() > 0 {
13126		return invalidParams
13127	}
13128	return nil
13129}
13130
13131// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
13132func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
13133	s.CertificateAlternativeNames = v
13134	return s
13135}
13136
13137// SetCertificateDomainName sets the CertificateDomainName field's value.
13138func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
13139	s.CertificateDomainName = &v
13140	return s
13141}
13142
13143// SetCertificateName sets the CertificateName field's value.
13144func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
13145	s.CertificateName = &v
13146	return s
13147}
13148
13149// SetLoadBalancerName sets the LoadBalancerName field's value.
13150func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
13151	s.LoadBalancerName = &v
13152	return s
13153}
13154
13155// SetTags sets the Tags field's value.
13156func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
13157	s.Tags = v
13158	return s
13159}
13160
13161type CreateLoadBalancerTlsCertificateOutput struct {
13162	_ struct{} `type:"structure"`
13163
13164	// An object containing information about the API operations.
13165	Operations []*Operation `locationName:"operations" type:"list"`
13166}
13167
13168// String returns the string representation
13169func (s CreateLoadBalancerTlsCertificateOutput) String() string {
13170	return awsutil.Prettify(s)
13171}
13172
13173// GoString returns the string representation
13174func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
13175	return s.String()
13176}
13177
13178// SetOperations sets the Operations field's value.
13179func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
13180	s.Operations = v
13181	return s
13182}
13183
13184type CreateRelationalDatabaseFromSnapshotInput struct {
13185	_ struct{} `type:"structure"`
13186
13187	// The Availability Zone in which to create your new database. Use the us-east-2a
13188	// case-sensitive format.
13189	//
13190	// You can get a list of Availability Zones by using the get regions operation.
13191	// Be sure to add the include relational database Availability Zones parameter
13192	// to your request.
13193	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
13194
13195	// Specifies the accessibility options for your new database. A value of true
13196	// specifies a database that is available to resources outside of your Lightsail
13197	// account. A value of false specifies a database that is available only to
13198	// your Lightsail resources in the same region as your database.
13199	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
13200
13201	// The bundle ID for your new database. A bundle describes the performance specifications
13202	// for your database.
13203	//
13204	// You can get a list of database bundle IDs by using the get relational database
13205	// bundles operation.
13206	//
13207	// When creating a new database from a snapshot, you cannot choose a bundle
13208	// that is smaller than the bundle of the source database.
13209	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
13210
13211	// The name to use for your new database.
13212	//
13213	// Constraints:
13214	//
13215	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
13216	//
13217	//    * The first and last character must be a letter or number.
13218	//
13219	// RelationalDatabaseName is a required field
13220	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
13221
13222	// The name of the database snapshot from which to create your new database.
13223	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
13224
13225	// The date and time to restore your database from.
13226	//
13227	// Constraints:
13228	//
13229	//    * Must be before the latest restorable time for the database.
13230	//
13231	//    * Cannot be specified if the use latest restorable time parameter is true.
13232	//
13233	//    * Specified in Universal Coordinated Time (UTC).
13234	//
13235	//    * Specified in the Unix time format. For example, if you wish to use a
13236	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
13237	//    as the restore time.
13238	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
13239
13240	// The name of the source database.
13241	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
13242
13243	// The tag keys and optional values to add to the resource during create.
13244	//
13245	// To tag a resource after it has been created, see the tag resource operation.
13246	Tags []*Tag `locationName:"tags" type:"list"`
13247
13248	// Specifies whether your database is restored from the latest backup time.
13249	// A value of true restores from the latest backup time.
13250	//
13251	// Default: false
13252	//
13253	// Constraints: Cannot be specified if the restore time parameter is provided.
13254	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
13255}
13256
13257// String returns the string representation
13258func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
13259	return awsutil.Prettify(s)
13260}
13261
13262// GoString returns the string representation
13263func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
13264	return s.String()
13265}
13266
13267// Validate inspects the fields of the type to determine if they are valid.
13268func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
13269	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
13270	if s.RelationalDatabaseName == nil {
13271		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
13272	}
13273
13274	if invalidParams.Len() > 0 {
13275		return invalidParams
13276	}
13277	return nil
13278}
13279
13280// SetAvailabilityZone sets the AvailabilityZone field's value.
13281func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
13282	s.AvailabilityZone = &v
13283	return s
13284}
13285
13286// SetPubliclyAccessible sets the PubliclyAccessible field's value.
13287func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
13288	s.PubliclyAccessible = &v
13289	return s
13290}
13291
13292// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
13293func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
13294	s.RelationalDatabaseBundleId = &v
13295	return s
13296}
13297
13298// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
13299func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
13300	s.RelationalDatabaseName = &v
13301	return s
13302}
13303
13304// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
13305func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
13306	s.RelationalDatabaseSnapshotName = &v
13307	return s
13308}
13309
13310// SetRestoreTime sets the RestoreTime field's value.
13311func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
13312	s.RestoreTime = &v
13313	return s
13314}
13315
13316// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
13317func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
13318	s.SourceRelationalDatabaseName = &v
13319	return s
13320}
13321
13322// SetTags sets the Tags field's value.
13323func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
13324	s.Tags = v
13325	return s
13326}
13327
13328// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
13329func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
13330	s.UseLatestRestorableTime = &v
13331	return s
13332}
13333
13334type CreateRelationalDatabaseFromSnapshotOutput struct {
13335	_ struct{} `type:"structure"`
13336
13337	// An object describing the result of your create relational database from snapshot
13338	// request.
13339	Operations []*Operation `locationName:"operations" type:"list"`
13340}
13341
13342// String returns the string representation
13343func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
13344	return awsutil.Prettify(s)
13345}
13346
13347// GoString returns the string representation
13348func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
13349	return s.String()
13350}
13351
13352// SetOperations sets the Operations field's value.
13353func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
13354	s.Operations = v
13355	return s
13356}
13357
13358type CreateRelationalDatabaseInput struct {
13359	_ struct{} `type:"structure"`
13360
13361	// The Availability Zone in which to create your new database. Use the us-east-2a
13362	// case-sensitive format.
13363	//
13364	// You can get a list of Availability Zones by using the get regions operation.
13365	// Be sure to add the include relational database Availability Zones parameter
13366	// to your request.
13367	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
13368
13369	// The name of the master database created when the Lightsail database resource
13370	// is created.
13371	//
13372	// Constraints:
13373	//
13374	//    * Must contain from 1 to 64 alphanumeric characters.
13375	//
13376	//    * Cannot be a word reserved by the specified database engine
13377	//
13378	// MasterDatabaseName is a required field
13379	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
13380
13381	// The password for the master user of your new database. The password can include
13382	// any printable ASCII character except "/", """, or "@".
13383	//
13384	// Constraints: Must contain 8 to 41 characters.
13385	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
13386
13387	// The master user name for your new database.
13388	//
13389	// Constraints:
13390	//
13391	//    * Master user name is required.
13392	//
13393	//    * Must contain from 1 to 16 alphanumeric characters.
13394	//
13395	//    * The first character must be a letter.
13396	//
13397	//    * Cannot be a reserved word for the database engine you choose. For more
13398	//    information about reserved words in MySQL 5.6 or 5.7, see the Keywords
13399	//    and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html)
13400	//    or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively.
13401	//
13402	// MasterUsername is a required field
13403	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
13404
13405	// The daily time range during which automated backups are created for your
13406	// new database if automated backups are enabled.
13407	//
13408	// The default is a 30-minute window selected at random from an 8-hour block
13409	// of time for each AWS Region. For more information about the preferred backup
13410	// 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)
13411	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
13412	//
13413	// Constraints:
13414	//
13415	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
13416	//
13417	//    * Specified in Universal Coordinated Time (UTC).
13418	//
13419	//    * Must not conflict with the preferred maintenance window.
13420	//
13421	//    * Must be at least 30 minutes.
13422	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
13423
13424	// The weekly time range during which system maintenance can occur on your new
13425	// database.
13426	//
13427	// The default is a 30-minute window selected at random from an 8-hour block
13428	// of time for each AWS Region, occurring on a random day of the week.
13429	//
13430	// Constraints:
13431	//
13432	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
13433	//
13434	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
13435	//
13436	//    * Must be at least 30 minutes.
13437	//
13438	//    * Specified in Universal Coordinated Time (UTC).
13439	//
13440	//    * Example: Tue:17:00-Tue:17:30
13441	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
13442
13443	// Specifies the accessibility options for your new database. A value of true
13444	// specifies a database that is available to resources outside of your Lightsail
13445	// account. A value of false specifies a database that is available only to
13446	// your Lightsail resources in the same region as your database.
13447	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
13448
13449	// The blueprint ID for your new database. A blueprint describes the major engine
13450	// version of a database.
13451	//
13452	// You can get a list of database blueprints IDs by using the get relational
13453	// database blueprints operation.
13454	//
13455	// RelationalDatabaseBlueprintId is a required field
13456	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
13457
13458	// The bundle ID for your new database. A bundle describes the performance specifications
13459	// for your database.
13460	//
13461	// You can get a list of database bundle IDs by using the get relational database
13462	// bundles operation.
13463	//
13464	// RelationalDatabaseBundleId is a required field
13465	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
13466
13467	// The name to use for your new database.
13468	//
13469	// Constraints:
13470	//
13471	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
13472	//
13473	//    * The first and last character must be a letter or number.
13474	//
13475	// RelationalDatabaseName is a required field
13476	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
13477
13478	// The tag keys and optional values to add to the resource during create.
13479	//
13480	// To tag a resource after it has been created, see the tag resource operation.
13481	Tags []*Tag `locationName:"tags" type:"list"`
13482}
13483
13484// String returns the string representation
13485func (s CreateRelationalDatabaseInput) String() string {
13486	return awsutil.Prettify(s)
13487}
13488
13489// GoString returns the string representation
13490func (s CreateRelationalDatabaseInput) GoString() string {
13491	return s.String()
13492}
13493
13494// Validate inspects the fields of the type to determine if they are valid.
13495func (s *CreateRelationalDatabaseInput) Validate() error {
13496	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
13497	if s.MasterDatabaseName == nil {
13498		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
13499	}
13500	if s.MasterUsername == nil {
13501		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
13502	}
13503	if s.RelationalDatabaseBlueprintId == nil {
13504		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
13505	}
13506	if s.RelationalDatabaseBundleId == nil {
13507		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
13508	}
13509	if s.RelationalDatabaseName == nil {
13510		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
13511	}
13512
13513	if invalidParams.Len() > 0 {
13514		return invalidParams
13515	}
13516	return nil
13517}
13518
13519// SetAvailabilityZone sets the AvailabilityZone field's value.
13520func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
13521	s.AvailabilityZone = &v
13522	return s
13523}
13524
13525// SetMasterDatabaseName sets the MasterDatabaseName field's value.
13526func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
13527	s.MasterDatabaseName = &v
13528	return s
13529}
13530
13531// SetMasterUserPassword sets the MasterUserPassword field's value.
13532func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
13533	s.MasterUserPassword = &v
13534	return s
13535}
13536
13537// SetMasterUsername sets the MasterUsername field's value.
13538func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
13539	s.MasterUsername = &v
13540	return s
13541}
13542
13543// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
13544func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
13545	s.PreferredBackupWindow = &v
13546	return s
13547}
13548
13549// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
13550func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
13551	s.PreferredMaintenanceWindow = &v
13552	return s
13553}
13554
13555// SetPubliclyAccessible sets the PubliclyAccessible field's value.
13556func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
13557	s.PubliclyAccessible = &v
13558	return s
13559}
13560
13561// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
13562func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
13563	s.RelationalDatabaseBlueprintId = &v
13564	return s
13565}
13566
13567// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
13568func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
13569	s.RelationalDatabaseBundleId = &v
13570	return s
13571}
13572
13573// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
13574func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
13575	s.RelationalDatabaseName = &v
13576	return s
13577}
13578
13579// SetTags sets the Tags field's value.
13580func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
13581	s.Tags = v
13582	return s
13583}
13584
13585type CreateRelationalDatabaseOutput struct {
13586	_ struct{} `type:"structure"`
13587
13588	// An object describing the result of your create relational database request.
13589	Operations []*Operation `locationName:"operations" type:"list"`
13590}
13591
13592// String returns the string representation
13593func (s CreateRelationalDatabaseOutput) String() string {
13594	return awsutil.Prettify(s)
13595}
13596
13597// GoString returns the string representation
13598func (s CreateRelationalDatabaseOutput) GoString() string {
13599	return s.String()
13600}
13601
13602// SetOperations sets the Operations field's value.
13603func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
13604	s.Operations = v
13605	return s
13606}
13607
13608type CreateRelationalDatabaseSnapshotInput struct {
13609	_ struct{} `type:"structure"`
13610
13611	// The name of the database on which to base your new snapshot.
13612	//
13613	// RelationalDatabaseName is a required field
13614	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
13615
13616	// The name for your new database snapshot.
13617	//
13618	// Constraints:
13619	//
13620	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
13621	//
13622	//    * The first and last character must be a letter or number.
13623	//
13624	// RelationalDatabaseSnapshotName is a required field
13625	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
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
13633// String returns the string representation
13634func (s CreateRelationalDatabaseSnapshotInput) String() string {
13635	return awsutil.Prettify(s)
13636}
13637
13638// GoString returns the string representation
13639func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
13640	return s.String()
13641}
13642
13643// Validate inspects the fields of the type to determine if they are valid.
13644func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
13645	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
13646	if s.RelationalDatabaseName == nil {
13647		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
13648	}
13649	if s.RelationalDatabaseSnapshotName == nil {
13650		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
13651	}
13652
13653	if invalidParams.Len() > 0 {
13654		return invalidParams
13655	}
13656	return nil
13657}
13658
13659// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
13660func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
13661	s.RelationalDatabaseName = &v
13662	return s
13663}
13664
13665// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
13666func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
13667	s.RelationalDatabaseSnapshotName = &v
13668	return s
13669}
13670
13671// SetTags sets the Tags field's value.
13672func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
13673	s.Tags = v
13674	return s
13675}
13676
13677type CreateRelationalDatabaseSnapshotOutput struct {
13678	_ struct{} `type:"structure"`
13679
13680	// An object describing the result of your create relational database snapshot
13681	// request.
13682	Operations []*Operation `locationName:"operations" type:"list"`
13683}
13684
13685// String returns the string representation
13686func (s CreateRelationalDatabaseSnapshotOutput) String() string {
13687	return awsutil.Prettify(s)
13688}
13689
13690// GoString returns the string representation
13691func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
13692	return s.String()
13693}
13694
13695// SetOperations sets the Operations field's value.
13696func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
13697	s.Operations = v
13698	return s
13699}
13700
13701type DeleteDiskInput struct {
13702	_ struct{} `type:"structure"`
13703
13704	// The unique name of the disk you want to delete (e.g., my-disk).
13705	//
13706	// DiskName is a required field
13707	DiskName *string `locationName:"diskName" type:"string" required:"true"`
13708}
13709
13710// String returns the string representation
13711func (s DeleteDiskInput) String() string {
13712	return awsutil.Prettify(s)
13713}
13714
13715// GoString returns the string representation
13716func (s DeleteDiskInput) GoString() string {
13717	return s.String()
13718}
13719
13720// Validate inspects the fields of the type to determine if they are valid.
13721func (s *DeleteDiskInput) Validate() error {
13722	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
13723	if s.DiskName == nil {
13724		invalidParams.Add(request.NewErrParamRequired("DiskName"))
13725	}
13726
13727	if invalidParams.Len() > 0 {
13728		return invalidParams
13729	}
13730	return nil
13731}
13732
13733// SetDiskName sets the DiskName field's value.
13734func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
13735	s.DiskName = &v
13736	return s
13737}
13738
13739type DeleteDiskOutput struct {
13740	_ struct{} `type:"structure"`
13741
13742	// An object describing the API operations.
13743	Operations []*Operation `locationName:"operations" type:"list"`
13744}
13745
13746// String returns the string representation
13747func (s DeleteDiskOutput) String() string {
13748	return awsutil.Prettify(s)
13749}
13750
13751// GoString returns the string representation
13752func (s DeleteDiskOutput) GoString() string {
13753	return s.String()
13754}
13755
13756// SetOperations sets the Operations field's value.
13757func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
13758	s.Operations = v
13759	return s
13760}
13761
13762type DeleteDiskSnapshotInput struct {
13763	_ struct{} `type:"structure"`
13764
13765	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
13766	//
13767	// DiskSnapshotName is a required field
13768	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
13769}
13770
13771// String returns the string representation
13772func (s DeleteDiskSnapshotInput) String() string {
13773	return awsutil.Prettify(s)
13774}
13775
13776// GoString returns the string representation
13777func (s DeleteDiskSnapshotInput) GoString() string {
13778	return s.String()
13779}
13780
13781// Validate inspects the fields of the type to determine if they are valid.
13782func (s *DeleteDiskSnapshotInput) Validate() error {
13783	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
13784	if s.DiskSnapshotName == nil {
13785		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
13786	}
13787
13788	if invalidParams.Len() > 0 {
13789		return invalidParams
13790	}
13791	return nil
13792}
13793
13794// SetDiskSnapshotName sets the DiskSnapshotName field's value.
13795func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
13796	s.DiskSnapshotName = &v
13797	return s
13798}
13799
13800type DeleteDiskSnapshotOutput struct {
13801	_ struct{} `type:"structure"`
13802
13803	// An object describing the API operations.
13804	Operations []*Operation `locationName:"operations" type:"list"`
13805}
13806
13807// String returns the string representation
13808func (s DeleteDiskSnapshotOutput) String() string {
13809	return awsutil.Prettify(s)
13810}
13811
13812// GoString returns the string representation
13813func (s DeleteDiskSnapshotOutput) GoString() string {
13814	return s.String()
13815}
13816
13817// SetOperations sets the Operations field's value.
13818func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
13819	s.Operations = v
13820	return s
13821}
13822
13823type DeleteDomainEntryInput struct {
13824	_ struct{} `type:"structure"`
13825
13826	// An array of key-value pairs containing information about your domain entries.
13827	//
13828	// DomainEntry is a required field
13829	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
13830
13831	// The name of the domain entry to delete.
13832	//
13833	// DomainName is a required field
13834	DomainName *string `locationName:"domainName" type:"string" required:"true"`
13835}
13836
13837// String returns the string representation
13838func (s DeleteDomainEntryInput) String() string {
13839	return awsutil.Prettify(s)
13840}
13841
13842// GoString returns the string representation
13843func (s DeleteDomainEntryInput) GoString() string {
13844	return s.String()
13845}
13846
13847// Validate inspects the fields of the type to determine if they are valid.
13848func (s *DeleteDomainEntryInput) Validate() error {
13849	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
13850	if s.DomainEntry == nil {
13851		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
13852	}
13853	if s.DomainName == nil {
13854		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13855	}
13856
13857	if invalidParams.Len() > 0 {
13858		return invalidParams
13859	}
13860	return nil
13861}
13862
13863// SetDomainEntry sets the DomainEntry field's value.
13864func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
13865	s.DomainEntry = v
13866	return s
13867}
13868
13869// SetDomainName sets the DomainName field's value.
13870func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
13871	s.DomainName = &v
13872	return s
13873}
13874
13875type DeleteDomainEntryOutput struct {
13876	_ struct{} `type:"structure"`
13877
13878	// An array of key-value pairs containing information about the results of your
13879	// delete domain entry request.
13880	Operation *Operation `locationName:"operation" type:"structure"`
13881}
13882
13883// String returns the string representation
13884func (s DeleteDomainEntryOutput) String() string {
13885	return awsutil.Prettify(s)
13886}
13887
13888// GoString returns the string representation
13889func (s DeleteDomainEntryOutput) GoString() string {
13890	return s.String()
13891}
13892
13893// SetOperation sets the Operation field's value.
13894func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
13895	s.Operation = v
13896	return s
13897}
13898
13899type DeleteDomainInput struct {
13900	_ struct{} `type:"structure"`
13901
13902	// The specific domain name to delete.
13903	//
13904	// DomainName is a required field
13905	DomainName *string `locationName:"domainName" type:"string" required:"true"`
13906}
13907
13908// String returns the string representation
13909func (s DeleteDomainInput) String() string {
13910	return awsutil.Prettify(s)
13911}
13912
13913// GoString returns the string representation
13914func (s DeleteDomainInput) GoString() string {
13915	return s.String()
13916}
13917
13918// Validate inspects the fields of the type to determine if they are valid.
13919func (s *DeleteDomainInput) Validate() error {
13920	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
13921	if s.DomainName == nil {
13922		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13923	}
13924
13925	if invalidParams.Len() > 0 {
13926		return invalidParams
13927	}
13928	return nil
13929}
13930
13931// SetDomainName sets the DomainName field's value.
13932func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
13933	s.DomainName = &v
13934	return s
13935}
13936
13937type DeleteDomainOutput struct {
13938	_ struct{} `type:"structure"`
13939
13940	// An array of key-value pairs containing information about the results of your
13941	// delete domain request.
13942	Operation *Operation `locationName:"operation" type:"structure"`
13943}
13944
13945// String returns the string representation
13946func (s DeleteDomainOutput) String() string {
13947	return awsutil.Prettify(s)
13948}
13949
13950// GoString returns the string representation
13951func (s DeleteDomainOutput) GoString() string {
13952	return s.String()
13953}
13954
13955// SetOperation sets the Operation field's value.
13956func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
13957	s.Operation = v
13958	return s
13959}
13960
13961type DeleteInstanceInput struct {
13962	_ struct{} `type:"structure"`
13963
13964	// The name of the instance to delete.
13965	//
13966	// InstanceName is a required field
13967	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
13968}
13969
13970// String returns the string representation
13971func (s DeleteInstanceInput) String() string {
13972	return awsutil.Prettify(s)
13973}
13974
13975// GoString returns the string representation
13976func (s DeleteInstanceInput) GoString() string {
13977	return s.String()
13978}
13979
13980// Validate inspects the fields of the type to determine if they are valid.
13981func (s *DeleteInstanceInput) Validate() error {
13982	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
13983	if s.InstanceName == nil {
13984		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
13985	}
13986
13987	if invalidParams.Len() > 0 {
13988		return invalidParams
13989	}
13990	return nil
13991}
13992
13993// SetInstanceName sets the InstanceName field's value.
13994func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
13995	s.InstanceName = &v
13996	return s
13997}
13998
13999type DeleteInstanceOutput struct {
14000	_ struct{} `type:"structure"`
14001
14002	// An array of key-value pairs containing information about the results of your
14003	// delete instance request.
14004	Operations []*Operation `locationName:"operations" type:"list"`
14005}
14006
14007// String returns the string representation
14008func (s DeleteInstanceOutput) String() string {
14009	return awsutil.Prettify(s)
14010}
14011
14012// GoString returns the string representation
14013func (s DeleteInstanceOutput) GoString() string {
14014	return s.String()
14015}
14016
14017// SetOperations sets the Operations field's value.
14018func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
14019	s.Operations = v
14020	return s
14021}
14022
14023type DeleteInstanceSnapshotInput struct {
14024	_ struct{} `type:"structure"`
14025
14026	// The name of the snapshot to delete.
14027	//
14028	// InstanceSnapshotName is a required field
14029	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
14030}
14031
14032// String returns the string representation
14033func (s DeleteInstanceSnapshotInput) String() string {
14034	return awsutil.Prettify(s)
14035}
14036
14037// GoString returns the string representation
14038func (s DeleteInstanceSnapshotInput) GoString() string {
14039	return s.String()
14040}
14041
14042// Validate inspects the fields of the type to determine if they are valid.
14043func (s *DeleteInstanceSnapshotInput) Validate() error {
14044	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
14045	if s.InstanceSnapshotName == nil {
14046		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
14047	}
14048
14049	if invalidParams.Len() > 0 {
14050		return invalidParams
14051	}
14052	return nil
14053}
14054
14055// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
14056func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
14057	s.InstanceSnapshotName = &v
14058	return s
14059}
14060
14061type DeleteInstanceSnapshotOutput struct {
14062	_ struct{} `type:"structure"`
14063
14064	// An array of key-value pairs containing information about the results of your
14065	// delete instance snapshot request.
14066	Operations []*Operation `locationName:"operations" type:"list"`
14067}
14068
14069// String returns the string representation
14070func (s DeleteInstanceSnapshotOutput) String() string {
14071	return awsutil.Prettify(s)
14072}
14073
14074// GoString returns the string representation
14075func (s DeleteInstanceSnapshotOutput) GoString() string {
14076	return s.String()
14077}
14078
14079// SetOperations sets the Operations field's value.
14080func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
14081	s.Operations = v
14082	return s
14083}
14084
14085type DeleteKeyPairInput struct {
14086	_ struct{} `type:"structure"`
14087
14088	// The name of the key pair to delete.
14089	//
14090	// KeyPairName is a required field
14091	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
14092}
14093
14094// String returns the string representation
14095func (s DeleteKeyPairInput) String() string {
14096	return awsutil.Prettify(s)
14097}
14098
14099// GoString returns the string representation
14100func (s DeleteKeyPairInput) GoString() string {
14101	return s.String()
14102}
14103
14104// Validate inspects the fields of the type to determine if they are valid.
14105func (s *DeleteKeyPairInput) Validate() error {
14106	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
14107	if s.KeyPairName == nil {
14108		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
14109	}
14110
14111	if invalidParams.Len() > 0 {
14112		return invalidParams
14113	}
14114	return nil
14115}
14116
14117// SetKeyPairName sets the KeyPairName field's value.
14118func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
14119	s.KeyPairName = &v
14120	return s
14121}
14122
14123type DeleteKeyPairOutput struct {
14124	_ struct{} `type:"structure"`
14125
14126	// An array of key-value pairs containing information about the results of your
14127	// delete key pair request.
14128	Operation *Operation `locationName:"operation" type:"structure"`
14129}
14130
14131// String returns the string representation
14132func (s DeleteKeyPairOutput) String() string {
14133	return awsutil.Prettify(s)
14134}
14135
14136// GoString returns the string representation
14137func (s DeleteKeyPairOutput) GoString() string {
14138	return s.String()
14139}
14140
14141// SetOperation sets the Operation field's value.
14142func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
14143	s.Operation = v
14144	return s
14145}
14146
14147type DeleteKnownHostKeysInput struct {
14148	_ struct{} `type:"structure"`
14149
14150	// The name of the instance for which you want to reset the host key or certificate.
14151	//
14152	// InstanceName is a required field
14153	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
14154}
14155
14156// String returns the string representation
14157func (s DeleteKnownHostKeysInput) String() string {
14158	return awsutil.Prettify(s)
14159}
14160
14161// GoString returns the string representation
14162func (s DeleteKnownHostKeysInput) GoString() string {
14163	return s.String()
14164}
14165
14166// Validate inspects the fields of the type to determine if they are valid.
14167func (s *DeleteKnownHostKeysInput) Validate() error {
14168	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
14169	if s.InstanceName == nil {
14170		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
14171	}
14172
14173	if invalidParams.Len() > 0 {
14174		return invalidParams
14175	}
14176	return nil
14177}
14178
14179// SetInstanceName sets the InstanceName field's value.
14180func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
14181	s.InstanceName = &v
14182	return s
14183}
14184
14185type DeleteKnownHostKeysOutput struct {
14186	_ struct{} `type:"structure"`
14187
14188	// A list of objects describing the API operation.
14189	Operations []*Operation `locationName:"operations" type:"list"`
14190}
14191
14192// String returns the string representation
14193func (s DeleteKnownHostKeysOutput) String() string {
14194	return awsutil.Prettify(s)
14195}
14196
14197// GoString returns the string representation
14198func (s DeleteKnownHostKeysOutput) GoString() string {
14199	return s.String()
14200}
14201
14202// SetOperations sets the Operations field's value.
14203func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
14204	s.Operations = v
14205	return s
14206}
14207
14208type DeleteLoadBalancerInput struct {
14209	_ struct{} `type:"structure"`
14210
14211	// The name of the load balancer you want to delete.
14212	//
14213	// LoadBalancerName is a required field
14214	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
14215}
14216
14217// String returns the string representation
14218func (s DeleteLoadBalancerInput) String() string {
14219	return awsutil.Prettify(s)
14220}
14221
14222// GoString returns the string representation
14223func (s DeleteLoadBalancerInput) GoString() string {
14224	return s.String()
14225}
14226
14227// Validate inspects the fields of the type to determine if they are valid.
14228func (s *DeleteLoadBalancerInput) Validate() error {
14229	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
14230	if s.LoadBalancerName == nil {
14231		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
14232	}
14233
14234	if invalidParams.Len() > 0 {
14235		return invalidParams
14236	}
14237	return nil
14238}
14239
14240// SetLoadBalancerName sets the LoadBalancerName field's value.
14241func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
14242	s.LoadBalancerName = &v
14243	return s
14244}
14245
14246type DeleteLoadBalancerOutput struct {
14247	_ struct{} `type:"structure"`
14248
14249	// An object describing the API operations.
14250	Operations []*Operation `locationName:"operations" type:"list"`
14251}
14252
14253// String returns the string representation
14254func (s DeleteLoadBalancerOutput) String() string {
14255	return awsutil.Prettify(s)
14256}
14257
14258// GoString returns the string representation
14259func (s DeleteLoadBalancerOutput) GoString() string {
14260	return s.String()
14261}
14262
14263// SetOperations sets the Operations field's value.
14264func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
14265	s.Operations = v
14266	return s
14267}
14268
14269type DeleteLoadBalancerTlsCertificateInput struct {
14270	_ struct{} `type:"structure"`
14271
14272	// The SSL/TLS certificate name.
14273	//
14274	// CertificateName is a required field
14275	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
14276
14277	// When true, forces the deletion of an SSL/TLS certificate.
14278	//
14279	// There can be two certificates associated with a Lightsail load balancer:
14280	// the primary and the backup. The force parameter is required when the primary
14281	// SSL/TLS certificate is in use by an instance attached to the load balancer.
14282	Force *bool `locationName:"force" type:"boolean"`
14283
14284	// The load balancer name.
14285	//
14286	// LoadBalancerName is a required field
14287	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
14288}
14289
14290// String returns the string representation
14291func (s DeleteLoadBalancerTlsCertificateInput) String() string {
14292	return awsutil.Prettify(s)
14293}
14294
14295// GoString returns the string representation
14296func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
14297	return s.String()
14298}
14299
14300// Validate inspects the fields of the type to determine if they are valid.
14301func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
14302	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
14303	if s.CertificateName == nil {
14304		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
14305	}
14306	if s.LoadBalancerName == nil {
14307		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
14308	}
14309
14310	if invalidParams.Len() > 0 {
14311		return invalidParams
14312	}
14313	return nil
14314}
14315
14316// SetCertificateName sets the CertificateName field's value.
14317func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
14318	s.CertificateName = &v
14319	return s
14320}
14321
14322// SetForce sets the Force field's value.
14323func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
14324	s.Force = &v
14325	return s
14326}
14327
14328// SetLoadBalancerName sets the LoadBalancerName field's value.
14329func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
14330	s.LoadBalancerName = &v
14331	return s
14332}
14333
14334type DeleteLoadBalancerTlsCertificateOutput struct {
14335	_ struct{} `type:"structure"`
14336
14337	// An object describing the API operations.
14338	Operations []*Operation `locationName:"operations" type:"list"`
14339}
14340
14341// String returns the string representation
14342func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
14343	return awsutil.Prettify(s)
14344}
14345
14346// GoString returns the string representation
14347func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
14348	return s.String()
14349}
14350
14351// SetOperations sets the Operations field's value.
14352func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
14353	s.Operations = v
14354	return s
14355}
14356
14357type DeleteRelationalDatabaseInput struct {
14358	_ struct{} `type:"structure"`
14359
14360	// The name of the database snapshot created if skip final snapshot is false,
14361	// which is the default value for that parameter.
14362	//
14363	// Specifying this parameter and also specifying the skip final snapshot parameter
14364	// to true results in an error.
14365	//
14366	// Constraints:
14367	//
14368	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
14369	//
14370	//    * The first and last character must be a letter or number.
14371	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
14372
14373	// The name of the database that you are deleting.
14374	//
14375	// RelationalDatabaseName is a required field
14376	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
14377
14378	// Determines whether a final database snapshot is created before your database
14379	// is deleted. If true is specified, no database snapshot is created. If false
14380	// is specified, a database snapshot is created before your database is deleted.
14381	//
14382	// You must specify the final relational database snapshot name parameter if
14383	// the skip final snapshot parameter is false.
14384	//
14385	// Default: false
14386	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
14387}
14388
14389// String returns the string representation
14390func (s DeleteRelationalDatabaseInput) String() string {
14391	return awsutil.Prettify(s)
14392}
14393
14394// GoString returns the string representation
14395func (s DeleteRelationalDatabaseInput) GoString() string {
14396	return s.String()
14397}
14398
14399// Validate inspects the fields of the type to determine if they are valid.
14400func (s *DeleteRelationalDatabaseInput) Validate() error {
14401	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
14402	if s.RelationalDatabaseName == nil {
14403		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
14404	}
14405
14406	if invalidParams.Len() > 0 {
14407		return invalidParams
14408	}
14409	return nil
14410}
14411
14412// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
14413func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
14414	s.FinalRelationalDatabaseSnapshotName = &v
14415	return s
14416}
14417
14418// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
14419func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
14420	s.RelationalDatabaseName = &v
14421	return s
14422}
14423
14424// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
14425func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
14426	s.SkipFinalSnapshot = &v
14427	return s
14428}
14429
14430type DeleteRelationalDatabaseOutput struct {
14431	_ struct{} `type:"structure"`
14432
14433	// An object describing the result of your delete relational database request.
14434	Operations []*Operation `locationName:"operations" type:"list"`
14435}
14436
14437// String returns the string representation
14438func (s DeleteRelationalDatabaseOutput) String() string {
14439	return awsutil.Prettify(s)
14440}
14441
14442// GoString returns the string representation
14443func (s DeleteRelationalDatabaseOutput) GoString() string {
14444	return s.String()
14445}
14446
14447// SetOperations sets the Operations field's value.
14448func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
14449	s.Operations = v
14450	return s
14451}
14452
14453type DeleteRelationalDatabaseSnapshotInput struct {
14454	_ struct{} `type:"structure"`
14455
14456	// The name of the database snapshot that you are deleting.
14457	//
14458	// RelationalDatabaseSnapshotName is a required field
14459	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
14460}
14461
14462// String returns the string representation
14463func (s DeleteRelationalDatabaseSnapshotInput) String() string {
14464	return awsutil.Prettify(s)
14465}
14466
14467// GoString returns the string representation
14468func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
14469	return s.String()
14470}
14471
14472// Validate inspects the fields of the type to determine if they are valid.
14473func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
14474	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
14475	if s.RelationalDatabaseSnapshotName == nil {
14476		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
14477	}
14478
14479	if invalidParams.Len() > 0 {
14480		return invalidParams
14481	}
14482	return nil
14483}
14484
14485// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
14486func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
14487	s.RelationalDatabaseSnapshotName = &v
14488	return s
14489}
14490
14491type DeleteRelationalDatabaseSnapshotOutput struct {
14492	_ struct{} `type:"structure"`
14493
14494	// An object describing the result of your delete relational database snapshot
14495	// request.
14496	Operations []*Operation `locationName:"operations" type:"list"`
14497}
14498
14499// String returns the string representation
14500func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
14501	return awsutil.Prettify(s)
14502}
14503
14504// GoString returns the string representation
14505func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
14506	return s.String()
14507}
14508
14509// SetOperations sets the Operations field's value.
14510func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
14511	s.Operations = v
14512	return s
14513}
14514
14515// Describes the destination of a record.
14516type DestinationInfo struct {
14517	_ struct{} `type:"structure"`
14518
14519	// The ID of the resource created at the destination.
14520	Id *string `locationName:"id" type:"string"`
14521
14522	// The destination service of the record.
14523	Service *string `locationName:"service" type:"string"`
14524}
14525
14526// String returns the string representation
14527func (s DestinationInfo) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation
14532func (s DestinationInfo) GoString() string {
14533	return s.String()
14534}
14535
14536// SetId sets the Id field's value.
14537func (s *DestinationInfo) SetId(v string) *DestinationInfo {
14538	s.Id = &v
14539	return s
14540}
14541
14542// SetService sets the Service field's value.
14543func (s *DestinationInfo) SetService(v string) *DestinationInfo {
14544	s.Service = &v
14545	return s
14546}
14547
14548type DetachDiskInput struct {
14549	_ struct{} `type:"structure"`
14550
14551	// The unique name of the disk you want to detach from your instance (e.g.,
14552	// my-disk).
14553	//
14554	// DiskName is a required field
14555	DiskName *string `locationName:"diskName" type:"string" required:"true"`
14556}
14557
14558// String returns the string representation
14559func (s DetachDiskInput) String() string {
14560	return awsutil.Prettify(s)
14561}
14562
14563// GoString returns the string representation
14564func (s DetachDiskInput) GoString() string {
14565	return s.String()
14566}
14567
14568// Validate inspects the fields of the type to determine if they are valid.
14569func (s *DetachDiskInput) Validate() error {
14570	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
14571	if s.DiskName == nil {
14572		invalidParams.Add(request.NewErrParamRequired("DiskName"))
14573	}
14574
14575	if invalidParams.Len() > 0 {
14576		return invalidParams
14577	}
14578	return nil
14579}
14580
14581// SetDiskName sets the DiskName field's value.
14582func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
14583	s.DiskName = &v
14584	return s
14585}
14586
14587type DetachDiskOutput struct {
14588	_ struct{} `type:"structure"`
14589
14590	// An object describing the API operations.
14591	Operations []*Operation `locationName:"operations" type:"list"`
14592}
14593
14594// String returns the string representation
14595func (s DetachDiskOutput) String() string {
14596	return awsutil.Prettify(s)
14597}
14598
14599// GoString returns the string representation
14600func (s DetachDiskOutput) GoString() string {
14601	return s.String()
14602}
14603
14604// SetOperations sets the Operations field's value.
14605func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
14606	s.Operations = v
14607	return s
14608}
14609
14610type DetachInstancesFromLoadBalancerInput struct {
14611	_ struct{} `type:"structure"`
14612
14613	// An array of strings containing the names of the instances you want to detach
14614	// from the load balancer.
14615	//
14616	// InstanceNames is a required field
14617	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
14618
14619	// The name of the Lightsail load balancer.
14620	//
14621	// LoadBalancerName is a required field
14622	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
14623}
14624
14625// String returns the string representation
14626func (s DetachInstancesFromLoadBalancerInput) String() string {
14627	return awsutil.Prettify(s)
14628}
14629
14630// GoString returns the string representation
14631func (s DetachInstancesFromLoadBalancerInput) GoString() string {
14632	return s.String()
14633}
14634
14635// Validate inspects the fields of the type to determine if they are valid.
14636func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
14637	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
14638	if s.InstanceNames == nil {
14639		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
14640	}
14641	if s.LoadBalancerName == nil {
14642		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
14643	}
14644
14645	if invalidParams.Len() > 0 {
14646		return invalidParams
14647	}
14648	return nil
14649}
14650
14651// SetInstanceNames sets the InstanceNames field's value.
14652func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
14653	s.InstanceNames = v
14654	return s
14655}
14656
14657// SetLoadBalancerName sets the LoadBalancerName field's value.
14658func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
14659	s.LoadBalancerName = &v
14660	return s
14661}
14662
14663type DetachInstancesFromLoadBalancerOutput struct {
14664	_ struct{} `type:"structure"`
14665
14666	// An object describing the API operations.
14667	Operations []*Operation `locationName:"operations" type:"list"`
14668}
14669
14670// String returns the string representation
14671func (s DetachInstancesFromLoadBalancerOutput) String() string {
14672	return awsutil.Prettify(s)
14673}
14674
14675// GoString returns the string representation
14676func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
14677	return s.String()
14678}
14679
14680// SetOperations sets the Operations field's value.
14681func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
14682	s.Operations = v
14683	return s
14684}
14685
14686type DetachStaticIpInput struct {
14687	_ struct{} `type:"structure"`
14688
14689	// The name of the static IP to detach from the instance.
14690	//
14691	// StaticIpName is a required field
14692	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
14693}
14694
14695// String returns the string representation
14696func (s DetachStaticIpInput) String() string {
14697	return awsutil.Prettify(s)
14698}
14699
14700// GoString returns the string representation
14701func (s DetachStaticIpInput) GoString() string {
14702	return s.String()
14703}
14704
14705// Validate inspects the fields of the type to determine if they are valid.
14706func (s *DetachStaticIpInput) Validate() error {
14707	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
14708	if s.StaticIpName == nil {
14709		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
14710	}
14711
14712	if invalidParams.Len() > 0 {
14713		return invalidParams
14714	}
14715	return nil
14716}
14717
14718// SetStaticIpName sets the StaticIpName field's value.
14719func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
14720	s.StaticIpName = &v
14721	return s
14722}
14723
14724type DetachStaticIpOutput struct {
14725	_ struct{} `type:"structure"`
14726
14727	// An array of key-value pairs containing information about the results of your
14728	// detach static IP request.
14729	Operations []*Operation `locationName:"operations" type:"list"`
14730}
14731
14732// String returns the string representation
14733func (s DetachStaticIpOutput) String() string {
14734	return awsutil.Prettify(s)
14735}
14736
14737// GoString returns the string representation
14738func (s DetachStaticIpOutput) GoString() string {
14739	return s.String()
14740}
14741
14742// SetOperations sets the Operations field's value.
14743func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
14744	s.Operations = v
14745	return s
14746}
14747
14748// Describes a system disk or an block storage disk.
14749type Disk struct {
14750	_ struct{} `type:"structure"`
14751
14752	// The Amazon Resource Name (ARN) of the disk.
14753	Arn *string `locationName:"arn" type:"string"`
14754
14755	// The resources to which the disk is attached.
14756	AttachedTo *string `locationName:"attachedTo" type:"string"`
14757
14758	// (Deprecated) The attachment state of the disk.
14759	//
14760	// In releases prior to November 14, 2017, this parameter returned attached
14761	// for system disks in the API response. It is now deprecated, but still included
14762	// in the response. Use isAttached instead.
14763	//
14764	// Deprecated: AttachmentState has been deprecated
14765	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
14766
14767	// The date when the disk was created.
14768	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
14769
14770	// (Deprecated) The number of GB in use by the disk.
14771	//
14772	// In releases prior to November 14, 2017, this parameter was not included in
14773	// the API response. It is now deprecated.
14774	//
14775	// Deprecated: GbInUse has been deprecated
14776	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
14777
14778	// The input/output operations per second (IOPS) of the disk.
14779	Iops *int64 `locationName:"iops" type:"integer"`
14780
14781	// A Boolean value indicating whether the disk is attached.
14782	IsAttached *bool `locationName:"isAttached" type:"boolean"`
14783
14784	// A Boolean value indicating whether this disk is a system disk (has an operating
14785	// system loaded on it).
14786	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
14787
14788	// The AWS Region and Availability Zone where the disk is located.
14789	Location *ResourceLocation `locationName:"location" type:"structure"`
14790
14791	// The unique name of the disk.
14792	Name *string `locationName:"name" type:"string"`
14793
14794	// The disk path.
14795	Path *string `locationName:"path" type:"string"`
14796
14797	// The Lightsail resource type (e.g., Disk).
14798	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
14799
14800	// The size of the disk in GB.
14801	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
14802
14803	// Describes the status of the disk.
14804	State *string `locationName:"state" type:"string" enum:"DiskState"`
14805
14806	// The support code. Include this code in your email to support when you have
14807	// questions about an instance or another resource in Lightsail. This code enables
14808	// our support team to look up your Lightsail information more easily.
14809	SupportCode *string `locationName:"supportCode" type:"string"`
14810
14811	// The tag keys and optional values for the resource. For more information about
14812	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
14813	Tags []*Tag `locationName:"tags" type:"list"`
14814}
14815
14816// String returns the string representation
14817func (s Disk) String() string {
14818	return awsutil.Prettify(s)
14819}
14820
14821// GoString returns the string representation
14822func (s Disk) GoString() string {
14823	return s.String()
14824}
14825
14826// SetArn sets the Arn field's value.
14827func (s *Disk) SetArn(v string) *Disk {
14828	s.Arn = &v
14829	return s
14830}
14831
14832// SetAttachedTo sets the AttachedTo field's value.
14833func (s *Disk) SetAttachedTo(v string) *Disk {
14834	s.AttachedTo = &v
14835	return s
14836}
14837
14838// SetAttachmentState sets the AttachmentState field's value.
14839func (s *Disk) SetAttachmentState(v string) *Disk {
14840	s.AttachmentState = &v
14841	return s
14842}
14843
14844// SetCreatedAt sets the CreatedAt field's value.
14845func (s *Disk) SetCreatedAt(v time.Time) *Disk {
14846	s.CreatedAt = &v
14847	return s
14848}
14849
14850// SetGbInUse sets the GbInUse field's value.
14851func (s *Disk) SetGbInUse(v int64) *Disk {
14852	s.GbInUse = &v
14853	return s
14854}
14855
14856// SetIops sets the Iops field's value.
14857func (s *Disk) SetIops(v int64) *Disk {
14858	s.Iops = &v
14859	return s
14860}
14861
14862// SetIsAttached sets the IsAttached field's value.
14863func (s *Disk) SetIsAttached(v bool) *Disk {
14864	s.IsAttached = &v
14865	return s
14866}
14867
14868// SetIsSystemDisk sets the IsSystemDisk field's value.
14869func (s *Disk) SetIsSystemDisk(v bool) *Disk {
14870	s.IsSystemDisk = &v
14871	return s
14872}
14873
14874// SetLocation sets the Location field's value.
14875func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
14876	s.Location = v
14877	return s
14878}
14879
14880// SetName sets the Name field's value.
14881func (s *Disk) SetName(v string) *Disk {
14882	s.Name = &v
14883	return s
14884}
14885
14886// SetPath sets the Path field's value.
14887func (s *Disk) SetPath(v string) *Disk {
14888	s.Path = &v
14889	return s
14890}
14891
14892// SetResourceType sets the ResourceType field's value.
14893func (s *Disk) SetResourceType(v string) *Disk {
14894	s.ResourceType = &v
14895	return s
14896}
14897
14898// SetSizeInGb sets the SizeInGb field's value.
14899func (s *Disk) SetSizeInGb(v int64) *Disk {
14900	s.SizeInGb = &v
14901	return s
14902}
14903
14904// SetState sets the State field's value.
14905func (s *Disk) SetState(v string) *Disk {
14906	s.State = &v
14907	return s
14908}
14909
14910// SetSupportCode sets the SupportCode field's value.
14911func (s *Disk) SetSupportCode(v string) *Disk {
14912	s.SupportCode = &v
14913	return s
14914}
14915
14916// SetTags sets the Tags field's value.
14917func (s *Disk) SetTags(v []*Tag) *Disk {
14918	s.Tags = v
14919	return s
14920}
14921
14922// Describes a disk.
14923type DiskInfo struct {
14924	_ struct{} `type:"structure"`
14925
14926	// A Boolean value indicating whether this disk is a system disk (has an operating
14927	// system loaded on it).
14928	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
14929
14930	// The disk name.
14931	Name *string `locationName:"name" type:"string"`
14932
14933	// The disk path.
14934	Path *string `locationName:"path" type:"string"`
14935
14936	// The size of the disk in GB (e.g., 32).
14937	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
14938}
14939
14940// String returns the string representation
14941func (s DiskInfo) String() string {
14942	return awsutil.Prettify(s)
14943}
14944
14945// GoString returns the string representation
14946func (s DiskInfo) GoString() string {
14947	return s.String()
14948}
14949
14950// SetIsSystemDisk sets the IsSystemDisk field's value.
14951func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
14952	s.IsSystemDisk = &v
14953	return s
14954}
14955
14956// SetName sets the Name field's value.
14957func (s *DiskInfo) SetName(v string) *DiskInfo {
14958	s.Name = &v
14959	return s
14960}
14961
14962// SetPath sets the Path field's value.
14963func (s *DiskInfo) SetPath(v string) *DiskInfo {
14964	s.Path = &v
14965	return s
14966}
14967
14968// SetSizeInGb sets the SizeInGb field's value.
14969func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
14970	s.SizeInGb = &v
14971	return s
14972}
14973
14974// Describes a block storage disk mapping.
14975type DiskMap struct {
14976	_ struct{} `type:"structure"`
14977
14978	// The new disk name (e.g., my-new-disk).
14979	NewDiskName *string `locationName:"newDiskName" type:"string"`
14980
14981	// The original disk path exposed to the instance (for example, /dev/sdh).
14982	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
14983}
14984
14985// String returns the string representation
14986func (s DiskMap) String() string {
14987	return awsutil.Prettify(s)
14988}
14989
14990// GoString returns the string representation
14991func (s DiskMap) GoString() string {
14992	return s.String()
14993}
14994
14995// SetNewDiskName sets the NewDiskName field's value.
14996func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
14997	s.NewDiskName = &v
14998	return s
14999}
15000
15001// SetOriginalDiskPath sets the OriginalDiskPath field's value.
15002func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
15003	s.OriginalDiskPath = &v
15004	return s
15005}
15006
15007// Describes a block storage disk snapshot.
15008type DiskSnapshot struct {
15009	_ struct{} `type:"structure"`
15010
15011	// The Amazon Resource Name (ARN) of the disk snapshot.
15012	Arn *string `locationName:"arn" type:"string"`
15013
15014	// The date when the disk snapshot was created.
15015	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15016
15017	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
15018	// was created.
15019	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
15020
15021	// The unique name of the source disk from which the disk snapshot was created.
15022	FromDiskName *string `locationName:"fromDiskName" type:"string"`
15023
15024	// The Amazon Resource Name (ARN) of the source instance from which the disk
15025	// (system volume) snapshot was created.
15026	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
15027
15028	// The unique name of the source instance from which the disk (system volume)
15029	// snapshot was created.
15030	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
15031
15032	// The AWS Region and Availability Zone where the disk snapshot was created.
15033	Location *ResourceLocation `locationName:"location" type:"structure"`
15034
15035	// The name of the disk snapshot (e.g., my-disk-snapshot).
15036	Name *string `locationName:"name" type:"string"`
15037
15038	// The progress of the disk snapshot operation.
15039	Progress *string `locationName:"progress" type:"string"`
15040
15041	// The Lightsail resource type (e.g., DiskSnapshot).
15042	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15043
15044	// The size of the disk in GB.
15045	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
15046
15047	// The status of the disk snapshot operation.
15048	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
15049
15050	// The support code. Include this code in your email to support when you have
15051	// questions about an instance or another resource in Lightsail. This code enables
15052	// our support team to look up your Lightsail information more easily.
15053	SupportCode *string `locationName:"supportCode" type:"string"`
15054
15055	// The tag keys and optional values for the resource. For more information about
15056	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
15057	Tags []*Tag `locationName:"tags" type:"list"`
15058}
15059
15060// String returns the string representation
15061func (s DiskSnapshot) String() string {
15062	return awsutil.Prettify(s)
15063}
15064
15065// GoString returns the string representation
15066func (s DiskSnapshot) GoString() string {
15067	return s.String()
15068}
15069
15070// SetArn sets the Arn field's value.
15071func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
15072	s.Arn = &v
15073	return s
15074}
15075
15076// SetCreatedAt sets the CreatedAt field's value.
15077func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
15078	s.CreatedAt = &v
15079	return s
15080}
15081
15082// SetFromDiskArn sets the FromDiskArn field's value.
15083func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
15084	s.FromDiskArn = &v
15085	return s
15086}
15087
15088// SetFromDiskName sets the FromDiskName field's value.
15089func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
15090	s.FromDiskName = &v
15091	return s
15092}
15093
15094// SetFromInstanceArn sets the FromInstanceArn field's value.
15095func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
15096	s.FromInstanceArn = &v
15097	return s
15098}
15099
15100// SetFromInstanceName sets the FromInstanceName field's value.
15101func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
15102	s.FromInstanceName = &v
15103	return s
15104}
15105
15106// SetLocation sets the Location field's value.
15107func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
15108	s.Location = v
15109	return s
15110}
15111
15112// SetName sets the Name field's value.
15113func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
15114	s.Name = &v
15115	return s
15116}
15117
15118// SetProgress sets the Progress field's value.
15119func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
15120	s.Progress = &v
15121	return s
15122}
15123
15124// SetResourceType sets the ResourceType field's value.
15125func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
15126	s.ResourceType = &v
15127	return s
15128}
15129
15130// SetSizeInGb sets the SizeInGb field's value.
15131func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
15132	s.SizeInGb = &v
15133	return s
15134}
15135
15136// SetState sets the State field's value.
15137func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
15138	s.State = &v
15139	return s
15140}
15141
15142// SetSupportCode sets the SupportCode field's value.
15143func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
15144	s.SupportCode = &v
15145	return s
15146}
15147
15148// SetTags sets the Tags field's value.
15149func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
15150	s.Tags = v
15151	return s
15152}
15153
15154// Describes a disk snapshot.
15155type DiskSnapshotInfo struct {
15156	_ struct{} `type:"structure"`
15157
15158	// The size of the disk in GB (e.g., 32).
15159	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
15160}
15161
15162// String returns the string representation
15163func (s DiskSnapshotInfo) String() string {
15164	return awsutil.Prettify(s)
15165}
15166
15167// GoString returns the string representation
15168func (s DiskSnapshotInfo) GoString() string {
15169	return s.String()
15170}
15171
15172// SetSizeInGb sets the SizeInGb field's value.
15173func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
15174	s.SizeInGb = &v
15175	return s
15176}
15177
15178// Describes a domain where you are storing recordsets in Lightsail.
15179type Domain struct {
15180	_ struct{} `type:"structure"`
15181
15182	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
15183	Arn *string `locationName:"arn" type:"string"`
15184
15185	// The date when the domain recordset was created.
15186	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15187
15188	// An array of key-value pairs containing information about the domain entries.
15189	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
15190
15191	// The AWS Region and Availability Zones where the domain recordset was created.
15192	Location *ResourceLocation `locationName:"location" type:"structure"`
15193
15194	// The name of the domain.
15195	Name *string `locationName:"name" type:"string"`
15196
15197	// The resource type.
15198	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15199
15200	// The support code. Include this code in your email to support when you have
15201	// questions about an instance or another resource in Lightsail. This code enables
15202	// our support team to look up your Lightsail information more easily.
15203	SupportCode *string `locationName:"supportCode" type:"string"`
15204
15205	// The tag keys and optional values for the resource. For more information about
15206	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
15207	Tags []*Tag `locationName:"tags" type:"list"`
15208}
15209
15210// String returns the string representation
15211func (s Domain) String() string {
15212	return awsutil.Prettify(s)
15213}
15214
15215// GoString returns the string representation
15216func (s Domain) GoString() string {
15217	return s.String()
15218}
15219
15220// SetArn sets the Arn field's value.
15221func (s *Domain) SetArn(v string) *Domain {
15222	s.Arn = &v
15223	return s
15224}
15225
15226// SetCreatedAt sets the CreatedAt field's value.
15227func (s *Domain) SetCreatedAt(v time.Time) *Domain {
15228	s.CreatedAt = &v
15229	return s
15230}
15231
15232// SetDomainEntries sets the DomainEntries field's value.
15233func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
15234	s.DomainEntries = v
15235	return s
15236}
15237
15238// SetLocation sets the Location field's value.
15239func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
15240	s.Location = v
15241	return s
15242}
15243
15244// SetName sets the Name field's value.
15245func (s *Domain) SetName(v string) *Domain {
15246	s.Name = &v
15247	return s
15248}
15249
15250// SetResourceType sets the ResourceType field's value.
15251func (s *Domain) SetResourceType(v string) *Domain {
15252	s.ResourceType = &v
15253	return s
15254}
15255
15256// SetSupportCode sets the SupportCode field's value.
15257func (s *Domain) SetSupportCode(v string) *Domain {
15258	s.SupportCode = &v
15259	return s
15260}
15261
15262// SetTags sets the Tags field's value.
15263func (s *Domain) SetTags(v []*Tag) *Domain {
15264	s.Tags = v
15265	return s
15266}
15267
15268// Describes a domain recordset entry.
15269type DomainEntry struct {
15270	_ struct{} `type:"structure"`
15271
15272	// The ID of the domain recordset entry.
15273	Id *string `locationName:"id" type:"string"`
15274
15275	// When true, specifies whether the domain entry is an alias used by the Lightsail
15276	// load balancer. You can include an alias (A type) record in your request,
15277	// which points to a load balancer DNS name and routes traffic to your load
15278	// balancer
15279	IsAlias *bool `locationName:"isAlias" type:"boolean"`
15280
15281	// The name of the domain.
15282	Name *string `locationName:"name" type:"string"`
15283
15284	// (Deprecated) The options for the domain entry.
15285	//
15286	// In releases prior to November 29, 2017, this parameter was not included in
15287	// the API response. It is now deprecated.
15288	//
15289	// Deprecated: Options has been deprecated
15290	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
15291
15292	// The target AWS name server (e.g., ns-111.awsdns-22.com.).
15293	//
15294	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
15295	// Be sure to also set isAlias to true when setting up an A record for a load
15296	// balancer.
15297	Target *string `locationName:"target" type:"string"`
15298
15299	// The type of domain entry, such as address (A), canonical name (CNAME), mail
15300	// exchanger (MX), name server (NS), start of authority (SOA), service locator
15301	// (SRV), or text (TXT).
15302	//
15303	// The following domain entry types can be used:
15304	//
15305	//    * A
15306	//
15307	//    * CNAME
15308	//
15309	//    * MX
15310	//
15311	//    * NS
15312	//
15313	//    * SOA
15314	//
15315	//    * SRV
15316	//
15317	//    * TXT
15318	Type *string `locationName:"type" type:"string"`
15319}
15320
15321// String returns the string representation
15322func (s DomainEntry) String() string {
15323	return awsutil.Prettify(s)
15324}
15325
15326// GoString returns the string representation
15327func (s DomainEntry) GoString() string {
15328	return s.String()
15329}
15330
15331// SetId sets the Id field's value.
15332func (s *DomainEntry) SetId(v string) *DomainEntry {
15333	s.Id = &v
15334	return s
15335}
15336
15337// SetIsAlias sets the IsAlias field's value.
15338func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
15339	s.IsAlias = &v
15340	return s
15341}
15342
15343// SetName sets the Name field's value.
15344func (s *DomainEntry) SetName(v string) *DomainEntry {
15345	s.Name = &v
15346	return s
15347}
15348
15349// SetOptions sets the Options field's value.
15350func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
15351	s.Options = v
15352	return s
15353}
15354
15355// SetTarget sets the Target field's value.
15356func (s *DomainEntry) SetTarget(v string) *DomainEntry {
15357	s.Target = &v
15358	return s
15359}
15360
15361// SetType sets the Type field's value.
15362func (s *DomainEntry) SetType(v string) *DomainEntry {
15363	s.Type = &v
15364	return s
15365}
15366
15367type DownloadDefaultKeyPairInput struct {
15368	_ struct{} `type:"structure"`
15369}
15370
15371// String returns the string representation
15372func (s DownloadDefaultKeyPairInput) String() string {
15373	return awsutil.Prettify(s)
15374}
15375
15376// GoString returns the string representation
15377func (s DownloadDefaultKeyPairInput) GoString() string {
15378	return s.String()
15379}
15380
15381type DownloadDefaultKeyPairOutput struct {
15382	_ struct{} `type:"structure"`
15383
15384	// A base64-encoded RSA private key.
15385	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
15386
15387	// A base64-encoded public key of the ssh-rsa type.
15388	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
15389}
15390
15391// String returns the string representation
15392func (s DownloadDefaultKeyPairOutput) String() string {
15393	return awsutil.Prettify(s)
15394}
15395
15396// GoString returns the string representation
15397func (s DownloadDefaultKeyPairOutput) GoString() string {
15398	return s.String()
15399}
15400
15401// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
15402func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
15403	s.PrivateKeyBase64 = &v
15404	return s
15405}
15406
15407// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
15408func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
15409	s.PublicKeyBase64 = &v
15410	return s
15411}
15412
15413type ExportSnapshotInput struct {
15414	_ struct{} `type:"structure"`
15415
15416	// The name of the instance or disk snapshot to be exported to Amazon EC2.
15417	//
15418	// SourceSnapshotName is a required field
15419	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
15420}
15421
15422// String returns the string representation
15423func (s ExportSnapshotInput) String() string {
15424	return awsutil.Prettify(s)
15425}
15426
15427// GoString returns the string representation
15428func (s ExportSnapshotInput) GoString() string {
15429	return s.String()
15430}
15431
15432// Validate inspects the fields of the type to determine if they are valid.
15433func (s *ExportSnapshotInput) Validate() error {
15434	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
15435	if s.SourceSnapshotName == nil {
15436		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
15437	}
15438
15439	if invalidParams.Len() > 0 {
15440		return invalidParams
15441	}
15442	return nil
15443}
15444
15445// SetSourceSnapshotName sets the SourceSnapshotName field's value.
15446func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
15447	s.SourceSnapshotName = &v
15448	return s
15449}
15450
15451type ExportSnapshotOutput struct {
15452	_ struct{} `type:"structure"`
15453
15454	// A list of objects describing the API operation.
15455	Operations []*Operation `locationName:"operations" type:"list"`
15456}
15457
15458// String returns the string representation
15459func (s ExportSnapshotOutput) String() string {
15460	return awsutil.Prettify(s)
15461}
15462
15463// GoString returns the string representation
15464func (s ExportSnapshotOutput) GoString() string {
15465	return s.String()
15466}
15467
15468// SetOperations sets the Operations field's value.
15469func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
15470	s.Operations = v
15471	return s
15472}
15473
15474// Describes an export snapshot record.
15475type ExportSnapshotRecord struct {
15476	_ struct{} `type:"structure"`
15477
15478	// The Amazon Resource Name (ARN) of the export snapshot record.
15479	Arn *string `locationName:"arn" type:"string"`
15480
15481	// The date when the export snapshot record was created.
15482	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15483
15484	// A list of objects describing the destination of the export snapshot record.
15485	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
15486
15487	// The AWS Region and Availability Zone where the export snapshot record is
15488	// located.
15489	Location *ResourceLocation `locationName:"location" type:"structure"`
15490
15491	// The export snapshot record name.
15492	Name *string `locationName:"name" type:"string"`
15493
15494	// The Lightsail resource type (e.g., ExportSnapshotRecord).
15495	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15496
15497	// A list of objects describing the source of the export snapshot record.
15498	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
15499
15500	// The state of the export snapshot record.
15501	State *string `locationName:"state" type:"string" enum:"RecordState"`
15502}
15503
15504// String returns the string representation
15505func (s ExportSnapshotRecord) String() string {
15506	return awsutil.Prettify(s)
15507}
15508
15509// GoString returns the string representation
15510func (s ExportSnapshotRecord) GoString() string {
15511	return s.String()
15512}
15513
15514// SetArn sets the Arn field's value.
15515func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
15516	s.Arn = &v
15517	return s
15518}
15519
15520// SetCreatedAt sets the CreatedAt field's value.
15521func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
15522	s.CreatedAt = &v
15523	return s
15524}
15525
15526// SetDestinationInfo sets the DestinationInfo field's value.
15527func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
15528	s.DestinationInfo = v
15529	return s
15530}
15531
15532// SetLocation sets the Location field's value.
15533func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
15534	s.Location = v
15535	return s
15536}
15537
15538// SetName sets the Name field's value.
15539func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
15540	s.Name = &v
15541	return s
15542}
15543
15544// SetResourceType sets the ResourceType field's value.
15545func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
15546	s.ResourceType = &v
15547	return s
15548}
15549
15550// SetSourceInfo sets the SourceInfo field's value.
15551func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
15552	s.SourceInfo = v
15553	return s
15554}
15555
15556// SetState sets the State field's value.
15557func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
15558	s.State = &v
15559	return s
15560}
15561
15562// Describes the source of an export snapshot record.
15563type ExportSnapshotRecordSourceInfo struct {
15564	_ struct{} `type:"structure"`
15565
15566	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
15567	Arn *string `locationName:"arn" type:"string"`
15568
15569	// The date when the source instance or disk snapshot was created.
15570	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15571
15572	// A list of objects describing a disk snapshot.
15573	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
15574
15575	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
15576	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
15577
15578	// The name of the snapshot's source instance or disk.
15579	FromResourceName *string `locationName:"fromResourceName" type:"string"`
15580
15581	// A list of objects describing an instance snapshot.
15582	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
15583
15584	// The name of the source instance or disk snapshot.
15585	Name *string `locationName:"name" type:"string"`
15586
15587	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
15588	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
15589}
15590
15591// String returns the string representation
15592func (s ExportSnapshotRecordSourceInfo) String() string {
15593	return awsutil.Prettify(s)
15594}
15595
15596// GoString returns the string representation
15597func (s ExportSnapshotRecordSourceInfo) GoString() string {
15598	return s.String()
15599}
15600
15601// SetArn sets the Arn field's value.
15602func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
15603	s.Arn = &v
15604	return s
15605}
15606
15607// SetCreatedAt sets the CreatedAt field's value.
15608func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
15609	s.CreatedAt = &v
15610	return s
15611}
15612
15613// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
15614func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
15615	s.DiskSnapshotInfo = v
15616	return s
15617}
15618
15619// SetFromResourceArn sets the FromResourceArn field's value.
15620func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
15621	s.FromResourceArn = &v
15622	return s
15623}
15624
15625// SetFromResourceName sets the FromResourceName field's value.
15626func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
15627	s.FromResourceName = &v
15628	return s
15629}
15630
15631// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
15632func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
15633	s.InstanceSnapshotInfo = v
15634	return s
15635}
15636
15637// SetName sets the Name field's value.
15638func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
15639	s.Name = &v
15640	return s
15641}
15642
15643// SetResourceType sets the ResourceType field's value.
15644func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
15645	s.ResourceType = &v
15646	return s
15647}
15648
15649type GetActiveNamesInput struct {
15650	_ struct{} `type:"structure"`
15651
15652	// A token used for paginating results from your get active names request.
15653	PageToken *string `locationName:"pageToken" type:"string"`
15654}
15655
15656// String returns the string representation
15657func (s GetActiveNamesInput) String() string {
15658	return awsutil.Prettify(s)
15659}
15660
15661// GoString returns the string representation
15662func (s GetActiveNamesInput) GoString() string {
15663	return s.String()
15664}
15665
15666// SetPageToken sets the PageToken field's value.
15667func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
15668	s.PageToken = &v
15669	return s
15670}
15671
15672type GetActiveNamesOutput struct {
15673	_ struct{} `type:"structure"`
15674
15675	// The list of active names returned by the get active names request.
15676	ActiveNames []*string `locationName:"activeNames" type:"list"`
15677
15678	// A token used for advancing to the next page of results from your get active
15679	// names request.
15680	NextPageToken *string `locationName:"nextPageToken" type:"string"`
15681}
15682
15683// String returns the string representation
15684func (s GetActiveNamesOutput) String() string {
15685	return awsutil.Prettify(s)
15686}
15687
15688// GoString returns the string representation
15689func (s GetActiveNamesOutput) GoString() string {
15690	return s.String()
15691}
15692
15693// SetActiveNames sets the ActiveNames field's value.
15694func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
15695	s.ActiveNames = v
15696	return s
15697}
15698
15699// SetNextPageToken sets the NextPageToken field's value.
15700func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
15701	s.NextPageToken = &v
15702	return s
15703}
15704
15705type GetBlueprintsInput struct {
15706	_ struct{} `type:"structure"`
15707
15708	// A Boolean value indicating whether to include inactive results in your request.
15709	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
15710
15711	// A token used for advancing to the next page of results from your get blueprints
15712	// request.
15713	PageToken *string `locationName:"pageToken" type:"string"`
15714}
15715
15716// String returns the string representation
15717func (s GetBlueprintsInput) String() string {
15718	return awsutil.Prettify(s)
15719}
15720
15721// GoString returns the string representation
15722func (s GetBlueprintsInput) GoString() string {
15723	return s.String()
15724}
15725
15726// SetIncludeInactive sets the IncludeInactive field's value.
15727func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
15728	s.IncludeInactive = &v
15729	return s
15730}
15731
15732// SetPageToken sets the PageToken field's value.
15733func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
15734	s.PageToken = &v
15735	return s
15736}
15737
15738type GetBlueprintsOutput struct {
15739	_ struct{} `type:"structure"`
15740
15741	// An array of key-value pairs that contains information about the available
15742	// blueprints.
15743	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
15744
15745	// A token used for advancing to the next page of results from your get blueprints
15746	// request.
15747	NextPageToken *string `locationName:"nextPageToken" type:"string"`
15748}
15749
15750// String returns the string representation
15751func (s GetBlueprintsOutput) String() string {
15752	return awsutil.Prettify(s)
15753}
15754
15755// GoString returns the string representation
15756func (s GetBlueprintsOutput) GoString() string {
15757	return s.String()
15758}
15759
15760// SetBlueprints sets the Blueprints field's value.
15761func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
15762	s.Blueprints = v
15763	return s
15764}
15765
15766// SetNextPageToken sets the NextPageToken field's value.
15767func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
15768	s.NextPageToken = &v
15769	return s
15770}
15771
15772type GetBundlesInput struct {
15773	_ struct{} `type:"structure"`
15774
15775	// A Boolean value that indicates whether to include inactive bundle results
15776	// in your request.
15777	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
15778
15779	// A token used for advancing to the next page of results from your get bundles
15780	// request.
15781	PageToken *string `locationName:"pageToken" type:"string"`
15782}
15783
15784// String returns the string representation
15785func (s GetBundlesInput) String() string {
15786	return awsutil.Prettify(s)
15787}
15788
15789// GoString returns the string representation
15790func (s GetBundlesInput) GoString() string {
15791	return s.String()
15792}
15793
15794// SetIncludeInactive sets the IncludeInactive field's value.
15795func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
15796	s.IncludeInactive = &v
15797	return s
15798}
15799
15800// SetPageToken sets the PageToken field's value.
15801func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
15802	s.PageToken = &v
15803	return s
15804}
15805
15806type GetBundlesOutput struct {
15807	_ struct{} `type:"structure"`
15808
15809	// An array of key-value pairs that contains information about the available
15810	// bundles.
15811	Bundles []*Bundle `locationName:"bundles" type:"list"`
15812
15813	// A token used for advancing to the next page of results from your get active
15814	// names request.
15815	NextPageToken *string `locationName:"nextPageToken" type:"string"`
15816}
15817
15818// String returns the string representation
15819func (s GetBundlesOutput) String() string {
15820	return awsutil.Prettify(s)
15821}
15822
15823// GoString returns the string representation
15824func (s GetBundlesOutput) GoString() string {
15825	return s.String()
15826}
15827
15828// SetBundles sets the Bundles field's value.
15829func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
15830	s.Bundles = v
15831	return s
15832}
15833
15834// SetNextPageToken sets the NextPageToken field's value.
15835func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
15836	s.NextPageToken = &v
15837	return s
15838}
15839
15840type GetCloudFormationStackRecordsInput struct {
15841	_ struct{} `type:"structure"`
15842
15843	// A token used for advancing to a specific page of results for your get cloud
15844	// formation stack records request.
15845	PageToken *string `locationName:"pageToken" type:"string"`
15846}
15847
15848// String returns the string representation
15849func (s GetCloudFormationStackRecordsInput) String() string {
15850	return awsutil.Prettify(s)
15851}
15852
15853// GoString returns the string representation
15854func (s GetCloudFormationStackRecordsInput) GoString() string {
15855	return s.String()
15856}
15857
15858// SetPageToken sets the PageToken field's value.
15859func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
15860	s.PageToken = &v
15861	return s
15862}
15863
15864type GetCloudFormationStackRecordsOutput struct {
15865	_ struct{} `type:"structure"`
15866
15867	// A list of objects describing the CloudFormation stack records.
15868	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
15869
15870	// A token used for advancing to the next page of results of your get relational
15871	// database bundles request.
15872	NextPageToken *string `locationName:"nextPageToken" type:"string"`
15873}
15874
15875// String returns the string representation
15876func (s GetCloudFormationStackRecordsOutput) String() string {
15877	return awsutil.Prettify(s)
15878}
15879
15880// GoString returns the string representation
15881func (s GetCloudFormationStackRecordsOutput) GoString() string {
15882	return s.String()
15883}
15884
15885// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
15886func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
15887	s.CloudFormationStackRecords = v
15888	return s
15889}
15890
15891// SetNextPageToken sets the NextPageToken field's value.
15892func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
15893	s.NextPageToken = &v
15894	return s
15895}
15896
15897type GetDiskInput struct {
15898	_ struct{} `type:"structure"`
15899
15900	// The name of the disk (e.g., my-disk).
15901	//
15902	// DiskName is a required field
15903	DiskName *string `locationName:"diskName" type:"string" required:"true"`
15904}
15905
15906// String returns the string representation
15907func (s GetDiskInput) String() string {
15908	return awsutil.Prettify(s)
15909}
15910
15911// GoString returns the string representation
15912func (s GetDiskInput) GoString() string {
15913	return s.String()
15914}
15915
15916// Validate inspects the fields of the type to determine if they are valid.
15917func (s *GetDiskInput) Validate() error {
15918	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
15919	if s.DiskName == nil {
15920		invalidParams.Add(request.NewErrParamRequired("DiskName"))
15921	}
15922
15923	if invalidParams.Len() > 0 {
15924		return invalidParams
15925	}
15926	return nil
15927}
15928
15929// SetDiskName sets the DiskName field's value.
15930func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
15931	s.DiskName = &v
15932	return s
15933}
15934
15935type GetDiskOutput struct {
15936	_ struct{} `type:"structure"`
15937
15938	// An object containing information about the disk.
15939	Disk *Disk `locationName:"disk" type:"structure"`
15940}
15941
15942// String returns the string representation
15943func (s GetDiskOutput) String() string {
15944	return awsutil.Prettify(s)
15945}
15946
15947// GoString returns the string representation
15948func (s GetDiskOutput) GoString() string {
15949	return s.String()
15950}
15951
15952// SetDisk sets the Disk field's value.
15953func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
15954	s.Disk = v
15955	return s
15956}
15957
15958type GetDiskSnapshotInput struct {
15959	_ struct{} `type:"structure"`
15960
15961	// The name of the disk snapshot (e.g., my-disk-snapshot).
15962	//
15963	// DiskSnapshotName is a required field
15964	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
15965}
15966
15967// String returns the string representation
15968func (s GetDiskSnapshotInput) String() string {
15969	return awsutil.Prettify(s)
15970}
15971
15972// GoString returns the string representation
15973func (s GetDiskSnapshotInput) GoString() string {
15974	return s.String()
15975}
15976
15977// Validate inspects the fields of the type to determine if they are valid.
15978func (s *GetDiskSnapshotInput) Validate() error {
15979	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
15980	if s.DiskSnapshotName == nil {
15981		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
15982	}
15983
15984	if invalidParams.Len() > 0 {
15985		return invalidParams
15986	}
15987	return nil
15988}
15989
15990// SetDiskSnapshotName sets the DiskSnapshotName field's value.
15991func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
15992	s.DiskSnapshotName = &v
15993	return s
15994}
15995
15996type GetDiskSnapshotOutput struct {
15997	_ struct{} `type:"structure"`
15998
15999	// An object containing information about the disk snapshot.
16000	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
16001}
16002
16003// String returns the string representation
16004func (s GetDiskSnapshotOutput) String() string {
16005	return awsutil.Prettify(s)
16006}
16007
16008// GoString returns the string representation
16009func (s GetDiskSnapshotOutput) GoString() string {
16010	return s.String()
16011}
16012
16013// SetDiskSnapshot sets the DiskSnapshot field's value.
16014func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
16015	s.DiskSnapshot = v
16016	return s
16017}
16018
16019type GetDiskSnapshotsInput struct {
16020	_ struct{} `type:"structure"`
16021
16022	// A token used for advancing to the next page of results from your GetDiskSnapshots
16023	// request.
16024	PageToken *string `locationName:"pageToken" type:"string"`
16025}
16026
16027// String returns the string representation
16028func (s GetDiskSnapshotsInput) String() string {
16029	return awsutil.Prettify(s)
16030}
16031
16032// GoString returns the string representation
16033func (s GetDiskSnapshotsInput) GoString() string {
16034	return s.String()
16035}
16036
16037// SetPageToken sets the PageToken field's value.
16038func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
16039	s.PageToken = &v
16040	return s
16041}
16042
16043type GetDiskSnapshotsOutput struct {
16044	_ struct{} `type:"structure"`
16045
16046	// An array of objects containing information about all block storage disk snapshots.
16047	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
16048
16049	// A token used for advancing to the next page of results from your GetDiskSnapshots
16050	// request.
16051	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16052}
16053
16054// String returns the string representation
16055func (s GetDiskSnapshotsOutput) String() string {
16056	return awsutil.Prettify(s)
16057}
16058
16059// GoString returns the string representation
16060func (s GetDiskSnapshotsOutput) GoString() string {
16061	return s.String()
16062}
16063
16064// SetDiskSnapshots sets the DiskSnapshots field's value.
16065func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
16066	s.DiskSnapshots = v
16067	return s
16068}
16069
16070// SetNextPageToken sets the NextPageToken field's value.
16071func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
16072	s.NextPageToken = &v
16073	return s
16074}
16075
16076type GetDisksInput struct {
16077	_ struct{} `type:"structure"`
16078
16079	// A token used for advancing to the next page of results from your GetDisks
16080	// request.
16081	PageToken *string `locationName:"pageToken" type:"string"`
16082}
16083
16084// String returns the string representation
16085func (s GetDisksInput) String() string {
16086	return awsutil.Prettify(s)
16087}
16088
16089// GoString returns the string representation
16090func (s GetDisksInput) GoString() string {
16091	return s.String()
16092}
16093
16094// SetPageToken sets the PageToken field's value.
16095func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
16096	s.PageToken = &v
16097	return s
16098}
16099
16100type GetDisksOutput struct {
16101	_ struct{} `type:"structure"`
16102
16103	// An array of objects containing information about all block storage disks.
16104	Disks []*Disk `locationName:"disks" type:"list"`
16105
16106	// A token used for advancing to the next page of results from your GetDisks
16107	// request.
16108	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16109}
16110
16111// String returns the string representation
16112func (s GetDisksOutput) String() string {
16113	return awsutil.Prettify(s)
16114}
16115
16116// GoString returns the string representation
16117func (s GetDisksOutput) GoString() string {
16118	return s.String()
16119}
16120
16121// SetDisks sets the Disks field's value.
16122func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
16123	s.Disks = v
16124	return s
16125}
16126
16127// SetNextPageToken sets the NextPageToken field's value.
16128func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
16129	s.NextPageToken = &v
16130	return s
16131}
16132
16133type GetDomainInput struct {
16134	_ struct{} `type:"structure"`
16135
16136	// The domain name for which your want to return information about.
16137	//
16138	// DomainName is a required field
16139	DomainName *string `locationName:"domainName" type:"string" required:"true"`
16140}
16141
16142// String returns the string representation
16143func (s GetDomainInput) String() string {
16144	return awsutil.Prettify(s)
16145}
16146
16147// GoString returns the string representation
16148func (s GetDomainInput) GoString() string {
16149	return s.String()
16150}
16151
16152// Validate inspects the fields of the type to determine if they are valid.
16153func (s *GetDomainInput) Validate() error {
16154	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
16155	if s.DomainName == nil {
16156		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16157	}
16158
16159	if invalidParams.Len() > 0 {
16160		return invalidParams
16161	}
16162	return nil
16163}
16164
16165// SetDomainName sets the DomainName field's value.
16166func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
16167	s.DomainName = &v
16168	return s
16169}
16170
16171type GetDomainOutput struct {
16172	_ struct{} `type:"structure"`
16173
16174	// An array of key-value pairs containing information about your get domain
16175	// request.
16176	Domain *Domain `locationName:"domain" type:"structure"`
16177}
16178
16179// String returns the string representation
16180func (s GetDomainOutput) String() string {
16181	return awsutil.Prettify(s)
16182}
16183
16184// GoString returns the string representation
16185func (s GetDomainOutput) GoString() string {
16186	return s.String()
16187}
16188
16189// SetDomain sets the Domain field's value.
16190func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
16191	s.Domain = v
16192	return s
16193}
16194
16195type GetDomainsInput struct {
16196	_ struct{} `type:"structure"`
16197
16198	// A token used for advancing to the next page of results from your get domains
16199	// request.
16200	PageToken *string `locationName:"pageToken" type:"string"`
16201}
16202
16203// String returns the string representation
16204func (s GetDomainsInput) String() string {
16205	return awsutil.Prettify(s)
16206}
16207
16208// GoString returns the string representation
16209func (s GetDomainsInput) GoString() string {
16210	return s.String()
16211}
16212
16213// SetPageToken sets the PageToken field's value.
16214func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
16215	s.PageToken = &v
16216	return s
16217}
16218
16219type GetDomainsOutput struct {
16220	_ struct{} `type:"structure"`
16221
16222	// An array of key-value pairs containing information about each of the domain
16223	// entries in the user's account.
16224	Domains []*Domain `locationName:"domains" type:"list"`
16225
16226	// A token used for advancing to the next page of results from your get active
16227	// names request.
16228	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16229}
16230
16231// String returns the string representation
16232func (s GetDomainsOutput) String() string {
16233	return awsutil.Prettify(s)
16234}
16235
16236// GoString returns the string representation
16237func (s GetDomainsOutput) GoString() string {
16238	return s.String()
16239}
16240
16241// SetDomains sets the Domains field's value.
16242func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
16243	s.Domains = v
16244	return s
16245}
16246
16247// SetNextPageToken sets the NextPageToken field's value.
16248func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
16249	s.NextPageToken = &v
16250	return s
16251}
16252
16253type GetExportSnapshotRecordsInput struct {
16254	_ struct{} `type:"structure"`
16255
16256	// A token used for advancing to a specific page of results for your get export
16257	// snapshot records request.
16258	PageToken *string `locationName:"pageToken" type:"string"`
16259}
16260
16261// String returns the string representation
16262func (s GetExportSnapshotRecordsInput) String() string {
16263	return awsutil.Prettify(s)
16264}
16265
16266// GoString returns the string representation
16267func (s GetExportSnapshotRecordsInput) GoString() string {
16268	return s.String()
16269}
16270
16271// SetPageToken sets the PageToken field's value.
16272func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
16273	s.PageToken = &v
16274	return s
16275}
16276
16277type GetExportSnapshotRecordsOutput struct {
16278	_ struct{} `type:"structure"`
16279
16280	// A list of objects describing the export snapshot records.
16281	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
16282
16283	// A token used for advancing to the next page of results of your get relational
16284	// database bundles request.
16285	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16286}
16287
16288// String returns the string representation
16289func (s GetExportSnapshotRecordsOutput) String() string {
16290	return awsutil.Prettify(s)
16291}
16292
16293// GoString returns the string representation
16294func (s GetExportSnapshotRecordsOutput) GoString() string {
16295	return s.String()
16296}
16297
16298// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
16299func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
16300	s.ExportSnapshotRecords = v
16301	return s
16302}
16303
16304// SetNextPageToken sets the NextPageToken field's value.
16305func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
16306	s.NextPageToken = &v
16307	return s
16308}
16309
16310type GetInstanceAccessDetailsInput struct {
16311	_ struct{} `type:"structure"`
16312
16313	// The name of the instance to access.
16314	//
16315	// InstanceName is a required field
16316	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16317
16318	// The protocol to use to connect to your instance. Defaults to ssh.
16319	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
16320}
16321
16322// String returns the string representation
16323func (s GetInstanceAccessDetailsInput) String() string {
16324	return awsutil.Prettify(s)
16325}
16326
16327// GoString returns the string representation
16328func (s GetInstanceAccessDetailsInput) GoString() string {
16329	return s.String()
16330}
16331
16332// Validate inspects the fields of the type to determine if they are valid.
16333func (s *GetInstanceAccessDetailsInput) Validate() error {
16334	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
16335	if s.InstanceName == nil {
16336		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16337	}
16338
16339	if invalidParams.Len() > 0 {
16340		return invalidParams
16341	}
16342	return nil
16343}
16344
16345// SetInstanceName sets the InstanceName field's value.
16346func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
16347	s.InstanceName = &v
16348	return s
16349}
16350
16351// SetProtocol sets the Protocol field's value.
16352func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
16353	s.Protocol = &v
16354	return s
16355}
16356
16357type GetInstanceAccessDetailsOutput struct {
16358	_ struct{} `type:"structure"`
16359
16360	// An array of key-value pairs containing information about a get instance access
16361	// request.
16362	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
16363}
16364
16365// String returns the string representation
16366func (s GetInstanceAccessDetailsOutput) String() string {
16367	return awsutil.Prettify(s)
16368}
16369
16370// GoString returns the string representation
16371func (s GetInstanceAccessDetailsOutput) GoString() string {
16372	return s.String()
16373}
16374
16375// SetAccessDetails sets the AccessDetails field's value.
16376func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
16377	s.AccessDetails = v
16378	return s
16379}
16380
16381type GetInstanceInput struct {
16382	_ struct{} `type:"structure"`
16383
16384	// The name of the instance.
16385	//
16386	// InstanceName is a required field
16387	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16388}
16389
16390// String returns the string representation
16391func (s GetInstanceInput) String() string {
16392	return awsutil.Prettify(s)
16393}
16394
16395// GoString returns the string representation
16396func (s GetInstanceInput) GoString() string {
16397	return s.String()
16398}
16399
16400// Validate inspects the fields of the type to determine if they are valid.
16401func (s *GetInstanceInput) Validate() error {
16402	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
16403	if s.InstanceName == nil {
16404		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16405	}
16406
16407	if invalidParams.Len() > 0 {
16408		return invalidParams
16409	}
16410	return nil
16411}
16412
16413// SetInstanceName sets the InstanceName field's value.
16414func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
16415	s.InstanceName = &v
16416	return s
16417}
16418
16419type GetInstanceMetricDataInput struct {
16420	_ struct{} `type:"structure"`
16421
16422	// The end time of the time period.
16423	//
16424	// EndTime is a required field
16425	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
16426
16427	// The name of the instance for which you want to get metrics data.
16428	//
16429	// InstanceName is a required field
16430	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16431
16432	// The metric name to get data about.
16433	//
16434	// MetricName is a required field
16435	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
16436
16437	// The granularity, in seconds, of the returned data points.
16438	//
16439	// Period is a required field
16440	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
16441
16442	// The start time of the time period.
16443	//
16444	// StartTime is a required field
16445	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
16446
16447	// The instance statistics.
16448	//
16449	// Statistics is a required field
16450	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
16451
16452	// The unit. The list of valid values is below.
16453	//
16454	// Unit is a required field
16455	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
16456}
16457
16458// String returns the string representation
16459func (s GetInstanceMetricDataInput) String() string {
16460	return awsutil.Prettify(s)
16461}
16462
16463// GoString returns the string representation
16464func (s GetInstanceMetricDataInput) GoString() string {
16465	return s.String()
16466}
16467
16468// Validate inspects the fields of the type to determine if they are valid.
16469func (s *GetInstanceMetricDataInput) Validate() error {
16470	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
16471	if s.EndTime == nil {
16472		invalidParams.Add(request.NewErrParamRequired("EndTime"))
16473	}
16474	if s.InstanceName == nil {
16475		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16476	}
16477	if s.MetricName == nil {
16478		invalidParams.Add(request.NewErrParamRequired("MetricName"))
16479	}
16480	if s.Period == nil {
16481		invalidParams.Add(request.NewErrParamRequired("Period"))
16482	}
16483	if s.Period != nil && *s.Period < 60 {
16484		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
16485	}
16486	if s.StartTime == nil {
16487		invalidParams.Add(request.NewErrParamRequired("StartTime"))
16488	}
16489	if s.Statistics == nil {
16490		invalidParams.Add(request.NewErrParamRequired("Statistics"))
16491	}
16492	if s.Unit == nil {
16493		invalidParams.Add(request.NewErrParamRequired("Unit"))
16494	}
16495
16496	if invalidParams.Len() > 0 {
16497		return invalidParams
16498	}
16499	return nil
16500}
16501
16502// SetEndTime sets the EndTime field's value.
16503func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
16504	s.EndTime = &v
16505	return s
16506}
16507
16508// SetInstanceName sets the InstanceName field's value.
16509func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
16510	s.InstanceName = &v
16511	return s
16512}
16513
16514// SetMetricName sets the MetricName field's value.
16515func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
16516	s.MetricName = &v
16517	return s
16518}
16519
16520// SetPeriod sets the Period field's value.
16521func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
16522	s.Period = &v
16523	return s
16524}
16525
16526// SetStartTime sets the StartTime field's value.
16527func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
16528	s.StartTime = &v
16529	return s
16530}
16531
16532// SetStatistics sets the Statistics field's value.
16533func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
16534	s.Statistics = v
16535	return s
16536}
16537
16538// SetUnit sets the Unit field's value.
16539func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
16540	s.Unit = &v
16541	return s
16542}
16543
16544type GetInstanceMetricDataOutput struct {
16545	_ struct{} `type:"structure"`
16546
16547	// An array of key-value pairs containing information about the results of your
16548	// get instance metric data request.
16549	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
16550
16551	// The metric name to return data for.
16552	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
16553}
16554
16555// String returns the string representation
16556func (s GetInstanceMetricDataOutput) String() string {
16557	return awsutil.Prettify(s)
16558}
16559
16560// GoString returns the string representation
16561func (s GetInstanceMetricDataOutput) GoString() string {
16562	return s.String()
16563}
16564
16565// SetMetricData sets the MetricData field's value.
16566func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
16567	s.MetricData = v
16568	return s
16569}
16570
16571// SetMetricName sets the MetricName field's value.
16572func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
16573	s.MetricName = &v
16574	return s
16575}
16576
16577type GetInstanceOutput struct {
16578	_ struct{} `type:"structure"`
16579
16580	// An array of key-value pairs containing information about the specified instance.
16581	Instance *Instance `locationName:"instance" type:"structure"`
16582}
16583
16584// String returns the string representation
16585func (s GetInstanceOutput) String() string {
16586	return awsutil.Prettify(s)
16587}
16588
16589// GoString returns the string representation
16590func (s GetInstanceOutput) GoString() string {
16591	return s.String()
16592}
16593
16594// SetInstance sets the Instance field's value.
16595func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
16596	s.Instance = v
16597	return s
16598}
16599
16600type GetInstancePortStatesInput struct {
16601	_ struct{} `type:"structure"`
16602
16603	// The name of the instance.
16604	//
16605	// InstanceName is a required field
16606	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16607}
16608
16609// String returns the string representation
16610func (s GetInstancePortStatesInput) String() string {
16611	return awsutil.Prettify(s)
16612}
16613
16614// GoString returns the string representation
16615func (s GetInstancePortStatesInput) GoString() string {
16616	return s.String()
16617}
16618
16619// Validate inspects the fields of the type to determine if they are valid.
16620func (s *GetInstancePortStatesInput) Validate() error {
16621	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
16622	if s.InstanceName == nil {
16623		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16624	}
16625
16626	if invalidParams.Len() > 0 {
16627		return invalidParams
16628	}
16629	return nil
16630}
16631
16632// SetInstanceName sets the InstanceName field's value.
16633func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
16634	s.InstanceName = &v
16635	return s
16636}
16637
16638type GetInstancePortStatesOutput struct {
16639	_ struct{} `type:"structure"`
16640
16641	// Information about the port states resulting from your request.
16642	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
16643}
16644
16645// String returns the string representation
16646func (s GetInstancePortStatesOutput) String() string {
16647	return awsutil.Prettify(s)
16648}
16649
16650// GoString returns the string representation
16651func (s GetInstancePortStatesOutput) GoString() string {
16652	return s.String()
16653}
16654
16655// SetPortStates sets the PortStates field's value.
16656func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
16657	s.PortStates = v
16658	return s
16659}
16660
16661type GetInstanceSnapshotInput struct {
16662	_ struct{} `type:"structure"`
16663
16664	// The name of the snapshot for which you are requesting information.
16665	//
16666	// InstanceSnapshotName is a required field
16667	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
16668}
16669
16670// String returns the string representation
16671func (s GetInstanceSnapshotInput) String() string {
16672	return awsutil.Prettify(s)
16673}
16674
16675// GoString returns the string representation
16676func (s GetInstanceSnapshotInput) GoString() string {
16677	return s.String()
16678}
16679
16680// Validate inspects the fields of the type to determine if they are valid.
16681func (s *GetInstanceSnapshotInput) Validate() error {
16682	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
16683	if s.InstanceSnapshotName == nil {
16684		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
16685	}
16686
16687	if invalidParams.Len() > 0 {
16688		return invalidParams
16689	}
16690	return nil
16691}
16692
16693// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
16694func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
16695	s.InstanceSnapshotName = &v
16696	return s
16697}
16698
16699type GetInstanceSnapshotOutput struct {
16700	_ struct{} `type:"structure"`
16701
16702	// An array of key-value pairs containing information about the results of your
16703	// get instance snapshot request.
16704	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
16705}
16706
16707// String returns the string representation
16708func (s GetInstanceSnapshotOutput) String() string {
16709	return awsutil.Prettify(s)
16710}
16711
16712// GoString returns the string representation
16713func (s GetInstanceSnapshotOutput) GoString() string {
16714	return s.String()
16715}
16716
16717// SetInstanceSnapshot sets the InstanceSnapshot field's value.
16718func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
16719	s.InstanceSnapshot = v
16720	return s
16721}
16722
16723type GetInstanceSnapshotsInput struct {
16724	_ struct{} `type:"structure"`
16725
16726	// A token used for advancing to the next page of results from your get instance
16727	// snapshots request.
16728	PageToken *string `locationName:"pageToken" type:"string"`
16729}
16730
16731// String returns the string representation
16732func (s GetInstanceSnapshotsInput) String() string {
16733	return awsutil.Prettify(s)
16734}
16735
16736// GoString returns the string representation
16737func (s GetInstanceSnapshotsInput) GoString() string {
16738	return s.String()
16739}
16740
16741// SetPageToken sets the PageToken field's value.
16742func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
16743	s.PageToken = &v
16744	return s
16745}
16746
16747type GetInstanceSnapshotsOutput struct {
16748	_ struct{} `type:"structure"`
16749
16750	// An array of key-value pairs containing information about the results of your
16751	// get instance snapshots request.
16752	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
16753
16754	// A token used for advancing to the next page of results from your get instance
16755	// snapshots request.
16756	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16757}
16758
16759// String returns the string representation
16760func (s GetInstanceSnapshotsOutput) String() string {
16761	return awsutil.Prettify(s)
16762}
16763
16764// GoString returns the string representation
16765func (s GetInstanceSnapshotsOutput) GoString() string {
16766	return s.String()
16767}
16768
16769// SetInstanceSnapshots sets the InstanceSnapshots field's value.
16770func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
16771	s.InstanceSnapshots = v
16772	return s
16773}
16774
16775// SetNextPageToken sets the NextPageToken field's value.
16776func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
16777	s.NextPageToken = &v
16778	return s
16779}
16780
16781type GetInstanceStateInput struct {
16782	_ struct{} `type:"structure"`
16783
16784	// The name of the instance to get state information about.
16785	//
16786	// InstanceName is a required field
16787	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16788}
16789
16790// String returns the string representation
16791func (s GetInstanceStateInput) String() string {
16792	return awsutil.Prettify(s)
16793}
16794
16795// GoString returns the string representation
16796func (s GetInstanceStateInput) GoString() string {
16797	return s.String()
16798}
16799
16800// Validate inspects the fields of the type to determine if they are valid.
16801func (s *GetInstanceStateInput) Validate() error {
16802	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
16803	if s.InstanceName == nil {
16804		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16805	}
16806
16807	if invalidParams.Len() > 0 {
16808		return invalidParams
16809	}
16810	return nil
16811}
16812
16813// SetInstanceName sets the InstanceName field's value.
16814func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
16815	s.InstanceName = &v
16816	return s
16817}
16818
16819type GetInstanceStateOutput struct {
16820	_ struct{} `type:"structure"`
16821
16822	// The state of the instance.
16823	State *InstanceState `locationName:"state" type:"structure"`
16824}
16825
16826// String returns the string representation
16827func (s GetInstanceStateOutput) String() string {
16828	return awsutil.Prettify(s)
16829}
16830
16831// GoString returns the string representation
16832func (s GetInstanceStateOutput) GoString() string {
16833	return s.String()
16834}
16835
16836// SetState sets the State field's value.
16837func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
16838	s.State = v
16839	return s
16840}
16841
16842type GetInstancesInput struct {
16843	_ struct{} `type:"structure"`
16844
16845	// A token used for advancing to the next page of results from your get instances
16846	// request.
16847	PageToken *string `locationName:"pageToken" type:"string"`
16848}
16849
16850// String returns the string representation
16851func (s GetInstancesInput) String() string {
16852	return awsutil.Prettify(s)
16853}
16854
16855// GoString returns the string representation
16856func (s GetInstancesInput) GoString() string {
16857	return s.String()
16858}
16859
16860// SetPageToken sets the PageToken field's value.
16861func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
16862	s.PageToken = &v
16863	return s
16864}
16865
16866type GetInstancesOutput struct {
16867	_ struct{} `type:"structure"`
16868
16869	// An array of key-value pairs containing information about your instances.
16870	Instances []*Instance `locationName:"instances" type:"list"`
16871
16872	// A token used for advancing to the next page of results from your get instances
16873	// request.
16874	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16875}
16876
16877// String returns the string representation
16878func (s GetInstancesOutput) String() string {
16879	return awsutil.Prettify(s)
16880}
16881
16882// GoString returns the string representation
16883func (s GetInstancesOutput) GoString() string {
16884	return s.String()
16885}
16886
16887// SetInstances sets the Instances field's value.
16888func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
16889	s.Instances = v
16890	return s
16891}
16892
16893// SetNextPageToken sets the NextPageToken field's value.
16894func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
16895	s.NextPageToken = &v
16896	return s
16897}
16898
16899type GetKeyPairInput struct {
16900	_ struct{} `type:"structure"`
16901
16902	// The name of the key pair for which you are requesting information.
16903	//
16904	// KeyPairName is a required field
16905	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
16906}
16907
16908// String returns the string representation
16909func (s GetKeyPairInput) String() string {
16910	return awsutil.Prettify(s)
16911}
16912
16913// GoString returns the string representation
16914func (s GetKeyPairInput) GoString() string {
16915	return s.String()
16916}
16917
16918// Validate inspects the fields of the type to determine if they are valid.
16919func (s *GetKeyPairInput) Validate() error {
16920	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
16921	if s.KeyPairName == nil {
16922		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
16923	}
16924
16925	if invalidParams.Len() > 0 {
16926		return invalidParams
16927	}
16928	return nil
16929}
16930
16931// SetKeyPairName sets the KeyPairName field's value.
16932func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
16933	s.KeyPairName = &v
16934	return s
16935}
16936
16937type GetKeyPairOutput struct {
16938	_ struct{} `type:"structure"`
16939
16940	// An array of key-value pairs containing information about the key pair.
16941	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
16942}
16943
16944// String returns the string representation
16945func (s GetKeyPairOutput) String() string {
16946	return awsutil.Prettify(s)
16947}
16948
16949// GoString returns the string representation
16950func (s GetKeyPairOutput) GoString() string {
16951	return s.String()
16952}
16953
16954// SetKeyPair sets the KeyPair field's value.
16955func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
16956	s.KeyPair = v
16957	return s
16958}
16959
16960type GetKeyPairsInput struct {
16961	_ struct{} `type:"structure"`
16962
16963	// A token used for advancing to the next page of results from your get key
16964	// pairs request.
16965	PageToken *string `locationName:"pageToken" type:"string"`
16966}
16967
16968// String returns the string representation
16969func (s GetKeyPairsInput) String() string {
16970	return awsutil.Prettify(s)
16971}
16972
16973// GoString returns the string representation
16974func (s GetKeyPairsInput) GoString() string {
16975	return s.String()
16976}
16977
16978// SetPageToken sets the PageToken field's value.
16979func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
16980	s.PageToken = &v
16981	return s
16982}
16983
16984type GetKeyPairsOutput struct {
16985	_ struct{} `type:"structure"`
16986
16987	// An array of key-value pairs containing information about the key pairs.
16988	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
16989
16990	// A token used for advancing to the next page of results from your get key
16991	// pairs request.
16992	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16993}
16994
16995// String returns the string representation
16996func (s GetKeyPairsOutput) String() string {
16997	return awsutil.Prettify(s)
16998}
16999
17000// GoString returns the string representation
17001func (s GetKeyPairsOutput) GoString() string {
17002	return s.String()
17003}
17004
17005// SetKeyPairs sets the KeyPairs field's value.
17006func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
17007	s.KeyPairs = v
17008	return s
17009}
17010
17011// SetNextPageToken sets the NextPageToken field's value.
17012func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
17013	s.NextPageToken = &v
17014	return s
17015}
17016
17017type GetLoadBalancerInput struct {
17018	_ struct{} `type:"structure"`
17019
17020	// The name of the load balancer.
17021	//
17022	// LoadBalancerName is a required field
17023	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17024}
17025
17026// String returns the string representation
17027func (s GetLoadBalancerInput) String() string {
17028	return awsutil.Prettify(s)
17029}
17030
17031// GoString returns the string representation
17032func (s GetLoadBalancerInput) GoString() string {
17033	return s.String()
17034}
17035
17036// Validate inspects the fields of the type to determine if they are valid.
17037func (s *GetLoadBalancerInput) Validate() error {
17038	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
17039	if s.LoadBalancerName == nil {
17040		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17041	}
17042
17043	if invalidParams.Len() > 0 {
17044		return invalidParams
17045	}
17046	return nil
17047}
17048
17049// SetLoadBalancerName sets the LoadBalancerName field's value.
17050func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
17051	s.LoadBalancerName = &v
17052	return s
17053}
17054
17055type GetLoadBalancerMetricDataInput struct {
17056	_ struct{} `type:"structure"`
17057
17058	// The end time of the period.
17059	//
17060	// EndTime is a required field
17061	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
17062
17063	// The name of the load balancer.
17064	//
17065	// LoadBalancerName is a required field
17066	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17067
17068	// The metric about which you want to return information. Valid values are listed
17069	// below, along with the most useful statistics to include in your request.
17070	//
17071	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
17072	//    by the client that did not establish a session with the load balancer.
17073	//    Possible causes include a mismatch of ciphers or protocols. Statistics:
17074	//    The most useful statistic is Sum.
17075	//
17076	//    * HealthyHostCount - The number of target instances that are considered
17077	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
17078	//    Maximum.
17079	//
17080	//    * UnhealthyHostCount - The number of target instances that are considered
17081	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
17082	//    and Maximum.
17083	//
17084	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
17085	//    originate from the load balancer. Client errors are generated when requests
17086	//    are malformed or incomplete. These requests have not been received by
17087	//    the target instance. This count does not include any response codes generated
17088	//    by the target instances. Statistics: The most useful statistic is Sum.
17089	//    Note that Minimum, Maximum, and Average all return 1.
17090	//
17091	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
17092	//    originate from the load balancer. This count does not include any response
17093	//    codes generated by the target instances. Statistics: The most useful statistic
17094	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Note that
17095	//    Minimum, Maximum, and Average all return 1.
17096	//
17097	//    * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated
17098	//    by the target instances. This does not include any response codes generated
17099	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17100	//    that Minimum, Maximum, and Average all return 1.
17101	//
17102	//    * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated
17103	//    by the target instances. This does not include any response codes generated
17104	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17105	//    that Minimum, Maximum, and Average all return 1.
17106	//
17107	//    * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated
17108	//    by the target instances. This does not include any response codes generated
17109	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17110	//    that Minimum, Maximum, and Average all return 1.
17111	//
17112	//    * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated
17113	//    by the target instances. This does not include any response codes generated
17114	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17115	//    that Minimum, Maximum, and Average all return 1.
17116	//
17117	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
17118	//    leaves the load balancer until a response from the target instance is
17119	//    received. Statistics: The most useful statistic is Average.
17120	//
17121	//    * RejectedConnectionCount - The number of connections that were rejected
17122	//    because the load balancer had reached its maximum number of connections.
17123	//    Statistics: The most useful statistic is Sum.
17124	//
17125	//    * RequestCount - The number of requests processed over IPv4. This count
17126	//    includes only the requests with a response generated by a target instance
17127	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
17128	//    that Minimum, Maximum, and Average all return 1.
17129	//
17130	// MetricName is a required field
17131	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
17132
17133	// The granularity, in seconds, of the returned data points.
17134	//
17135	// Period is a required field
17136	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
17137
17138	// The start time of the period.
17139	//
17140	// StartTime is a required field
17141	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
17142
17143	// An array of statistics that you want to request metrics for. Valid values
17144	// are listed below.
17145	//
17146	//    * SampleCount - The count (number) of data points used for the statistical
17147	//    calculation.
17148	//
17149	//    * Average - The value of Sum / SampleCount during the specified period.
17150	//    By comparing this statistic with the Minimum and Maximum, you can determine
17151	//    the full scope of a metric and how close the average use is to the Minimum
17152	//    and Maximum. This comparison helps you to know when to increase or decrease
17153	//    your resources as needed.
17154	//
17155	//    * Sum - All values submitted for the matching metric added together. This
17156	//    statistic can be useful for determining the total volume of a metric.
17157	//
17158	//    * Minimum - The lowest value observed during the specified period. You
17159	//    can use this value to determine low volumes of activity for your application.
17160	//
17161	//    * Maximum - The highest value observed during the specified period. You
17162	//    can use this value to determine high volumes of activity for your application.
17163	//
17164	// Statistics is a required field
17165	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
17166
17167	// The unit for the time period request. Valid values are listed below.
17168	//
17169	// Unit is a required field
17170	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
17171}
17172
17173// String returns the string representation
17174func (s GetLoadBalancerMetricDataInput) String() string {
17175	return awsutil.Prettify(s)
17176}
17177
17178// GoString returns the string representation
17179func (s GetLoadBalancerMetricDataInput) GoString() string {
17180	return s.String()
17181}
17182
17183// Validate inspects the fields of the type to determine if they are valid.
17184func (s *GetLoadBalancerMetricDataInput) Validate() error {
17185	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
17186	if s.EndTime == nil {
17187		invalidParams.Add(request.NewErrParamRequired("EndTime"))
17188	}
17189	if s.LoadBalancerName == nil {
17190		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17191	}
17192	if s.MetricName == nil {
17193		invalidParams.Add(request.NewErrParamRequired("MetricName"))
17194	}
17195	if s.Period == nil {
17196		invalidParams.Add(request.NewErrParamRequired("Period"))
17197	}
17198	if s.Period != nil && *s.Period < 60 {
17199		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
17200	}
17201	if s.StartTime == nil {
17202		invalidParams.Add(request.NewErrParamRequired("StartTime"))
17203	}
17204	if s.Statistics == nil {
17205		invalidParams.Add(request.NewErrParamRequired("Statistics"))
17206	}
17207	if s.Unit == nil {
17208		invalidParams.Add(request.NewErrParamRequired("Unit"))
17209	}
17210
17211	if invalidParams.Len() > 0 {
17212		return invalidParams
17213	}
17214	return nil
17215}
17216
17217// SetEndTime sets the EndTime field's value.
17218func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
17219	s.EndTime = &v
17220	return s
17221}
17222
17223// SetLoadBalancerName sets the LoadBalancerName field's value.
17224func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
17225	s.LoadBalancerName = &v
17226	return s
17227}
17228
17229// SetMetricName sets the MetricName field's value.
17230func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
17231	s.MetricName = &v
17232	return s
17233}
17234
17235// SetPeriod sets the Period field's value.
17236func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
17237	s.Period = &v
17238	return s
17239}
17240
17241// SetStartTime sets the StartTime field's value.
17242func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
17243	s.StartTime = &v
17244	return s
17245}
17246
17247// SetStatistics sets the Statistics field's value.
17248func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
17249	s.Statistics = v
17250	return s
17251}
17252
17253// SetUnit sets the Unit field's value.
17254func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
17255	s.Unit = &v
17256	return s
17257}
17258
17259type GetLoadBalancerMetricDataOutput struct {
17260	_ struct{} `type:"structure"`
17261
17262	// An array of metric datapoint objects.
17263	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
17264
17265	// The metric about which you are receiving information. Valid values are listed
17266	// below, along with the most useful statistics to include in your request.
17267	//
17268	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
17269	//    by the client that did not establish a session with the load balancer.
17270	//    Possible causes include a mismatch of ciphers or protocols. Statistics:
17271	//    The most useful statistic is Sum.
17272	//
17273	//    * HealthyHostCount - The number of target instances that are considered
17274	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
17275	//    Maximum.
17276	//
17277	//    * UnhealthyHostCount - The number of target instances that are considered
17278	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
17279	//    and Maximum.
17280	//
17281	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
17282	//    originate from the load balancer. Client errors are generated when requests
17283	//    are malformed or incomplete. These requests have not been received by
17284	//    the target instance. This count does not include any response codes generated
17285	//    by the target instances. Statistics: The most useful statistic is Sum.
17286	//    Note that Minimum, Maximum, and Average all return 1.
17287	//
17288	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
17289	//    originate from the load balancer. This count does not include any response
17290	//    codes generated by the target instances. Statistics: The most useful statistic
17291	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Note that
17292	//    Minimum, Maximum, and Average all return 1.
17293	//
17294	//    * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated
17295	//    by the target instances. This does not include any response codes generated
17296	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17297	//    that Minimum, Maximum, and Average all return 1.
17298	//
17299	//    * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated
17300	//    by the target instances. This does not include any response codes generated
17301	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17302	//    that Minimum, Maximum, and Average all return 1.
17303	//
17304	//    * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated
17305	//    by the target instances. This does not include any response codes generated
17306	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17307	//    that Minimum, Maximum, and Average all return 1.
17308	//
17309	//    * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated
17310	//    by the target instances. This does not include any response codes generated
17311	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
17312	//    that Minimum, Maximum, and Average all return 1.
17313	//
17314	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
17315	//    leaves the load balancer until a response from the target instance is
17316	//    received. Statistics: The most useful statistic is Average.
17317	//
17318	//    * RejectedConnectionCount - The number of connections that were rejected
17319	//    because the load balancer had reached its maximum number of connections.
17320	//    Statistics: The most useful statistic is Sum.
17321	//
17322	//    * RequestCount - The number of requests processed over IPv4. This count
17323	//    includes only the requests with a response generated by a target instance
17324	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
17325	//    that Minimum, Maximum, and Average all return 1.
17326	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
17327}
17328
17329// String returns the string representation
17330func (s GetLoadBalancerMetricDataOutput) String() string {
17331	return awsutil.Prettify(s)
17332}
17333
17334// GoString returns the string representation
17335func (s GetLoadBalancerMetricDataOutput) GoString() string {
17336	return s.String()
17337}
17338
17339// SetMetricData sets the MetricData field's value.
17340func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
17341	s.MetricData = v
17342	return s
17343}
17344
17345// SetMetricName sets the MetricName field's value.
17346func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
17347	s.MetricName = &v
17348	return s
17349}
17350
17351type GetLoadBalancerOutput struct {
17352	_ struct{} `type:"structure"`
17353
17354	// An object containing information about your load balancer.
17355	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
17356}
17357
17358// String returns the string representation
17359func (s GetLoadBalancerOutput) String() string {
17360	return awsutil.Prettify(s)
17361}
17362
17363// GoString returns the string representation
17364func (s GetLoadBalancerOutput) GoString() string {
17365	return s.String()
17366}
17367
17368// SetLoadBalancer sets the LoadBalancer field's value.
17369func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
17370	s.LoadBalancer = v
17371	return s
17372}
17373
17374type GetLoadBalancerTlsCertificatesInput struct {
17375	_ struct{} `type:"structure"`
17376
17377	// The name of the load balancer you associated with your SSL/TLS certificate.
17378	//
17379	// LoadBalancerName is a required field
17380	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17381}
17382
17383// String returns the string representation
17384func (s GetLoadBalancerTlsCertificatesInput) String() string {
17385	return awsutil.Prettify(s)
17386}
17387
17388// GoString returns the string representation
17389func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
17390	return s.String()
17391}
17392
17393// Validate inspects the fields of the type to determine if they are valid.
17394func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
17395	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
17396	if s.LoadBalancerName == nil {
17397		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17398	}
17399
17400	if invalidParams.Len() > 0 {
17401		return invalidParams
17402	}
17403	return nil
17404}
17405
17406// SetLoadBalancerName sets the LoadBalancerName field's value.
17407func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
17408	s.LoadBalancerName = &v
17409	return s
17410}
17411
17412type GetLoadBalancerTlsCertificatesOutput struct {
17413	_ struct{} `type:"structure"`
17414
17415	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
17416	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
17417}
17418
17419// String returns the string representation
17420func (s GetLoadBalancerTlsCertificatesOutput) String() string {
17421	return awsutil.Prettify(s)
17422}
17423
17424// GoString returns the string representation
17425func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
17426	return s.String()
17427}
17428
17429// SetTlsCertificates sets the TlsCertificates field's value.
17430func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
17431	s.TlsCertificates = v
17432	return s
17433}
17434
17435type GetLoadBalancersInput struct {
17436	_ struct{} `type:"structure"`
17437
17438	// A token used for paginating the results from your GetLoadBalancers request.
17439	PageToken *string `locationName:"pageToken" type:"string"`
17440}
17441
17442// String returns the string representation
17443func (s GetLoadBalancersInput) String() string {
17444	return awsutil.Prettify(s)
17445}
17446
17447// GoString returns the string representation
17448func (s GetLoadBalancersInput) GoString() string {
17449	return s.String()
17450}
17451
17452// SetPageToken sets the PageToken field's value.
17453func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
17454	s.PageToken = &v
17455	return s
17456}
17457
17458type GetLoadBalancersOutput struct {
17459	_ struct{} `type:"structure"`
17460
17461	// An array of LoadBalancer objects describing your load balancers.
17462	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
17463
17464	// A token used for advancing to the next page of results from your GetLoadBalancers
17465	// request.
17466	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17467}
17468
17469// String returns the string representation
17470func (s GetLoadBalancersOutput) String() string {
17471	return awsutil.Prettify(s)
17472}
17473
17474// GoString returns the string representation
17475func (s GetLoadBalancersOutput) GoString() string {
17476	return s.String()
17477}
17478
17479// SetLoadBalancers sets the LoadBalancers field's value.
17480func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
17481	s.LoadBalancers = v
17482	return s
17483}
17484
17485// SetNextPageToken sets the NextPageToken field's value.
17486func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
17487	s.NextPageToken = &v
17488	return s
17489}
17490
17491type GetOperationInput struct {
17492	_ struct{} `type:"structure"`
17493
17494	// A GUID used to identify the operation.
17495	//
17496	// OperationId is a required field
17497	OperationId *string `locationName:"operationId" type:"string" required:"true"`
17498}
17499
17500// String returns the string representation
17501func (s GetOperationInput) String() string {
17502	return awsutil.Prettify(s)
17503}
17504
17505// GoString returns the string representation
17506func (s GetOperationInput) GoString() string {
17507	return s.String()
17508}
17509
17510// Validate inspects the fields of the type to determine if they are valid.
17511func (s *GetOperationInput) Validate() error {
17512	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
17513	if s.OperationId == nil {
17514		invalidParams.Add(request.NewErrParamRequired("OperationId"))
17515	}
17516
17517	if invalidParams.Len() > 0 {
17518		return invalidParams
17519	}
17520	return nil
17521}
17522
17523// SetOperationId sets the OperationId field's value.
17524func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
17525	s.OperationId = &v
17526	return s
17527}
17528
17529type GetOperationOutput struct {
17530	_ struct{} `type:"structure"`
17531
17532	// An array of key-value pairs containing information about the results of your
17533	// get operation request.
17534	Operation *Operation `locationName:"operation" type:"structure"`
17535}
17536
17537// String returns the string representation
17538func (s GetOperationOutput) String() string {
17539	return awsutil.Prettify(s)
17540}
17541
17542// GoString returns the string representation
17543func (s GetOperationOutput) GoString() string {
17544	return s.String()
17545}
17546
17547// SetOperation sets the Operation field's value.
17548func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
17549	s.Operation = v
17550	return s
17551}
17552
17553type GetOperationsForResourceInput struct {
17554	_ struct{} `type:"structure"`
17555
17556	// A token used for advancing to the next page of results from your get operations
17557	// for resource request.
17558	PageToken *string `locationName:"pageToken" type:"string"`
17559
17560	// The name of the resource for which you are requesting information.
17561	//
17562	// ResourceName is a required field
17563	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
17564}
17565
17566// String returns the string representation
17567func (s GetOperationsForResourceInput) String() string {
17568	return awsutil.Prettify(s)
17569}
17570
17571// GoString returns the string representation
17572func (s GetOperationsForResourceInput) GoString() string {
17573	return s.String()
17574}
17575
17576// Validate inspects the fields of the type to determine if they are valid.
17577func (s *GetOperationsForResourceInput) Validate() error {
17578	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
17579	if s.ResourceName == nil {
17580		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
17581	}
17582
17583	if invalidParams.Len() > 0 {
17584		return invalidParams
17585	}
17586	return nil
17587}
17588
17589// SetPageToken sets the PageToken field's value.
17590func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
17591	s.PageToken = &v
17592	return s
17593}
17594
17595// SetResourceName sets the ResourceName field's value.
17596func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
17597	s.ResourceName = &v
17598	return s
17599}
17600
17601type GetOperationsForResourceOutput struct {
17602	_ struct{} `type:"structure"`
17603
17604	// (Deprecated) Returns the number of pages of results that remain.
17605	//
17606	// In releases prior to June 12, 2017, this parameter returned null by the API.
17607	// It is now deprecated, and the API returns the next page token parameter instead.
17608	//
17609	// Deprecated: NextPageCount has been deprecated
17610	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
17611
17612	// An identifier that was returned from the previous call to this operation,
17613	// which can be used to return the next set of items in the list.
17614	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17615
17616	// An array of key-value pairs containing information about the results of your
17617	// get operations for resource request.
17618	Operations []*Operation `locationName:"operations" type:"list"`
17619}
17620
17621// String returns the string representation
17622func (s GetOperationsForResourceOutput) String() string {
17623	return awsutil.Prettify(s)
17624}
17625
17626// GoString returns the string representation
17627func (s GetOperationsForResourceOutput) GoString() string {
17628	return s.String()
17629}
17630
17631// SetNextPageCount sets the NextPageCount field's value.
17632func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
17633	s.NextPageCount = &v
17634	return s
17635}
17636
17637// SetNextPageToken sets the NextPageToken field's value.
17638func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
17639	s.NextPageToken = &v
17640	return s
17641}
17642
17643// SetOperations sets the Operations field's value.
17644func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
17645	s.Operations = v
17646	return s
17647}
17648
17649type GetOperationsInput struct {
17650	_ struct{} `type:"structure"`
17651
17652	// A token used for advancing to the next page of results from your get operations
17653	// request.
17654	PageToken *string `locationName:"pageToken" type:"string"`
17655}
17656
17657// String returns the string representation
17658func (s GetOperationsInput) String() string {
17659	return awsutil.Prettify(s)
17660}
17661
17662// GoString returns the string representation
17663func (s GetOperationsInput) GoString() string {
17664	return s.String()
17665}
17666
17667// SetPageToken sets the PageToken field's value.
17668func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
17669	s.PageToken = &v
17670	return s
17671}
17672
17673type GetOperationsOutput struct {
17674	_ struct{} `type:"structure"`
17675
17676	// A token used for advancing to the next page of results from your get operations
17677	// request.
17678	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17679
17680	// An array of key-value pairs containing information about the results of your
17681	// get operations request.
17682	Operations []*Operation `locationName:"operations" type:"list"`
17683}
17684
17685// String returns the string representation
17686func (s GetOperationsOutput) String() string {
17687	return awsutil.Prettify(s)
17688}
17689
17690// GoString returns the string representation
17691func (s GetOperationsOutput) GoString() string {
17692	return s.String()
17693}
17694
17695// SetNextPageToken sets the NextPageToken field's value.
17696func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
17697	s.NextPageToken = &v
17698	return s
17699}
17700
17701// SetOperations sets the Operations field's value.
17702func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
17703	s.Operations = v
17704	return s
17705}
17706
17707type GetRegionsInput struct {
17708	_ struct{} `type:"structure"`
17709
17710	// A Boolean value indicating whether to also include Availability Zones in
17711	// your get regions request. Availability Zones are indicated with a letter:
17712	// e.g., us-east-2a.
17713	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
17714
17715	// >A Boolean value indicating whether to also include Availability Zones for
17716	// databases in your get regions request. Availability Zones are indicated with
17717	// a letter (e.g., us-east-2a).
17718	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
17719}
17720
17721// String returns the string representation
17722func (s GetRegionsInput) String() string {
17723	return awsutil.Prettify(s)
17724}
17725
17726// GoString returns the string representation
17727func (s GetRegionsInput) GoString() string {
17728	return s.String()
17729}
17730
17731// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
17732func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
17733	s.IncludeAvailabilityZones = &v
17734	return s
17735}
17736
17737// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
17738func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
17739	s.IncludeRelationalDatabaseAvailabilityZones = &v
17740	return s
17741}
17742
17743type GetRegionsOutput struct {
17744	_ struct{} `type:"structure"`
17745
17746	// An array of key-value pairs containing information about your get regions
17747	// request.
17748	Regions []*Region `locationName:"regions" type:"list"`
17749}
17750
17751// String returns the string representation
17752func (s GetRegionsOutput) String() string {
17753	return awsutil.Prettify(s)
17754}
17755
17756// GoString returns the string representation
17757func (s GetRegionsOutput) GoString() string {
17758	return s.String()
17759}
17760
17761// SetRegions sets the Regions field's value.
17762func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
17763	s.Regions = v
17764	return s
17765}
17766
17767type GetRelationalDatabaseBlueprintsInput struct {
17768	_ struct{} `type:"structure"`
17769
17770	// A token used for advancing to a specific page of results for your get relational
17771	// database blueprints request.
17772	PageToken *string `locationName:"pageToken" type:"string"`
17773}
17774
17775// String returns the string representation
17776func (s GetRelationalDatabaseBlueprintsInput) String() string {
17777	return awsutil.Prettify(s)
17778}
17779
17780// GoString returns the string representation
17781func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
17782	return s.String()
17783}
17784
17785// SetPageToken sets the PageToken field's value.
17786func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
17787	s.PageToken = &v
17788	return s
17789}
17790
17791type GetRelationalDatabaseBlueprintsOutput struct {
17792	_ struct{} `type:"structure"`
17793
17794	// An object describing the result of your get relational database blueprints
17795	// request.
17796	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
17797
17798	// A token used for advancing to the next page of results of your get relational
17799	// database blueprints request.
17800	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17801}
17802
17803// String returns the string representation
17804func (s GetRelationalDatabaseBlueprintsOutput) String() string {
17805	return awsutil.Prettify(s)
17806}
17807
17808// GoString returns the string representation
17809func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
17810	return s.String()
17811}
17812
17813// SetBlueprints sets the Blueprints field's value.
17814func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
17815	s.Blueprints = v
17816	return s
17817}
17818
17819// SetNextPageToken sets the NextPageToken field's value.
17820func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
17821	s.NextPageToken = &v
17822	return s
17823}
17824
17825type GetRelationalDatabaseBundlesInput struct {
17826	_ struct{} `type:"structure"`
17827
17828	// A token used for advancing to a specific page of results for your get relational
17829	// database bundles request.
17830	PageToken *string `locationName:"pageToken" type:"string"`
17831}
17832
17833// String returns the string representation
17834func (s GetRelationalDatabaseBundlesInput) String() string {
17835	return awsutil.Prettify(s)
17836}
17837
17838// GoString returns the string representation
17839func (s GetRelationalDatabaseBundlesInput) GoString() string {
17840	return s.String()
17841}
17842
17843// SetPageToken sets the PageToken field's value.
17844func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
17845	s.PageToken = &v
17846	return s
17847}
17848
17849type GetRelationalDatabaseBundlesOutput struct {
17850	_ struct{} `type:"structure"`
17851
17852	// An object describing the result of your get relational database bundles request.
17853	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
17854
17855	// A token used for advancing to the next page of results of your get relational
17856	// database bundles request.
17857	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17858}
17859
17860// String returns the string representation
17861func (s GetRelationalDatabaseBundlesOutput) String() string {
17862	return awsutil.Prettify(s)
17863}
17864
17865// GoString returns the string representation
17866func (s GetRelationalDatabaseBundlesOutput) GoString() string {
17867	return s.String()
17868}
17869
17870// SetBundles sets the Bundles field's value.
17871func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
17872	s.Bundles = v
17873	return s
17874}
17875
17876// SetNextPageToken sets the NextPageToken field's value.
17877func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
17878	s.NextPageToken = &v
17879	return s
17880}
17881
17882type GetRelationalDatabaseEventsInput struct {
17883	_ struct{} `type:"structure"`
17884
17885	// The number of minutes in the past from which to retrieve events. For example,
17886	// to get all events from the past 2 hours, enter 120.
17887	//
17888	// Default: 60
17889	//
17890	// The minimum is 1 and the maximum is 14 days (20160 minutes).
17891	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
17892
17893	// A token used for advancing to a specific page of results from for get relational
17894	// database events request.
17895	PageToken *string `locationName:"pageToken" type:"string"`
17896
17897	// The name of the database from which to get events.
17898	//
17899	// RelationalDatabaseName is a required field
17900	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
17901}
17902
17903// String returns the string representation
17904func (s GetRelationalDatabaseEventsInput) String() string {
17905	return awsutil.Prettify(s)
17906}
17907
17908// GoString returns the string representation
17909func (s GetRelationalDatabaseEventsInput) GoString() string {
17910	return s.String()
17911}
17912
17913// Validate inspects the fields of the type to determine if they are valid.
17914func (s *GetRelationalDatabaseEventsInput) Validate() error {
17915	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
17916	if s.RelationalDatabaseName == nil {
17917		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
17918	}
17919
17920	if invalidParams.Len() > 0 {
17921		return invalidParams
17922	}
17923	return nil
17924}
17925
17926// SetDurationInMinutes sets the DurationInMinutes field's value.
17927func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
17928	s.DurationInMinutes = &v
17929	return s
17930}
17931
17932// SetPageToken sets the PageToken field's value.
17933func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
17934	s.PageToken = &v
17935	return s
17936}
17937
17938// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
17939func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
17940	s.RelationalDatabaseName = &v
17941	return s
17942}
17943
17944type GetRelationalDatabaseEventsOutput struct {
17945	_ struct{} `type:"structure"`
17946
17947	// A token used for advancing to the next page of results from your get relational
17948	// database events request.
17949	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17950
17951	// An object describing the result of your get relational database events request.
17952	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
17953}
17954
17955// String returns the string representation
17956func (s GetRelationalDatabaseEventsOutput) String() string {
17957	return awsutil.Prettify(s)
17958}
17959
17960// GoString returns the string representation
17961func (s GetRelationalDatabaseEventsOutput) GoString() string {
17962	return s.String()
17963}
17964
17965// SetNextPageToken sets the NextPageToken field's value.
17966func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
17967	s.NextPageToken = &v
17968	return s
17969}
17970
17971// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
17972func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
17973	s.RelationalDatabaseEvents = v
17974	return s
17975}
17976
17977type GetRelationalDatabaseInput struct {
17978	_ struct{} `type:"structure"`
17979
17980	// The name of the database that you are looking up.
17981	//
17982	// RelationalDatabaseName is a required field
17983	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
17984}
17985
17986// String returns the string representation
17987func (s GetRelationalDatabaseInput) String() string {
17988	return awsutil.Prettify(s)
17989}
17990
17991// GoString returns the string representation
17992func (s GetRelationalDatabaseInput) GoString() string {
17993	return s.String()
17994}
17995
17996// Validate inspects the fields of the type to determine if they are valid.
17997func (s *GetRelationalDatabaseInput) Validate() error {
17998	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
17999	if s.RelationalDatabaseName == nil {
18000		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18001	}
18002
18003	if invalidParams.Len() > 0 {
18004		return invalidParams
18005	}
18006	return nil
18007}
18008
18009// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18010func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
18011	s.RelationalDatabaseName = &v
18012	return s
18013}
18014
18015type GetRelationalDatabaseLogEventsInput struct {
18016	_ struct{} `type:"structure"`
18017
18018	// The end of the time interval from which to get log events.
18019	//
18020	// Constraints:
18021	//
18022	//    * Specified in Universal Coordinated Time (UTC).
18023	//
18024	//    * Specified in the Unix time format. For example, if you wish to use an
18025	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
18026	//    the end time.
18027	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
18028
18029	// The name of the log stream.
18030	//
18031	// Use the get relational database log streams operation to get a list of available
18032	// log streams.
18033	//
18034	// LogStreamName is a required field
18035	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
18036
18037	// A token used for advancing to a specific page of results for your get relational
18038	// database log events request.
18039	PageToken *string `locationName:"pageToken" type:"string"`
18040
18041	// The name of your database for which to get log events.
18042	//
18043	// RelationalDatabaseName is a required field
18044	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18045
18046	// Parameter to specify if the log should start from head or tail. If true is
18047	// specified, the log event starts from the head of the log. If false is specified,
18048	// the log event starts from the tail of the log.
18049	//
18050	// Default: false
18051	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
18052
18053	// The start of the time interval from which to get log events.
18054	//
18055	// Constraints:
18056	//
18057	//    * Specified in Universal Coordinated Time (UTC).
18058	//
18059	//    * Specified in the Unix time format. For example, if you wish to use a
18060	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
18061	//    as the start time.
18062	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
18063}
18064
18065// String returns the string representation
18066func (s GetRelationalDatabaseLogEventsInput) String() string {
18067	return awsutil.Prettify(s)
18068}
18069
18070// GoString returns the string representation
18071func (s GetRelationalDatabaseLogEventsInput) GoString() string {
18072	return s.String()
18073}
18074
18075// Validate inspects the fields of the type to determine if they are valid.
18076func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
18077	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
18078	if s.LogStreamName == nil {
18079		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
18080	}
18081	if s.RelationalDatabaseName == nil {
18082		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18083	}
18084
18085	if invalidParams.Len() > 0 {
18086		return invalidParams
18087	}
18088	return nil
18089}
18090
18091// SetEndTime sets the EndTime field's value.
18092func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
18093	s.EndTime = &v
18094	return s
18095}
18096
18097// SetLogStreamName sets the LogStreamName field's value.
18098func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
18099	s.LogStreamName = &v
18100	return s
18101}
18102
18103// SetPageToken sets the PageToken field's value.
18104func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
18105	s.PageToken = &v
18106	return s
18107}
18108
18109// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18110func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
18111	s.RelationalDatabaseName = &v
18112	return s
18113}
18114
18115// SetStartFromHead sets the StartFromHead field's value.
18116func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
18117	s.StartFromHead = &v
18118	return s
18119}
18120
18121// SetStartTime sets the StartTime field's value.
18122func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
18123	s.StartTime = &v
18124	return s
18125}
18126
18127type GetRelationalDatabaseLogEventsOutput struct {
18128	_ struct{} `type:"structure"`
18129
18130	// A token used for advancing to the previous page of results from your get
18131	// relational database log events request.
18132	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
18133
18134	// A token used for advancing to the next page of results from your get relational
18135	// database log events request.
18136	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
18137
18138	// An object describing the result of your get relational database log events
18139	// request.
18140	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
18141}
18142
18143// String returns the string representation
18144func (s GetRelationalDatabaseLogEventsOutput) String() string {
18145	return awsutil.Prettify(s)
18146}
18147
18148// GoString returns the string representation
18149func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
18150	return s.String()
18151}
18152
18153// SetNextBackwardToken sets the NextBackwardToken field's value.
18154func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
18155	s.NextBackwardToken = &v
18156	return s
18157}
18158
18159// SetNextForwardToken sets the NextForwardToken field's value.
18160func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
18161	s.NextForwardToken = &v
18162	return s
18163}
18164
18165// SetResourceLogEvents sets the ResourceLogEvents field's value.
18166func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
18167	s.ResourceLogEvents = v
18168	return s
18169}
18170
18171type GetRelationalDatabaseLogStreamsInput struct {
18172	_ struct{} `type:"structure"`
18173
18174	// The name of your database for which to get log streams.
18175	//
18176	// RelationalDatabaseName is a required field
18177	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18178}
18179
18180// String returns the string representation
18181func (s GetRelationalDatabaseLogStreamsInput) String() string {
18182	return awsutil.Prettify(s)
18183}
18184
18185// GoString returns the string representation
18186func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
18187	return s.String()
18188}
18189
18190// Validate inspects the fields of the type to determine if they are valid.
18191func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
18192	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
18193	if s.RelationalDatabaseName == nil {
18194		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18195	}
18196
18197	if invalidParams.Len() > 0 {
18198		return invalidParams
18199	}
18200	return nil
18201}
18202
18203// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18204func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
18205	s.RelationalDatabaseName = &v
18206	return s
18207}
18208
18209type GetRelationalDatabaseLogStreamsOutput struct {
18210	_ struct{} `type:"structure"`
18211
18212	// An object describing the result of your get relational database log streams
18213	// request.
18214	LogStreams []*string `locationName:"logStreams" type:"list"`
18215}
18216
18217// String returns the string representation
18218func (s GetRelationalDatabaseLogStreamsOutput) String() string {
18219	return awsutil.Prettify(s)
18220}
18221
18222// GoString returns the string representation
18223func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
18224	return s.String()
18225}
18226
18227// SetLogStreams sets the LogStreams field's value.
18228func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
18229	s.LogStreams = v
18230	return s
18231}
18232
18233type GetRelationalDatabaseMasterUserPasswordInput struct {
18234	_ struct{} `type:"structure"`
18235
18236	// The password version to return.
18237	//
18238	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
18239	// respectively. Specifying PENDING returns the newest version of the password
18240	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
18241	// the PENDING password is no longer available.
18242	//
18243	// Default: CURRENT
18244	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
18245
18246	// The name of your database for which to get the master user password.
18247	//
18248	// RelationalDatabaseName is a required field
18249	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18250}
18251
18252// String returns the string representation
18253func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
18254	return awsutil.Prettify(s)
18255}
18256
18257// GoString returns the string representation
18258func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
18259	return s.String()
18260}
18261
18262// Validate inspects the fields of the type to determine if they are valid.
18263func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
18264	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
18265	if s.RelationalDatabaseName == nil {
18266		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18267	}
18268
18269	if invalidParams.Len() > 0 {
18270		return invalidParams
18271	}
18272	return nil
18273}
18274
18275// SetPasswordVersion sets the PasswordVersion field's value.
18276func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
18277	s.PasswordVersion = &v
18278	return s
18279}
18280
18281// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18282func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
18283	s.RelationalDatabaseName = &v
18284	return s
18285}
18286
18287type GetRelationalDatabaseMasterUserPasswordOutput struct {
18288	_ struct{} `type:"structure"`
18289
18290	// The timestamp when the specified version of the master user password was
18291	// created.
18292	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18293
18294	// The master user password for the password version specified.
18295	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
18296}
18297
18298// String returns the string representation
18299func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
18300	return awsutil.Prettify(s)
18301}
18302
18303// GoString returns the string representation
18304func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
18305	return s.String()
18306}
18307
18308// SetCreatedAt sets the CreatedAt field's value.
18309func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
18310	s.CreatedAt = &v
18311	return s
18312}
18313
18314// SetMasterUserPassword sets the MasterUserPassword field's value.
18315func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
18316	s.MasterUserPassword = &v
18317	return s
18318}
18319
18320type GetRelationalDatabaseMetricDataInput struct {
18321	_ struct{} `type:"structure"`
18322
18323	// The end of the time interval from which to get metric data.
18324	//
18325	// Constraints:
18326	//
18327	//    * Specified in Universal Coordinated Time (UTC).
18328	//
18329	//    * Specified in the Unix time format. For example, if you wish to use an
18330	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
18331	//    the end time.
18332	//
18333	// EndTime is a required field
18334	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
18335
18336	// The name of the metric data to return.
18337	//
18338	// MetricName is a required field
18339	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
18340
18341	// The granularity, in seconds, of the returned data points.
18342	//
18343	// Period is a required field
18344	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
18345
18346	// The name of your database from which to get metric data.
18347	//
18348	// RelationalDatabaseName is a required field
18349	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18350
18351	// The start of the time interval from which to get metric data.
18352	//
18353	// Constraints:
18354	//
18355	//    * Specified in Universal Coordinated Time (UTC).
18356	//
18357	//    * Specified in the Unix time format. For example, if you wish to use a
18358	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
18359	//    as the start time.
18360	//
18361	// StartTime is a required field
18362	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
18363
18364	// The array of statistics for your metric data request.
18365	//
18366	// Statistics is a required field
18367	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
18368
18369	// The unit for the metric data request.
18370	//
18371	// Unit is a required field
18372	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
18373}
18374
18375// String returns the string representation
18376func (s GetRelationalDatabaseMetricDataInput) String() string {
18377	return awsutil.Prettify(s)
18378}
18379
18380// GoString returns the string representation
18381func (s GetRelationalDatabaseMetricDataInput) GoString() string {
18382	return s.String()
18383}
18384
18385// Validate inspects the fields of the type to determine if they are valid.
18386func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
18387	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
18388	if s.EndTime == nil {
18389		invalidParams.Add(request.NewErrParamRequired("EndTime"))
18390	}
18391	if s.MetricName == nil {
18392		invalidParams.Add(request.NewErrParamRequired("MetricName"))
18393	}
18394	if s.Period == nil {
18395		invalidParams.Add(request.NewErrParamRequired("Period"))
18396	}
18397	if s.Period != nil && *s.Period < 60 {
18398		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
18399	}
18400	if s.RelationalDatabaseName == nil {
18401		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18402	}
18403	if s.StartTime == nil {
18404		invalidParams.Add(request.NewErrParamRequired("StartTime"))
18405	}
18406	if s.Statistics == nil {
18407		invalidParams.Add(request.NewErrParamRequired("Statistics"))
18408	}
18409	if s.Unit == nil {
18410		invalidParams.Add(request.NewErrParamRequired("Unit"))
18411	}
18412
18413	if invalidParams.Len() > 0 {
18414		return invalidParams
18415	}
18416	return nil
18417}
18418
18419// SetEndTime sets the EndTime field's value.
18420func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
18421	s.EndTime = &v
18422	return s
18423}
18424
18425// SetMetricName sets the MetricName field's value.
18426func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
18427	s.MetricName = &v
18428	return s
18429}
18430
18431// SetPeriod sets the Period field's value.
18432func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
18433	s.Period = &v
18434	return s
18435}
18436
18437// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18438func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
18439	s.RelationalDatabaseName = &v
18440	return s
18441}
18442
18443// SetStartTime sets the StartTime field's value.
18444func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
18445	s.StartTime = &v
18446	return s
18447}
18448
18449// SetStatistics sets the Statistics field's value.
18450func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
18451	s.Statistics = v
18452	return s
18453}
18454
18455// SetUnit sets the Unit field's value.
18456func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
18457	s.Unit = &v
18458	return s
18459}
18460
18461type GetRelationalDatabaseMetricDataOutput struct {
18462	_ struct{} `type:"structure"`
18463
18464	// An object describing the result of your get relational database metric data
18465	// request.
18466	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
18467
18468	// The name of the metric.
18469	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
18470}
18471
18472// String returns the string representation
18473func (s GetRelationalDatabaseMetricDataOutput) String() string {
18474	return awsutil.Prettify(s)
18475}
18476
18477// GoString returns the string representation
18478func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
18479	return s.String()
18480}
18481
18482// SetMetricData sets the MetricData field's value.
18483func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
18484	s.MetricData = v
18485	return s
18486}
18487
18488// SetMetricName sets the MetricName field's value.
18489func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
18490	s.MetricName = &v
18491	return s
18492}
18493
18494type GetRelationalDatabaseOutput struct {
18495	_ struct{} `type:"structure"`
18496
18497	// An object describing the specified database.
18498	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
18499}
18500
18501// String returns the string representation
18502func (s GetRelationalDatabaseOutput) String() string {
18503	return awsutil.Prettify(s)
18504}
18505
18506// GoString returns the string representation
18507func (s GetRelationalDatabaseOutput) GoString() string {
18508	return s.String()
18509}
18510
18511// SetRelationalDatabase sets the RelationalDatabase field's value.
18512func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
18513	s.RelationalDatabase = v
18514	return s
18515}
18516
18517type GetRelationalDatabaseParametersInput struct {
18518	_ struct{} `type:"structure"`
18519
18520	// A token used for advancing to a specific page of results for your get relational
18521	// database parameters request.
18522	PageToken *string `locationName:"pageToken" type:"string"`
18523
18524	// The name of your database for which to get parameters.
18525	//
18526	// RelationalDatabaseName is a required field
18527	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18528}
18529
18530// String returns the string representation
18531func (s GetRelationalDatabaseParametersInput) String() string {
18532	return awsutil.Prettify(s)
18533}
18534
18535// GoString returns the string representation
18536func (s GetRelationalDatabaseParametersInput) GoString() string {
18537	return s.String()
18538}
18539
18540// Validate inspects the fields of the type to determine if they are valid.
18541func (s *GetRelationalDatabaseParametersInput) Validate() error {
18542	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
18543	if s.RelationalDatabaseName == nil {
18544		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18545	}
18546
18547	if invalidParams.Len() > 0 {
18548		return invalidParams
18549	}
18550	return nil
18551}
18552
18553// SetPageToken sets the PageToken field's value.
18554func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
18555	s.PageToken = &v
18556	return s
18557}
18558
18559// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18560func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
18561	s.RelationalDatabaseName = &v
18562	return s
18563}
18564
18565type GetRelationalDatabaseParametersOutput struct {
18566	_ struct{} `type:"structure"`
18567
18568	// A token used for advancing to the next page of results from your get static
18569	// IPs request.
18570	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18571
18572	// An object describing the result of your get relational database parameters
18573	// request.
18574	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
18575}
18576
18577// String returns the string representation
18578func (s GetRelationalDatabaseParametersOutput) String() string {
18579	return awsutil.Prettify(s)
18580}
18581
18582// GoString returns the string representation
18583func (s GetRelationalDatabaseParametersOutput) GoString() string {
18584	return s.String()
18585}
18586
18587// SetNextPageToken sets the NextPageToken field's value.
18588func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
18589	s.NextPageToken = &v
18590	return s
18591}
18592
18593// SetParameters sets the Parameters field's value.
18594func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
18595	s.Parameters = v
18596	return s
18597}
18598
18599type GetRelationalDatabaseSnapshotInput struct {
18600	_ struct{} `type:"structure"`
18601
18602	// The name of the database snapshot for which to get information.
18603	//
18604	// RelationalDatabaseSnapshotName is a required field
18605	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
18606}
18607
18608// String returns the string representation
18609func (s GetRelationalDatabaseSnapshotInput) String() string {
18610	return awsutil.Prettify(s)
18611}
18612
18613// GoString returns the string representation
18614func (s GetRelationalDatabaseSnapshotInput) GoString() string {
18615	return s.String()
18616}
18617
18618// Validate inspects the fields of the type to determine if they are valid.
18619func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
18620	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
18621	if s.RelationalDatabaseSnapshotName == nil {
18622		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
18623	}
18624
18625	if invalidParams.Len() > 0 {
18626		return invalidParams
18627	}
18628	return nil
18629}
18630
18631// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
18632func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
18633	s.RelationalDatabaseSnapshotName = &v
18634	return s
18635}
18636
18637type GetRelationalDatabaseSnapshotOutput struct {
18638	_ struct{} `type:"structure"`
18639
18640	// An object describing the specified database snapshot.
18641	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
18642}
18643
18644// String returns the string representation
18645func (s GetRelationalDatabaseSnapshotOutput) String() string {
18646	return awsutil.Prettify(s)
18647}
18648
18649// GoString returns the string representation
18650func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
18651	return s.String()
18652}
18653
18654// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
18655func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
18656	s.RelationalDatabaseSnapshot = v
18657	return s
18658}
18659
18660type GetRelationalDatabaseSnapshotsInput struct {
18661	_ struct{} `type:"structure"`
18662
18663	// A token used for advancing to a specific page of results for your get relational
18664	// database snapshots request.
18665	PageToken *string `locationName:"pageToken" type:"string"`
18666}
18667
18668// String returns the string representation
18669func (s GetRelationalDatabaseSnapshotsInput) String() string {
18670	return awsutil.Prettify(s)
18671}
18672
18673// GoString returns the string representation
18674func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
18675	return s.String()
18676}
18677
18678// SetPageToken sets the PageToken field's value.
18679func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
18680	s.PageToken = &v
18681	return s
18682}
18683
18684type GetRelationalDatabaseSnapshotsOutput struct {
18685	_ struct{} `type:"structure"`
18686
18687	// A token used for advancing to the next page of results from your get relational
18688	// database snapshots request.
18689	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18690
18691	// An object describing the result of your get relational database snapshots
18692	// request.
18693	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
18694}
18695
18696// String returns the string representation
18697func (s GetRelationalDatabaseSnapshotsOutput) String() string {
18698	return awsutil.Prettify(s)
18699}
18700
18701// GoString returns the string representation
18702func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
18703	return s.String()
18704}
18705
18706// SetNextPageToken sets the NextPageToken field's value.
18707func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
18708	s.NextPageToken = &v
18709	return s
18710}
18711
18712// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
18713func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
18714	s.RelationalDatabaseSnapshots = v
18715	return s
18716}
18717
18718type GetRelationalDatabasesInput struct {
18719	_ struct{} `type:"structure"`
18720
18721	// A token used for advancing to a specific page of results for your get relational
18722	// database request.
18723	PageToken *string `locationName:"pageToken" type:"string"`
18724}
18725
18726// String returns the string representation
18727func (s GetRelationalDatabasesInput) String() string {
18728	return awsutil.Prettify(s)
18729}
18730
18731// GoString returns the string representation
18732func (s GetRelationalDatabasesInput) GoString() string {
18733	return s.String()
18734}
18735
18736// SetPageToken sets the PageToken field's value.
18737func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
18738	s.PageToken = &v
18739	return s
18740}
18741
18742type GetRelationalDatabasesOutput struct {
18743	_ struct{} `type:"structure"`
18744
18745	// A token used for advancing to the next page of results from your get relational
18746	// databases request.
18747	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18748
18749	// An object describing the result of your get relational databases request.
18750	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
18751}
18752
18753// String returns the string representation
18754func (s GetRelationalDatabasesOutput) String() string {
18755	return awsutil.Prettify(s)
18756}
18757
18758// GoString returns the string representation
18759func (s GetRelationalDatabasesOutput) GoString() string {
18760	return s.String()
18761}
18762
18763// SetNextPageToken sets the NextPageToken field's value.
18764func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
18765	s.NextPageToken = &v
18766	return s
18767}
18768
18769// SetRelationalDatabases sets the RelationalDatabases field's value.
18770func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
18771	s.RelationalDatabases = v
18772	return s
18773}
18774
18775type GetStaticIpInput struct {
18776	_ struct{} `type:"structure"`
18777
18778	// The name of the static IP in Lightsail.
18779	//
18780	// StaticIpName is a required field
18781	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
18782}
18783
18784// String returns the string representation
18785func (s GetStaticIpInput) String() string {
18786	return awsutil.Prettify(s)
18787}
18788
18789// GoString returns the string representation
18790func (s GetStaticIpInput) GoString() string {
18791	return s.String()
18792}
18793
18794// Validate inspects the fields of the type to determine if they are valid.
18795func (s *GetStaticIpInput) Validate() error {
18796	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
18797	if s.StaticIpName == nil {
18798		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
18799	}
18800
18801	if invalidParams.Len() > 0 {
18802		return invalidParams
18803	}
18804	return nil
18805}
18806
18807// SetStaticIpName sets the StaticIpName field's value.
18808func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
18809	s.StaticIpName = &v
18810	return s
18811}
18812
18813type GetStaticIpOutput struct {
18814	_ struct{} `type:"structure"`
18815
18816	// An array of key-value pairs containing information about the requested static
18817	// IP.
18818	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
18819}
18820
18821// String returns the string representation
18822func (s GetStaticIpOutput) String() string {
18823	return awsutil.Prettify(s)
18824}
18825
18826// GoString returns the string representation
18827func (s GetStaticIpOutput) GoString() string {
18828	return s.String()
18829}
18830
18831// SetStaticIp sets the StaticIp field's value.
18832func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
18833	s.StaticIp = v
18834	return s
18835}
18836
18837type GetStaticIpsInput struct {
18838	_ struct{} `type:"structure"`
18839
18840	// A token used for advancing to the next page of results from your get static
18841	// IPs request.
18842	PageToken *string `locationName:"pageToken" type:"string"`
18843}
18844
18845// String returns the string representation
18846func (s GetStaticIpsInput) String() string {
18847	return awsutil.Prettify(s)
18848}
18849
18850// GoString returns the string representation
18851func (s GetStaticIpsInput) GoString() string {
18852	return s.String()
18853}
18854
18855// SetPageToken sets the PageToken field's value.
18856func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
18857	s.PageToken = &v
18858	return s
18859}
18860
18861type GetStaticIpsOutput struct {
18862	_ struct{} `type:"structure"`
18863
18864	// A token used for advancing to the next page of results from your get static
18865	// IPs request.
18866	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18867
18868	// An array of key-value pairs containing information about your get static
18869	// IPs request.
18870	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
18871}
18872
18873// String returns the string representation
18874func (s GetStaticIpsOutput) String() string {
18875	return awsutil.Prettify(s)
18876}
18877
18878// GoString returns the string representation
18879func (s GetStaticIpsOutput) GoString() string {
18880	return s.String()
18881}
18882
18883// SetNextPageToken sets the NextPageToken field's value.
18884func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
18885	s.NextPageToken = &v
18886	return s
18887}
18888
18889// SetStaticIps sets the StaticIps field's value.
18890func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
18891	s.StaticIps = v
18892	return s
18893}
18894
18895// Describes the public SSH host keys or the RDP certificate.
18896type HostKeyAttributes struct {
18897	_ struct{} `type:"structure"`
18898
18899	// The SSH host key algorithm or the RDP certificate format.
18900	//
18901	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
18902	// etc. For RDP certificates, the algorithm is always x509-cert.
18903	Algorithm *string `locationName:"algorithm" type:"string"`
18904
18905	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
18906	//
18907	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
18908	//
18909	//    * 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
18910	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
18911
18912	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
18913	//
18914	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
18915	//
18916	//    * 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
18917	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
18918
18919	// The returned RDP certificate is not valid after this point in time.
18920	//
18921	// This value is listed only for RDP certificates.
18922	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
18923
18924	// The returned RDP certificate is valid after this point in time.
18925	//
18926	// This value is listed only for RDP certificates.
18927	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
18928
18929	// The public SSH host key or the RDP certificate.
18930	PublicKey *string `locationName:"publicKey" type:"string"`
18931
18932	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
18933	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
18934}
18935
18936// String returns the string representation
18937func (s HostKeyAttributes) String() string {
18938	return awsutil.Prettify(s)
18939}
18940
18941// GoString returns the string representation
18942func (s HostKeyAttributes) GoString() string {
18943	return s.String()
18944}
18945
18946// SetAlgorithm sets the Algorithm field's value.
18947func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
18948	s.Algorithm = &v
18949	return s
18950}
18951
18952// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
18953func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
18954	s.FingerprintSHA1 = &v
18955	return s
18956}
18957
18958// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
18959func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
18960	s.FingerprintSHA256 = &v
18961	return s
18962}
18963
18964// SetNotValidAfter sets the NotValidAfter field's value.
18965func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
18966	s.NotValidAfter = &v
18967	return s
18968}
18969
18970// SetNotValidBefore sets the NotValidBefore field's value.
18971func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
18972	s.NotValidBefore = &v
18973	return s
18974}
18975
18976// SetPublicKey sets the PublicKey field's value.
18977func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
18978	s.PublicKey = &v
18979	return s
18980}
18981
18982// SetWitnessedAt sets the WitnessedAt field's value.
18983func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
18984	s.WitnessedAt = &v
18985	return s
18986}
18987
18988type ImportKeyPairInput struct {
18989	_ struct{} `type:"structure"`
18990
18991	// The name of the key pair for which you want to import the public key.
18992	//
18993	// KeyPairName is a required field
18994	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
18995
18996	// A base64-encoded public key of the ssh-rsa type.
18997	//
18998	// PublicKeyBase64 is a required field
18999	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
19000}
19001
19002// String returns the string representation
19003func (s ImportKeyPairInput) String() string {
19004	return awsutil.Prettify(s)
19005}
19006
19007// GoString returns the string representation
19008func (s ImportKeyPairInput) GoString() string {
19009	return s.String()
19010}
19011
19012// Validate inspects the fields of the type to determine if they are valid.
19013func (s *ImportKeyPairInput) Validate() error {
19014	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
19015	if s.KeyPairName == nil {
19016		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
19017	}
19018	if s.PublicKeyBase64 == nil {
19019		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
19020	}
19021
19022	if invalidParams.Len() > 0 {
19023		return invalidParams
19024	}
19025	return nil
19026}
19027
19028// SetKeyPairName sets the KeyPairName field's value.
19029func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
19030	s.KeyPairName = &v
19031	return s
19032}
19033
19034// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
19035func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
19036	s.PublicKeyBase64 = &v
19037	return s
19038}
19039
19040type ImportKeyPairOutput struct {
19041	_ struct{} `type:"structure"`
19042
19043	// An array of key-value pairs containing information about the request operation.
19044	Operation *Operation `locationName:"operation" type:"structure"`
19045}
19046
19047// String returns the string representation
19048func (s ImportKeyPairOutput) String() string {
19049	return awsutil.Prettify(s)
19050}
19051
19052// GoString returns the string representation
19053func (s ImportKeyPairOutput) GoString() string {
19054	return s.String()
19055}
19056
19057// SetOperation sets the Operation field's value.
19058func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
19059	s.Operation = v
19060	return s
19061}
19062
19063// Describes an instance (a virtual private server).
19064type Instance struct {
19065	_ struct{} `type:"structure"`
19066
19067	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
19068	Arn *string `locationName:"arn" type:"string"`
19069
19070	// The blueprint ID (e.g., os_amlinux_2016_03).
19071	BlueprintId *string `locationName:"blueprintId" type:"string"`
19072
19073	// The friendly name of the blueprint (e.g., Amazon Linux).
19074	BlueprintName *string `locationName:"blueprintName" type:"string"`
19075
19076	// The bundle for the instance (e.g., micro_1_0).
19077	BundleId *string `locationName:"bundleId" type:"string"`
19078
19079	// The timestamp when the instance was created (e.g., 1479734909.17).
19080	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19081
19082	// The size of the vCPU and the amount of RAM for the instance.
19083	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
19084
19085	// The IPv6 address of the instance.
19086	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
19087
19088	// A Boolean value indicating whether this instance has a static IP assigned
19089	// to it.
19090	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
19091
19092	// The region name and Availability Zone where the instance is located.
19093	Location *ResourceLocation `locationName:"location" type:"structure"`
19094
19095	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
19096	Name *string `locationName:"name" type:"string"`
19097
19098	// Information about the public ports and monthly data transfer rates for the
19099	// instance.
19100	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
19101
19102	// The private IP address of the instance.
19103	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
19104
19105	// The public IP address of the instance.
19106	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
19107
19108	// The type of resource (usually Instance).
19109	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19110
19111	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
19112	SshKeyName *string `locationName:"sshKeyName" type:"string"`
19113
19114	// The status code and the state (e.g., running) for the instance.
19115	State *InstanceState `locationName:"state" type:"structure"`
19116
19117	// The support code. Include this code in your email to support when you have
19118	// questions about an instance or another resource in Lightsail. This code enables
19119	// our support team to look up your Lightsail information more easily.
19120	SupportCode *string `locationName:"supportCode" type:"string"`
19121
19122	// The tag keys and optional values for the resource. For more information about
19123	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
19124	Tags []*Tag `locationName:"tags" type:"list"`
19125
19126	// The user name for connecting to the instance (e.g., ec2-user).
19127	Username *string `locationName:"username" type:"string"`
19128}
19129
19130// String returns the string representation
19131func (s Instance) String() string {
19132	return awsutil.Prettify(s)
19133}
19134
19135// GoString returns the string representation
19136func (s Instance) GoString() string {
19137	return s.String()
19138}
19139
19140// SetArn sets the Arn field's value.
19141func (s *Instance) SetArn(v string) *Instance {
19142	s.Arn = &v
19143	return s
19144}
19145
19146// SetBlueprintId sets the BlueprintId field's value.
19147func (s *Instance) SetBlueprintId(v string) *Instance {
19148	s.BlueprintId = &v
19149	return s
19150}
19151
19152// SetBlueprintName sets the BlueprintName field's value.
19153func (s *Instance) SetBlueprintName(v string) *Instance {
19154	s.BlueprintName = &v
19155	return s
19156}
19157
19158// SetBundleId sets the BundleId field's value.
19159func (s *Instance) SetBundleId(v string) *Instance {
19160	s.BundleId = &v
19161	return s
19162}
19163
19164// SetCreatedAt sets the CreatedAt field's value.
19165func (s *Instance) SetCreatedAt(v time.Time) *Instance {
19166	s.CreatedAt = &v
19167	return s
19168}
19169
19170// SetHardware sets the Hardware field's value.
19171func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
19172	s.Hardware = v
19173	return s
19174}
19175
19176// SetIpv6Address sets the Ipv6Address field's value.
19177func (s *Instance) SetIpv6Address(v string) *Instance {
19178	s.Ipv6Address = &v
19179	return s
19180}
19181
19182// SetIsStaticIp sets the IsStaticIp field's value.
19183func (s *Instance) SetIsStaticIp(v bool) *Instance {
19184	s.IsStaticIp = &v
19185	return s
19186}
19187
19188// SetLocation sets the Location field's value.
19189func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
19190	s.Location = v
19191	return s
19192}
19193
19194// SetName sets the Name field's value.
19195func (s *Instance) SetName(v string) *Instance {
19196	s.Name = &v
19197	return s
19198}
19199
19200// SetNetworking sets the Networking field's value.
19201func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
19202	s.Networking = v
19203	return s
19204}
19205
19206// SetPrivateIpAddress sets the PrivateIpAddress field's value.
19207func (s *Instance) SetPrivateIpAddress(v string) *Instance {
19208	s.PrivateIpAddress = &v
19209	return s
19210}
19211
19212// SetPublicIpAddress sets the PublicIpAddress field's value.
19213func (s *Instance) SetPublicIpAddress(v string) *Instance {
19214	s.PublicIpAddress = &v
19215	return s
19216}
19217
19218// SetResourceType sets the ResourceType field's value.
19219func (s *Instance) SetResourceType(v string) *Instance {
19220	s.ResourceType = &v
19221	return s
19222}
19223
19224// SetSshKeyName sets the SshKeyName field's value.
19225func (s *Instance) SetSshKeyName(v string) *Instance {
19226	s.SshKeyName = &v
19227	return s
19228}
19229
19230// SetState sets the State field's value.
19231func (s *Instance) SetState(v *InstanceState) *Instance {
19232	s.State = v
19233	return s
19234}
19235
19236// SetSupportCode sets the SupportCode field's value.
19237func (s *Instance) SetSupportCode(v string) *Instance {
19238	s.SupportCode = &v
19239	return s
19240}
19241
19242// SetTags sets the Tags field's value.
19243func (s *Instance) SetTags(v []*Tag) *Instance {
19244	s.Tags = v
19245	return s
19246}
19247
19248// SetUsername sets the Username field's value.
19249func (s *Instance) SetUsername(v string) *Instance {
19250	s.Username = &v
19251	return s
19252}
19253
19254// The parameters for gaining temporary access to one of your Amazon Lightsail
19255// instances.
19256type InstanceAccessDetails struct {
19257	_ struct{} `type:"structure"`
19258
19259	// For SSH access, the public key to use when accessing your instance For OpenSSH
19260	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
19261	CertKey *string `locationName:"certKey" type:"string"`
19262
19263	// For SSH access, the date on which the temporary keys expire.
19264	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
19265
19266	// Describes the public SSH host keys or the RDP certificate.
19267	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
19268
19269	// The name of this Amazon Lightsail instance.
19270	InstanceName *string `locationName:"instanceName" type:"string"`
19271
19272	// The public IP address of the Amazon Lightsail instance.
19273	IpAddress *string `locationName:"ipAddress" type:"string"`
19274
19275	// For RDP access, the password for your Amazon Lightsail instance. Password
19276	// will be an empty string if the password for your new instance is not ready
19277	// yet. When you create an instance, it can take up to 15 minutes for the instance
19278	// to be ready.
19279	//
19280	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
19281	// password will always be an empty string.
19282	//
19283	// If you change the Administrator password on the instance, Lightsail will
19284	// continue to return the original password value. When accessing the instance
19285	// using RDP, you need to manually enter the Administrator password after changing
19286	// it from the default.
19287	Password *string `locationName:"password" type:"string"`
19288
19289	// For a Windows Server-based instance, an object with the data you can use
19290	// to retrieve your password. This is only needed if password is empty and the
19291	// instance is not new (and therefore the password is not ready yet). When you
19292	// create an instance, it can take up to 15 minutes for the instance to be ready.
19293	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
19294
19295	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
19296	// line SSH), you should save this value to tempkey).
19297	PrivateKey *string `locationName:"privateKey" type:"string"`
19298
19299	// The protocol for these Amazon Lightsail instance access details.
19300	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
19301
19302	// The user name to use when logging in to the Amazon Lightsail instance.
19303	Username *string `locationName:"username" type:"string"`
19304}
19305
19306// String returns the string representation
19307func (s InstanceAccessDetails) String() string {
19308	return awsutil.Prettify(s)
19309}
19310
19311// GoString returns the string representation
19312func (s InstanceAccessDetails) GoString() string {
19313	return s.String()
19314}
19315
19316// SetCertKey sets the CertKey field's value.
19317func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
19318	s.CertKey = &v
19319	return s
19320}
19321
19322// SetExpiresAt sets the ExpiresAt field's value.
19323func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
19324	s.ExpiresAt = &v
19325	return s
19326}
19327
19328// SetHostKeys sets the HostKeys field's value.
19329func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
19330	s.HostKeys = v
19331	return s
19332}
19333
19334// SetInstanceName sets the InstanceName field's value.
19335func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
19336	s.InstanceName = &v
19337	return s
19338}
19339
19340// SetIpAddress sets the IpAddress field's value.
19341func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
19342	s.IpAddress = &v
19343	return s
19344}
19345
19346// SetPassword sets the Password field's value.
19347func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
19348	s.Password = &v
19349	return s
19350}
19351
19352// SetPasswordData sets the PasswordData field's value.
19353func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
19354	s.PasswordData = v
19355	return s
19356}
19357
19358// SetPrivateKey sets the PrivateKey field's value.
19359func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
19360	s.PrivateKey = &v
19361	return s
19362}
19363
19364// SetProtocol sets the Protocol field's value.
19365func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
19366	s.Protocol = &v
19367	return s
19368}
19369
19370// SetUsername sets the Username field's value.
19371func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
19372	s.Username = &v
19373	return s
19374}
19375
19376// Describes the Amazon Elastic Compute Cloud instance and related resources
19377// to be created using the create cloud formation stack operation.
19378type InstanceEntry struct {
19379	_ struct{} `type:"structure"`
19380
19381	// The Availability Zone for the new Amazon EC2 instance.
19382	//
19383	// AvailabilityZone is a required field
19384	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19385
19386	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
19387	//
19388	// InstanceType is a required field
19389	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
19390
19391	// The port configuration to use for the new Amazon EC2 instance.
19392	//
19393	// The following configuration options are available:
19394	//
19395	//    * DEFAULT — Use the default firewall settings from the image.
19396	//
19397	//    * INSTANCE — Use the firewall settings from the source Lightsail instance.
19398	//
19399	//    * NONE — Default to Amazon EC2.
19400	//
19401	//    * CLOSED — All ports closed.
19402	//
19403	// PortInfoSource is a required field
19404	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
19405
19406	// The name of the export snapshot record, which contains the exported Lightsail
19407	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
19408	//
19409	// Use the get export snapshot records operation to get a list of export snapshot
19410	// records that you can use to create a CloudFormation stack.
19411	//
19412	// SourceName is a required field
19413	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
19414
19415	// A launch script you can create that configures a server with additional user
19416	// data. For example, you might want to run apt-get -y update.
19417	//
19418	// Depending on the machine image you choose, the command to get software on
19419	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
19420	// use apt-get, and FreeBSD uses pkg.
19421	UserData *string `locationName:"userData" type:"string"`
19422}
19423
19424// String returns the string representation
19425func (s InstanceEntry) String() string {
19426	return awsutil.Prettify(s)
19427}
19428
19429// GoString returns the string representation
19430func (s InstanceEntry) GoString() string {
19431	return s.String()
19432}
19433
19434// Validate inspects the fields of the type to determine if they are valid.
19435func (s *InstanceEntry) Validate() error {
19436	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
19437	if s.AvailabilityZone == nil {
19438		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
19439	}
19440	if s.InstanceType == nil {
19441		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
19442	}
19443	if s.PortInfoSource == nil {
19444		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
19445	}
19446	if s.SourceName == nil {
19447		invalidParams.Add(request.NewErrParamRequired("SourceName"))
19448	}
19449
19450	if invalidParams.Len() > 0 {
19451		return invalidParams
19452	}
19453	return nil
19454}
19455
19456// SetAvailabilityZone sets the AvailabilityZone field's value.
19457func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
19458	s.AvailabilityZone = &v
19459	return s
19460}
19461
19462// SetInstanceType sets the InstanceType field's value.
19463func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
19464	s.InstanceType = &v
19465	return s
19466}
19467
19468// SetPortInfoSource sets the PortInfoSource field's value.
19469func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
19470	s.PortInfoSource = &v
19471	return s
19472}
19473
19474// SetSourceName sets the SourceName field's value.
19475func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
19476	s.SourceName = &v
19477	return s
19478}
19479
19480// SetUserData sets the UserData field's value.
19481func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
19482	s.UserData = &v
19483	return s
19484}
19485
19486// Describes the hardware for the instance.
19487type InstanceHardware struct {
19488	_ struct{} `type:"structure"`
19489
19490	// The number of vCPUs the instance has.
19491	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
19492
19493	// The disks attached to the instance.
19494	Disks []*Disk `locationName:"disks" type:"list"`
19495
19496	// The amount of RAM in GB on the instance (e.g., 1.0).
19497	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
19498}
19499
19500// String returns the string representation
19501func (s InstanceHardware) String() string {
19502	return awsutil.Prettify(s)
19503}
19504
19505// GoString returns the string representation
19506func (s InstanceHardware) GoString() string {
19507	return s.String()
19508}
19509
19510// SetCpuCount sets the CpuCount field's value.
19511func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
19512	s.CpuCount = &v
19513	return s
19514}
19515
19516// SetDisks sets the Disks field's value.
19517func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
19518	s.Disks = v
19519	return s
19520}
19521
19522// SetRamSizeInGb sets the RamSizeInGb field's value.
19523func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
19524	s.RamSizeInGb = &v
19525	return s
19526}
19527
19528// Describes information about the health of the instance.
19529type InstanceHealthSummary struct {
19530	_ struct{} `type:"structure"`
19531
19532	// Describes the overall instance health. Valid values are below.
19533	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
19534
19535	// More information about the instance health. If the instanceHealth is healthy,
19536	// then an instanceHealthReason value is not provided.
19537	//
19538	// If instanceHealth is initial, the instanceHealthReason value can be one of
19539	// the following:
19540	//
19541	//    * Lb.RegistrationInProgress - The target instance is in the process of
19542	//    being registered with the load balancer.
19543	//
19544	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
19545	//    the target instance the minimum number of health checks required to determine
19546	//    its health status.
19547	//
19548	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
19549	// of the following:
19550	//
19551	//    * Instance.ResponseCodeMismatch - The health checks did not return an
19552	//    expected HTTP code.
19553	//
19554	//    * Instance.Timeout - The health check requests timed out.
19555	//
19556	//    * Instance.FailedHealthChecks - The health checks failed because the connection
19557	//    to the target instance timed out, the target instance response was malformed,
19558	//    or the target instance failed the health check for an unknown reason.
19559	//
19560	//    * Lb.InternalError - The health checks failed due to an internal error.
19561	//
19562	// If instanceHealth is unused, the instanceHealthReason value can be one of
19563	// the following:
19564	//
19565	//    * Instance.NotRegistered - The target instance is not registered with
19566	//    the target group.
19567	//
19568	//    * Instance.NotInUse - The target group is not used by any load balancer,
19569	//    or the target instance is in an Availability Zone that is not enabled
19570	//    for its load balancer.
19571	//
19572	//    * Instance.IpUnusable - The target IP address is reserved for use by a
19573	//    Lightsail load balancer.
19574	//
19575	//    * Instance.InvalidState - The target is in the stopped or terminated state.
19576	//
19577	// If instanceHealth is draining, the instanceHealthReason value can be one
19578	// of the following:
19579	//
19580	//    * Instance.DeregistrationInProgress - The target instance is in the process
19581	//    of being deregistered and the deregistration delay period has not expired.
19582	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
19583
19584	// The name of the Lightsail instance for which you are requesting health check
19585	// data.
19586	InstanceName *string `locationName:"instanceName" type:"string"`
19587}
19588
19589// String returns the string representation
19590func (s InstanceHealthSummary) String() string {
19591	return awsutil.Prettify(s)
19592}
19593
19594// GoString returns the string representation
19595func (s InstanceHealthSummary) GoString() string {
19596	return s.String()
19597}
19598
19599// SetInstanceHealth sets the InstanceHealth field's value.
19600func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
19601	s.InstanceHealth = &v
19602	return s
19603}
19604
19605// SetInstanceHealthReason sets the InstanceHealthReason field's value.
19606func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
19607	s.InstanceHealthReason = &v
19608	return s
19609}
19610
19611// SetInstanceName sets the InstanceName field's value.
19612func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
19613	s.InstanceName = &v
19614	return s
19615}
19616
19617// Describes monthly data transfer rates and port information for an instance.
19618type InstanceNetworking struct {
19619	_ struct{} `type:"structure"`
19620
19621	// The amount of data in GB allocated for monthly data transfers.
19622	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
19623
19624	// An array of key-value pairs containing information about the ports on the
19625	// instance.
19626	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
19627}
19628
19629// String returns the string representation
19630func (s InstanceNetworking) String() string {
19631	return awsutil.Prettify(s)
19632}
19633
19634// GoString returns the string representation
19635func (s InstanceNetworking) GoString() string {
19636	return s.String()
19637}
19638
19639// SetMonthlyTransfer sets the MonthlyTransfer field's value.
19640func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
19641	s.MonthlyTransfer = v
19642	return s
19643}
19644
19645// SetPorts sets the Ports field's value.
19646func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
19647	s.Ports = v
19648	return s
19649}
19650
19651// Describes information about the instance ports.
19652type InstancePortInfo struct {
19653	_ struct{} `type:"structure"`
19654
19655	// The access direction (inbound or outbound).
19656	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
19657
19658	// The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)).
19659	AccessFrom *string `locationName:"accessFrom" type:"string"`
19660
19661	// The type of access (Public or Private).
19662	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
19663
19664	// The common name.
19665	CommonName *string `locationName:"commonName" type:"string"`
19666
19667	// The first port in the range.
19668	FromPort *int64 `locationName:"fromPort" type:"integer"`
19669
19670	// The protocol being used. Can be one of the following.
19671	//
19672	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
19673	//    and error-checked delivery of streamed data between applications running
19674	//    on hosts communicating by an IP network. If you have an application that
19675	//    doesn't require reliable data stream service, use UDP instead.
19676	//
19677	//    * all - All transport layer protocol types. For more general information,
19678	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
19679	//    Wikipedia.
19680	//
19681	//    * udp - With User Datagram Protocol (UDP), computer applications can send
19682	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
19683	//    Prior communications are not required to set up transmission channels
19684	//    or data paths. Applications that don't require reliable data stream service
19685	//    can use UDP, which provides a connectionless datagram service that emphasizes
19686	//    reduced latency over reliability. If you do require reliable data stream
19687	//    service, use TCP instead.
19688	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
19689
19690	// The last port in the range.
19691	ToPort *int64 `locationName:"toPort" type:"integer"`
19692}
19693
19694// String returns the string representation
19695func (s InstancePortInfo) String() string {
19696	return awsutil.Prettify(s)
19697}
19698
19699// GoString returns the string representation
19700func (s InstancePortInfo) GoString() string {
19701	return s.String()
19702}
19703
19704// SetAccessDirection sets the AccessDirection field's value.
19705func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
19706	s.AccessDirection = &v
19707	return s
19708}
19709
19710// SetAccessFrom sets the AccessFrom field's value.
19711func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
19712	s.AccessFrom = &v
19713	return s
19714}
19715
19716// SetAccessType sets the AccessType field's value.
19717func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
19718	s.AccessType = &v
19719	return s
19720}
19721
19722// SetCommonName sets the CommonName field's value.
19723func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
19724	s.CommonName = &v
19725	return s
19726}
19727
19728// SetFromPort sets the FromPort field's value.
19729func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
19730	s.FromPort = &v
19731	return s
19732}
19733
19734// SetProtocol sets the Protocol field's value.
19735func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
19736	s.Protocol = &v
19737	return s
19738}
19739
19740// SetToPort sets the ToPort field's value.
19741func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
19742	s.ToPort = &v
19743	return s
19744}
19745
19746// Describes the port state.
19747type InstancePortState struct {
19748	_ struct{} `type:"structure"`
19749
19750	// The first port in the range.
19751	FromPort *int64 `locationName:"fromPort" type:"integer"`
19752
19753	// The protocol being used. Can be one of the following.
19754	//
19755	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
19756	//    and error-checked delivery of streamed data between applications running
19757	//    on hosts communicating by an IP network. If you have an application that
19758	//    doesn't require reliable data stream service, use UDP instead.
19759	//
19760	//    * all - All transport layer protocol types. For more general information,
19761	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
19762	//    Wikipedia.
19763	//
19764	//    * udp - With User Datagram Protocol (UDP), computer applications can send
19765	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
19766	//    Prior communications are not required to set up transmission channels
19767	//    or data paths. Applications that don't require reliable data stream service
19768	//    can use UDP, which provides a connectionless datagram service that emphasizes
19769	//    reduced latency over reliability. If you do require reliable data stream
19770	//    service, use TCP instead.
19771	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
19772
19773	// Specifies whether the instance port is open or closed.
19774	State *string `locationName:"state" type:"string" enum:"PortState"`
19775
19776	// The last port in the range.
19777	ToPort *int64 `locationName:"toPort" type:"integer"`
19778}
19779
19780// String returns the string representation
19781func (s InstancePortState) String() string {
19782	return awsutil.Prettify(s)
19783}
19784
19785// GoString returns the string representation
19786func (s InstancePortState) GoString() string {
19787	return s.String()
19788}
19789
19790// SetFromPort sets the FromPort field's value.
19791func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
19792	s.FromPort = &v
19793	return s
19794}
19795
19796// SetProtocol sets the Protocol field's value.
19797func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
19798	s.Protocol = &v
19799	return s
19800}
19801
19802// SetState sets the State field's value.
19803func (s *InstancePortState) SetState(v string) *InstancePortState {
19804	s.State = &v
19805	return s
19806}
19807
19808// SetToPort sets the ToPort field's value.
19809func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
19810	s.ToPort = &v
19811	return s
19812}
19813
19814// Describes the snapshot of the virtual private server, or instance.
19815type InstanceSnapshot struct {
19816	_ struct{} `type:"structure"`
19817
19818	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
19819	Arn *string `locationName:"arn" type:"string"`
19820
19821	// The timestamp when the snapshot was created (e.g., 1479907467.024).
19822	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19823
19824	// An array of disk objects containing information about all block storage disks.
19825	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
19826
19827	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
19828	// A blueprint is a virtual private server (or instance) image used to create
19829	// instances quickly.
19830	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
19831
19832	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
19833	FromBundleId *string `locationName:"fromBundleId" type:"string"`
19834
19835	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
19836	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
19837	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
19838
19839	// The instance from which the snapshot was created.
19840	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
19841
19842	// The region name and Availability Zone where you created the snapshot.
19843	Location *ResourceLocation `locationName:"location" type:"structure"`
19844
19845	// The name of the snapshot.
19846	Name *string `locationName:"name" type:"string"`
19847
19848	// The progress of the snapshot.
19849	Progress *string `locationName:"progress" type:"string"`
19850
19851	// The type of resource (usually InstanceSnapshot).
19852	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19853
19854	// The size in GB of the SSD.
19855	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
19856
19857	// The state the snapshot is in.
19858	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
19859
19860	// The support code. Include this code in your email to support when you have
19861	// questions about an instance or another resource in Lightsail. This code enables
19862	// our support team to look up your Lightsail information more easily.
19863	SupportCode *string `locationName:"supportCode" type:"string"`
19864
19865	// The tag keys and optional values for the resource. For more information about
19866	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
19867	Tags []*Tag `locationName:"tags" type:"list"`
19868}
19869
19870// String returns the string representation
19871func (s InstanceSnapshot) String() string {
19872	return awsutil.Prettify(s)
19873}
19874
19875// GoString returns the string representation
19876func (s InstanceSnapshot) GoString() string {
19877	return s.String()
19878}
19879
19880// SetArn sets the Arn field's value.
19881func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
19882	s.Arn = &v
19883	return s
19884}
19885
19886// SetCreatedAt sets the CreatedAt field's value.
19887func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
19888	s.CreatedAt = &v
19889	return s
19890}
19891
19892// SetFromAttachedDisks sets the FromAttachedDisks field's value.
19893func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
19894	s.FromAttachedDisks = v
19895	return s
19896}
19897
19898// SetFromBlueprintId sets the FromBlueprintId field's value.
19899func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
19900	s.FromBlueprintId = &v
19901	return s
19902}
19903
19904// SetFromBundleId sets the FromBundleId field's value.
19905func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
19906	s.FromBundleId = &v
19907	return s
19908}
19909
19910// SetFromInstanceArn sets the FromInstanceArn field's value.
19911func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
19912	s.FromInstanceArn = &v
19913	return s
19914}
19915
19916// SetFromInstanceName sets the FromInstanceName field's value.
19917func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
19918	s.FromInstanceName = &v
19919	return s
19920}
19921
19922// SetLocation sets the Location field's value.
19923func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
19924	s.Location = v
19925	return s
19926}
19927
19928// SetName sets the Name field's value.
19929func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
19930	s.Name = &v
19931	return s
19932}
19933
19934// SetProgress sets the Progress field's value.
19935func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
19936	s.Progress = &v
19937	return s
19938}
19939
19940// SetResourceType sets the ResourceType field's value.
19941func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
19942	s.ResourceType = &v
19943	return s
19944}
19945
19946// SetSizeInGb sets the SizeInGb field's value.
19947func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
19948	s.SizeInGb = &v
19949	return s
19950}
19951
19952// SetState sets the State field's value.
19953func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
19954	s.State = &v
19955	return s
19956}
19957
19958// SetSupportCode sets the SupportCode field's value.
19959func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
19960	s.SupportCode = &v
19961	return s
19962}
19963
19964// SetTags sets the Tags field's value.
19965func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
19966	s.Tags = v
19967	return s
19968}
19969
19970// Describes an instance snapshot.
19971type InstanceSnapshotInfo struct {
19972	_ struct{} `type:"structure"`
19973
19974	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
19975	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
19976
19977	// The bundle ID from which the source instance was created (e.g., micro_1_0).
19978	FromBundleId *string `locationName:"fromBundleId" type:"string"`
19979
19980	// A list of objects describing the disks that were attached to the source instance.
19981	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
19982}
19983
19984// String returns the string representation
19985func (s InstanceSnapshotInfo) String() string {
19986	return awsutil.Prettify(s)
19987}
19988
19989// GoString returns the string representation
19990func (s InstanceSnapshotInfo) GoString() string {
19991	return s.String()
19992}
19993
19994// SetFromBlueprintId sets the FromBlueprintId field's value.
19995func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
19996	s.FromBlueprintId = &v
19997	return s
19998}
19999
20000// SetFromBundleId sets the FromBundleId field's value.
20001func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
20002	s.FromBundleId = &v
20003	return s
20004}
20005
20006// SetFromDiskInfo sets the FromDiskInfo field's value.
20007func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
20008	s.FromDiskInfo = v
20009	return s
20010}
20011
20012// Describes the virtual private server (or instance) status.
20013type InstanceState struct {
20014	_ struct{} `type:"structure"`
20015
20016	// The status code for the instance.
20017	Code *int64 `locationName:"code" type:"integer"`
20018
20019	// The state of the instance (e.g., running or pending).
20020	Name *string `locationName:"name" type:"string"`
20021}
20022
20023// String returns the string representation
20024func (s InstanceState) String() string {
20025	return awsutil.Prettify(s)
20026}
20027
20028// GoString returns the string representation
20029func (s InstanceState) GoString() string {
20030	return s.String()
20031}
20032
20033// SetCode sets the Code field's value.
20034func (s *InstanceState) SetCode(v int64) *InstanceState {
20035	s.Code = &v
20036	return s
20037}
20038
20039// SetName sets the Name field's value.
20040func (s *InstanceState) SetName(v string) *InstanceState {
20041	s.Name = &v
20042	return s
20043}
20044
20045type IsVpcPeeredInput struct {
20046	_ struct{} `type:"structure"`
20047}
20048
20049// String returns the string representation
20050func (s IsVpcPeeredInput) String() string {
20051	return awsutil.Prettify(s)
20052}
20053
20054// GoString returns the string representation
20055func (s IsVpcPeeredInput) GoString() string {
20056	return s.String()
20057}
20058
20059type IsVpcPeeredOutput struct {
20060	_ struct{} `type:"structure"`
20061
20062	// Returns true if the Lightsail VPC is peered; otherwise, false.
20063	IsPeered *bool `locationName:"isPeered" type:"boolean"`
20064}
20065
20066// String returns the string representation
20067func (s IsVpcPeeredOutput) String() string {
20068	return awsutil.Prettify(s)
20069}
20070
20071// GoString returns the string representation
20072func (s IsVpcPeeredOutput) GoString() string {
20073	return s.String()
20074}
20075
20076// SetIsPeered sets the IsPeered field's value.
20077func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
20078	s.IsPeered = &v
20079	return s
20080}
20081
20082// Describes the SSH key pair.
20083type KeyPair struct {
20084	_ struct{} `type:"structure"`
20085
20086	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
20087	Arn *string `locationName:"arn" type:"string"`
20088
20089	// The timestamp when the key pair was created (e.g., 1479816991.349).
20090	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20091
20092	// The RSA fingerprint of the key pair.
20093	Fingerprint *string `locationName:"fingerprint" type:"string"`
20094
20095	// The region name and Availability Zone where the key pair was created.
20096	Location *ResourceLocation `locationName:"location" type:"structure"`
20097
20098	// The friendly name of the SSH key pair.
20099	Name *string `locationName:"name" type:"string"`
20100
20101	// The resource type (usually KeyPair).
20102	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20103
20104	// The support code. Include this code in your email to support when you have
20105	// questions about an instance or another resource in Lightsail. This code enables
20106	// our support team to look up your Lightsail information more easily.
20107	SupportCode *string `locationName:"supportCode" type:"string"`
20108
20109	// The tag keys and optional values for the resource. For more information about
20110	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20111	Tags []*Tag `locationName:"tags" type:"list"`
20112}
20113
20114// String returns the string representation
20115func (s KeyPair) String() string {
20116	return awsutil.Prettify(s)
20117}
20118
20119// GoString returns the string representation
20120func (s KeyPair) GoString() string {
20121	return s.String()
20122}
20123
20124// SetArn sets the Arn field's value.
20125func (s *KeyPair) SetArn(v string) *KeyPair {
20126	s.Arn = &v
20127	return s
20128}
20129
20130// SetCreatedAt sets the CreatedAt field's value.
20131func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
20132	s.CreatedAt = &v
20133	return s
20134}
20135
20136// SetFingerprint sets the Fingerprint field's value.
20137func (s *KeyPair) SetFingerprint(v string) *KeyPair {
20138	s.Fingerprint = &v
20139	return s
20140}
20141
20142// SetLocation sets the Location field's value.
20143func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
20144	s.Location = v
20145	return s
20146}
20147
20148// SetName sets the Name field's value.
20149func (s *KeyPair) SetName(v string) *KeyPair {
20150	s.Name = &v
20151	return s
20152}
20153
20154// SetResourceType sets the ResourceType field's value.
20155func (s *KeyPair) SetResourceType(v string) *KeyPair {
20156	s.ResourceType = &v
20157	return s
20158}
20159
20160// SetSupportCode sets the SupportCode field's value.
20161func (s *KeyPair) SetSupportCode(v string) *KeyPair {
20162	s.SupportCode = &v
20163	return s
20164}
20165
20166// SetTags sets the Tags field's value.
20167func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
20168	s.Tags = v
20169	return s
20170}
20171
20172// Describes the Lightsail load balancer.
20173type LoadBalancer struct {
20174	_ struct{} `type:"structure"`
20175
20176	// The Amazon Resource Name (ARN) of the load balancer.
20177	Arn *string `locationName:"arn" type:"string"`
20178
20179	// A string to string map of the configuration options for your load balancer.
20180	// Valid values are listed below.
20181	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
20182
20183	// The date when your load balancer was created.
20184	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20185
20186	// The DNS name of your Lightsail load balancer.
20187	DnsName *string `locationName:"dnsName" type:"string"`
20188
20189	// The path you specified to perform your health checks. If no path is specified,
20190	// the load balancer tries to make a request to the default (root) page.
20191	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
20192
20193	// An array of InstanceHealthSummary objects describing the health of the load
20194	// balancer.
20195	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
20196
20197	// The port where the load balancer will direct traffic to your Lightsail instances.
20198	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
20199	InstancePort *int64 `locationName:"instancePort" type:"integer"`
20200
20201	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
20202	// automatically creates your load balancer across Availability Zones.
20203	Location *ResourceLocation `locationName:"location" type:"structure"`
20204
20205	// The name of the load balancer (e.g., my-load-balancer).
20206	Name *string `locationName:"name" type:"string"`
20207
20208	// The protocol you have enabled for your load balancer. Valid values are below.
20209	//
20210	// You can't just have HTTP_HTTPS, but you can have just HTTP.
20211	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
20212
20213	// An array of public port settings for your load balancer. For HTTP, use port
20214	// 80. For HTTPS, use port 443.
20215	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
20216
20217	// The resource type (e.g., LoadBalancer.
20218	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20219
20220	// The status of your load balancer. Valid values are below.
20221	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
20222
20223	// The support code. Include this code in your email to support when you have
20224	// questions about your Lightsail load balancer. This code enables our support
20225	// team to look up your Lightsail information more easily.
20226	SupportCode *string `locationName:"supportCode" type:"string"`
20227
20228	// The tag keys and optional values for the resource. For more information about
20229	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20230	Tags []*Tag `locationName:"tags" type:"list"`
20231
20232	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
20233	// information about the SSL/TLS certificates. For example, if true, the certificate
20234	// is attached to the load balancer.
20235	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
20236}
20237
20238// String returns the string representation
20239func (s LoadBalancer) String() string {
20240	return awsutil.Prettify(s)
20241}
20242
20243// GoString returns the string representation
20244func (s LoadBalancer) GoString() string {
20245	return s.String()
20246}
20247
20248// SetArn sets the Arn field's value.
20249func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
20250	s.Arn = &v
20251	return s
20252}
20253
20254// SetConfigurationOptions sets the ConfigurationOptions field's value.
20255func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
20256	s.ConfigurationOptions = v
20257	return s
20258}
20259
20260// SetCreatedAt sets the CreatedAt field's value.
20261func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
20262	s.CreatedAt = &v
20263	return s
20264}
20265
20266// SetDnsName sets the DnsName field's value.
20267func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
20268	s.DnsName = &v
20269	return s
20270}
20271
20272// SetHealthCheckPath sets the HealthCheckPath field's value.
20273func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
20274	s.HealthCheckPath = &v
20275	return s
20276}
20277
20278// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
20279func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
20280	s.InstanceHealthSummary = v
20281	return s
20282}
20283
20284// SetInstancePort sets the InstancePort field's value.
20285func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
20286	s.InstancePort = &v
20287	return s
20288}
20289
20290// SetLocation sets the Location field's value.
20291func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
20292	s.Location = v
20293	return s
20294}
20295
20296// SetName sets the Name field's value.
20297func (s *LoadBalancer) SetName(v string) *LoadBalancer {
20298	s.Name = &v
20299	return s
20300}
20301
20302// SetProtocol sets the Protocol field's value.
20303func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
20304	s.Protocol = &v
20305	return s
20306}
20307
20308// SetPublicPorts sets the PublicPorts field's value.
20309func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
20310	s.PublicPorts = v
20311	return s
20312}
20313
20314// SetResourceType sets the ResourceType field's value.
20315func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
20316	s.ResourceType = &v
20317	return s
20318}
20319
20320// SetState sets the State field's value.
20321func (s *LoadBalancer) SetState(v string) *LoadBalancer {
20322	s.State = &v
20323	return s
20324}
20325
20326// SetSupportCode sets the SupportCode field's value.
20327func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
20328	s.SupportCode = &v
20329	return s
20330}
20331
20332// SetTags sets the Tags field's value.
20333func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
20334	s.Tags = v
20335	return s
20336}
20337
20338// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
20339func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
20340	s.TlsCertificateSummaries = v
20341	return s
20342}
20343
20344// Describes a load balancer SSL/TLS certificate.
20345//
20346// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
20347type LoadBalancerTlsCertificate struct {
20348	_ struct{} `type:"structure"`
20349
20350	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
20351	Arn *string `locationName:"arn" type:"string"`
20352
20353	// The time when you created your SSL/TLS certificate.
20354	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20355
20356	// The domain name for your SSL/TLS certificate.
20357	DomainName *string `locationName:"domainName" type:"string"`
20358
20359	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
20360	// the records.
20361	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
20362
20363	// The reason for the SSL/TLS certificate validation failure.
20364	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
20365
20366	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
20367	IsAttached *bool `locationName:"isAttached" type:"boolean"`
20368
20369	// The time when the SSL/TLS certificate was issued.
20370	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
20371
20372	// The issuer of the certificate.
20373	Issuer *string `locationName:"issuer" type:"string"`
20374
20375	// The algorithm that was used to generate the key pair (the public and private
20376	// key).
20377	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
20378
20379	// The load balancer name where your SSL/TLS certificate is attached.
20380	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
20381
20382	// The AWS Region and Availability Zone where you created your certificate.
20383	Location *ResourceLocation `locationName:"location" type:"structure"`
20384
20385	// The name of the SSL/TLS certificate (e.g., my-certificate).
20386	Name *string `locationName:"name" type:"string"`
20387
20388	// The timestamp when the SSL/TLS certificate expires.
20389	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
20390
20391	// The timestamp when the SSL/TLS certificate is first valid.
20392	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
20393
20394	// An object containing information about the status of Lightsail's managed
20395	// renewal for the certificate.
20396	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
20397
20398	// The resource type (e.g., LoadBalancerTlsCertificate).
20399	//
20400	//    * Instance - A Lightsail instance (a virtual private server)
20401	//
20402	//    * StaticIp - A static IP address
20403	//
20404	//    * KeyPair - The key pair used to connect to a Lightsail instance
20405	//
20406	//    * InstanceSnapshot - A Lightsail instance snapshot
20407	//
20408	//    * Domain - A DNS zone
20409	//
20410	//    * PeeredVpc - A peered VPC
20411	//
20412	//    * LoadBalancer - A Lightsail load balancer
20413	//
20414	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
20415	//    a Lightsail load balancer
20416	//
20417	//    * Disk - A Lightsail block storage disk
20418	//
20419	//    * DiskSnapshot - A block storage disk snapshot
20420	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20421
20422	// The reason the certificate was revoked. Valid values are below.
20423	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
20424
20425	// The timestamp when the SSL/TLS certificate was revoked.
20426	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
20427
20428	// The serial number of the certificate.
20429	Serial *string `locationName:"serial" type:"string"`
20430
20431	// The algorithm that was used to sign the certificate.
20432	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
20433
20434	// The status of the SSL/TLS certificate. Valid values are below.
20435	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
20436
20437	// The name of the entity that is associated with the public key contained in
20438	// the certificate.
20439	Subject *string `locationName:"subject" type:"string"`
20440
20441	// One or more domains or subdomains included in the certificate. This list
20442	// contains the domain names that are bound to the public key that is contained
20443	// in the certificate. The subject alternative names include the canonical domain
20444	// name (CNAME) of the certificate and additional domain names that can be used
20445	// to connect to the website, such as example.com, www.example.com, or m.example.com.
20446	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
20447
20448	// The support code. Include this code in your email to support when you have
20449	// questions about your Lightsail load balancer or SSL/TLS certificate. This
20450	// code enables our support team to look up your Lightsail information more
20451	// easily.
20452	SupportCode *string `locationName:"supportCode" type:"string"`
20453
20454	// The tag keys and optional values for the resource. For more information about
20455	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20456	Tags []*Tag `locationName:"tags" type:"list"`
20457}
20458
20459// String returns the string representation
20460func (s LoadBalancerTlsCertificate) String() string {
20461	return awsutil.Prettify(s)
20462}
20463
20464// GoString returns the string representation
20465func (s LoadBalancerTlsCertificate) GoString() string {
20466	return s.String()
20467}
20468
20469// SetArn sets the Arn field's value.
20470func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
20471	s.Arn = &v
20472	return s
20473}
20474
20475// SetCreatedAt sets the CreatedAt field's value.
20476func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
20477	s.CreatedAt = &v
20478	return s
20479}
20480
20481// SetDomainName sets the DomainName field's value.
20482func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
20483	s.DomainName = &v
20484	return s
20485}
20486
20487// SetDomainValidationRecords sets the DomainValidationRecords field's value.
20488func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
20489	s.DomainValidationRecords = v
20490	return s
20491}
20492
20493// SetFailureReason sets the FailureReason field's value.
20494func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
20495	s.FailureReason = &v
20496	return s
20497}
20498
20499// SetIsAttached sets the IsAttached field's value.
20500func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
20501	s.IsAttached = &v
20502	return s
20503}
20504
20505// SetIssuedAt sets the IssuedAt field's value.
20506func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
20507	s.IssuedAt = &v
20508	return s
20509}
20510
20511// SetIssuer sets the Issuer field's value.
20512func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
20513	s.Issuer = &v
20514	return s
20515}
20516
20517// SetKeyAlgorithm sets the KeyAlgorithm field's value.
20518func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
20519	s.KeyAlgorithm = &v
20520	return s
20521}
20522
20523// SetLoadBalancerName sets the LoadBalancerName field's value.
20524func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
20525	s.LoadBalancerName = &v
20526	return s
20527}
20528
20529// SetLocation sets the Location field's value.
20530func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
20531	s.Location = v
20532	return s
20533}
20534
20535// SetName sets the Name field's value.
20536func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
20537	s.Name = &v
20538	return s
20539}
20540
20541// SetNotAfter sets the NotAfter field's value.
20542func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
20543	s.NotAfter = &v
20544	return s
20545}
20546
20547// SetNotBefore sets the NotBefore field's value.
20548func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
20549	s.NotBefore = &v
20550	return s
20551}
20552
20553// SetRenewalSummary sets the RenewalSummary field's value.
20554func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
20555	s.RenewalSummary = v
20556	return s
20557}
20558
20559// SetResourceType sets the ResourceType field's value.
20560func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
20561	s.ResourceType = &v
20562	return s
20563}
20564
20565// SetRevocationReason sets the RevocationReason field's value.
20566func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
20567	s.RevocationReason = &v
20568	return s
20569}
20570
20571// SetRevokedAt sets the RevokedAt field's value.
20572func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
20573	s.RevokedAt = &v
20574	return s
20575}
20576
20577// SetSerial sets the Serial field's value.
20578func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
20579	s.Serial = &v
20580	return s
20581}
20582
20583// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
20584func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
20585	s.SignatureAlgorithm = &v
20586	return s
20587}
20588
20589// SetStatus sets the Status field's value.
20590func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
20591	s.Status = &v
20592	return s
20593}
20594
20595// SetSubject sets the Subject field's value.
20596func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
20597	s.Subject = &v
20598	return s
20599}
20600
20601// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
20602func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
20603	s.SubjectAlternativeNames = v
20604	return s
20605}
20606
20607// SetSupportCode sets the SupportCode field's value.
20608func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
20609	s.SupportCode = &v
20610	return s
20611}
20612
20613// SetTags sets the Tags field's value.
20614func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
20615	s.Tags = v
20616	return s
20617}
20618
20619// Contains information about the domain names on an SSL/TLS certificate that
20620// you will use to validate domain ownership.
20621type LoadBalancerTlsCertificateDomainValidationOption struct {
20622	_ struct{} `type:"structure"`
20623
20624	// The fully qualified domain name in the certificate request.
20625	DomainName *string `locationName:"domainName" type:"string"`
20626
20627	// The status of the domain validation. Valid values are listed below.
20628	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
20629}
20630
20631// String returns the string representation
20632func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
20633	return awsutil.Prettify(s)
20634}
20635
20636// GoString returns the string representation
20637func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
20638	return s.String()
20639}
20640
20641// SetDomainName sets the DomainName field's value.
20642func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
20643	s.DomainName = &v
20644	return s
20645}
20646
20647// SetValidationStatus sets the ValidationStatus field's value.
20648func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
20649	s.ValidationStatus = &v
20650	return s
20651}
20652
20653// Describes the validation record of each domain name in the SSL/TLS certificate.
20654type LoadBalancerTlsCertificateDomainValidationRecord struct {
20655	_ struct{} `type:"structure"`
20656
20657	// The domain name against which your SSL/TLS certificate was validated.
20658	DomainName *string `locationName:"domainName" type:"string"`
20659
20660	// A fully qualified domain name in the certificate. For example, example.com.
20661	Name *string `locationName:"name" type:"string"`
20662
20663	// The type of validation record. For example, CNAME for domain validation.
20664	Type *string `locationName:"type" type:"string"`
20665
20666	// The validation status. Valid values are listed below.
20667	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
20668
20669	// The value for that type.
20670	Value *string `locationName:"value" type:"string"`
20671}
20672
20673// String returns the string representation
20674func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
20675	return awsutil.Prettify(s)
20676}
20677
20678// GoString returns the string representation
20679func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
20680	return s.String()
20681}
20682
20683// SetDomainName sets the DomainName field's value.
20684func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
20685	s.DomainName = &v
20686	return s
20687}
20688
20689// SetName sets the Name field's value.
20690func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
20691	s.Name = &v
20692	return s
20693}
20694
20695// SetType sets the Type field's value.
20696func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
20697	s.Type = &v
20698	return s
20699}
20700
20701// SetValidationStatus sets the ValidationStatus field's value.
20702func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
20703	s.ValidationStatus = &v
20704	return s
20705}
20706
20707// SetValue sets the Value field's value.
20708func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
20709	s.Value = &v
20710	return s
20711}
20712
20713// Contains information about the status of Lightsail's managed renewal for
20714// the certificate.
20715type LoadBalancerTlsCertificateRenewalSummary struct {
20716	_ struct{} `type:"structure"`
20717
20718	// Contains information about the validation of each domain name in the certificate,
20719	// as it pertains to Lightsail's managed renewal. This is different from the
20720	// initial validation that occurs as a result of the RequestCertificate request.
20721	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
20722
20723	// The status of Lightsail's managed renewal of the certificate. Valid values
20724	// are listed below.
20725	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
20726}
20727
20728// String returns the string representation
20729func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
20730	return awsutil.Prettify(s)
20731}
20732
20733// GoString returns the string representation
20734func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
20735	return s.String()
20736}
20737
20738// SetDomainValidationOptions sets the DomainValidationOptions field's value.
20739func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
20740	s.DomainValidationOptions = v
20741	return s
20742}
20743
20744// SetRenewalStatus sets the RenewalStatus field's value.
20745func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
20746	s.RenewalStatus = &v
20747	return s
20748}
20749
20750// Provides a summary of SSL/TLS certificate metadata.
20751type LoadBalancerTlsCertificateSummary struct {
20752	_ struct{} `type:"structure"`
20753
20754	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
20755	IsAttached *bool `locationName:"isAttached" type:"boolean"`
20756
20757	// The name of the SSL/TLS certificate.
20758	Name *string `locationName:"name" type:"string"`
20759}
20760
20761// String returns the string representation
20762func (s LoadBalancerTlsCertificateSummary) String() string {
20763	return awsutil.Prettify(s)
20764}
20765
20766// GoString returns the string representation
20767func (s LoadBalancerTlsCertificateSummary) GoString() string {
20768	return s.String()
20769}
20770
20771// SetIsAttached sets the IsAttached field's value.
20772func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
20773	s.IsAttached = &v
20774	return s
20775}
20776
20777// SetName sets the Name field's value.
20778func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
20779	s.Name = &v
20780	return s
20781}
20782
20783// Describes a database log event.
20784type LogEvent struct {
20785	_ struct{} `type:"structure"`
20786
20787	// The timestamp when the database log event was created.
20788	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20789
20790	// The message of the database log event.
20791	Message *string `locationName:"message" type:"string"`
20792}
20793
20794// String returns the string representation
20795func (s LogEvent) String() string {
20796	return awsutil.Prettify(s)
20797}
20798
20799// GoString returns the string representation
20800func (s LogEvent) GoString() string {
20801	return s.String()
20802}
20803
20804// SetCreatedAt sets the CreatedAt field's value.
20805func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
20806	s.CreatedAt = &v
20807	return s
20808}
20809
20810// SetMessage sets the Message field's value.
20811func (s *LogEvent) SetMessage(v string) *LogEvent {
20812	s.Message = &v
20813	return s
20814}
20815
20816// Describes the metric data point.
20817type MetricDatapoint struct {
20818	_ struct{} `type:"structure"`
20819
20820	// The average.
20821	Average *float64 `locationName:"average" type:"double"`
20822
20823	// The maximum.
20824	Maximum *float64 `locationName:"maximum" type:"double"`
20825
20826	// The minimum.
20827	Minimum *float64 `locationName:"minimum" type:"double"`
20828
20829	// The sample count.
20830	SampleCount *float64 `locationName:"sampleCount" type:"double"`
20831
20832	// The sum.
20833	Sum *float64 `locationName:"sum" type:"double"`
20834
20835	// The timestamp (e.g., 1479816991.349).
20836	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
20837
20838	// The unit.
20839	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
20840}
20841
20842// String returns the string representation
20843func (s MetricDatapoint) String() string {
20844	return awsutil.Prettify(s)
20845}
20846
20847// GoString returns the string representation
20848func (s MetricDatapoint) GoString() string {
20849	return s.String()
20850}
20851
20852// SetAverage sets the Average field's value.
20853func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
20854	s.Average = &v
20855	return s
20856}
20857
20858// SetMaximum sets the Maximum field's value.
20859func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
20860	s.Maximum = &v
20861	return s
20862}
20863
20864// SetMinimum sets the Minimum field's value.
20865func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
20866	s.Minimum = &v
20867	return s
20868}
20869
20870// SetSampleCount sets the SampleCount field's value.
20871func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
20872	s.SampleCount = &v
20873	return s
20874}
20875
20876// SetSum sets the Sum field's value.
20877func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
20878	s.Sum = &v
20879	return s
20880}
20881
20882// SetTimestamp sets the Timestamp field's value.
20883func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
20884	s.Timestamp = &v
20885	return s
20886}
20887
20888// SetUnit sets the Unit field's value.
20889func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
20890	s.Unit = &v
20891	return s
20892}
20893
20894// Describes the monthly data transfer in and out of your virtual private server
20895// (or instance).
20896type MonthlyTransfer struct {
20897	_ struct{} `type:"structure"`
20898
20899	// The amount allocated per month (in GB).
20900	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
20901}
20902
20903// String returns the string representation
20904func (s MonthlyTransfer) String() string {
20905	return awsutil.Prettify(s)
20906}
20907
20908// GoString returns the string representation
20909func (s MonthlyTransfer) GoString() string {
20910	return s.String()
20911}
20912
20913// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
20914func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
20915	s.GbPerMonthAllocated = &v
20916	return s
20917}
20918
20919type OpenInstancePublicPortsInput struct {
20920	_ struct{} `type:"structure"`
20921
20922	// The name of the instance for which you want to open the public ports.
20923	//
20924	// InstanceName is a required field
20925	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
20926
20927	// An array of key-value pairs containing information about the port mappings.
20928	//
20929	// PortInfo is a required field
20930	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
20931}
20932
20933// String returns the string representation
20934func (s OpenInstancePublicPortsInput) String() string {
20935	return awsutil.Prettify(s)
20936}
20937
20938// GoString returns the string representation
20939func (s OpenInstancePublicPortsInput) GoString() string {
20940	return s.String()
20941}
20942
20943// Validate inspects the fields of the type to determine if they are valid.
20944func (s *OpenInstancePublicPortsInput) Validate() error {
20945	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
20946	if s.InstanceName == nil {
20947		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
20948	}
20949	if s.PortInfo == nil {
20950		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
20951	}
20952
20953	if invalidParams.Len() > 0 {
20954		return invalidParams
20955	}
20956	return nil
20957}
20958
20959// SetInstanceName sets the InstanceName field's value.
20960func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
20961	s.InstanceName = &v
20962	return s
20963}
20964
20965// SetPortInfo sets the PortInfo field's value.
20966func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
20967	s.PortInfo = v
20968	return s
20969}
20970
20971type OpenInstancePublicPortsOutput struct {
20972	_ struct{} `type:"structure"`
20973
20974	// An array of key-value pairs containing information about the request operation.
20975	Operation *Operation `locationName:"operation" type:"structure"`
20976}
20977
20978// String returns the string representation
20979func (s OpenInstancePublicPortsOutput) String() string {
20980	return awsutil.Prettify(s)
20981}
20982
20983// GoString returns the string representation
20984func (s OpenInstancePublicPortsOutput) GoString() string {
20985	return s.String()
20986}
20987
20988// SetOperation sets the Operation field's value.
20989func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
20990	s.Operation = v
20991	return s
20992}
20993
20994// Describes the API operation.
20995type Operation struct {
20996	_ struct{} `type:"structure"`
20997
20998	// The timestamp when the operation was initialized (e.g., 1479816991.349).
20999	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21000
21001	// The error code.
21002	ErrorCode *string `locationName:"errorCode" type:"string"`
21003
21004	// The error details.
21005	ErrorDetails *string `locationName:"errorDetails" type:"string"`
21006
21007	// The ID of the operation.
21008	Id *string `locationName:"id" type:"string"`
21009
21010	// A Boolean value indicating whether the operation is terminal.
21011	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
21012
21013	// The region and Availability Zone.
21014	Location *ResourceLocation `locationName:"location" type:"structure"`
21015
21016	// Details about the operation (e.g., Debian-1GB-Ohio-1).
21017	OperationDetails *string `locationName:"operationDetails" type:"string"`
21018
21019	// The type of operation.
21020	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
21021
21022	// The resource name.
21023	ResourceName *string `locationName:"resourceName" type:"string"`
21024
21025	// The resource type.
21026	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21027
21028	// The status of the operation.
21029	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
21030
21031	// The timestamp when the status was changed (e.g., 1479816991.349).
21032	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
21033}
21034
21035// String returns the string representation
21036func (s Operation) String() string {
21037	return awsutil.Prettify(s)
21038}
21039
21040// GoString returns the string representation
21041func (s Operation) GoString() string {
21042	return s.String()
21043}
21044
21045// SetCreatedAt sets the CreatedAt field's value.
21046func (s *Operation) SetCreatedAt(v time.Time) *Operation {
21047	s.CreatedAt = &v
21048	return s
21049}
21050
21051// SetErrorCode sets the ErrorCode field's value.
21052func (s *Operation) SetErrorCode(v string) *Operation {
21053	s.ErrorCode = &v
21054	return s
21055}
21056
21057// SetErrorDetails sets the ErrorDetails field's value.
21058func (s *Operation) SetErrorDetails(v string) *Operation {
21059	s.ErrorDetails = &v
21060	return s
21061}
21062
21063// SetId sets the Id field's value.
21064func (s *Operation) SetId(v string) *Operation {
21065	s.Id = &v
21066	return s
21067}
21068
21069// SetIsTerminal sets the IsTerminal field's value.
21070func (s *Operation) SetIsTerminal(v bool) *Operation {
21071	s.IsTerminal = &v
21072	return s
21073}
21074
21075// SetLocation sets the Location field's value.
21076func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
21077	s.Location = v
21078	return s
21079}
21080
21081// SetOperationDetails sets the OperationDetails field's value.
21082func (s *Operation) SetOperationDetails(v string) *Operation {
21083	s.OperationDetails = &v
21084	return s
21085}
21086
21087// SetOperationType sets the OperationType field's value.
21088func (s *Operation) SetOperationType(v string) *Operation {
21089	s.OperationType = &v
21090	return s
21091}
21092
21093// SetResourceName sets the ResourceName field's value.
21094func (s *Operation) SetResourceName(v string) *Operation {
21095	s.ResourceName = &v
21096	return s
21097}
21098
21099// SetResourceType sets the ResourceType field's value.
21100func (s *Operation) SetResourceType(v string) *Operation {
21101	s.ResourceType = &v
21102	return s
21103}
21104
21105// SetStatus sets the Status field's value.
21106func (s *Operation) SetStatus(v string) *Operation {
21107	s.Status = &v
21108	return s
21109}
21110
21111// SetStatusChangedAt sets the StatusChangedAt field's value.
21112func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
21113	s.StatusChangedAt = &v
21114	return s
21115}
21116
21117// The password data for the Windows Server-based instance, including the ciphertext
21118// and the key pair name.
21119type PasswordData struct {
21120	_ struct{} `type:"structure"`
21121
21122	// The encrypted password. Ciphertext will be an empty string if access to your
21123	// new instance is not ready yet. When you create an instance, it can take up
21124	// to 15 minutes for the instance to be ready.
21125	//
21126	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
21127	// password will be available in the password field.
21128	//
21129	// If you are using a custom key pair, you need to use your own means of decryption.
21130	//
21131	// If you change the Administrator password on the instance, Lightsail will
21132	// continue to return the original ciphertext value. When accessing the instance
21133	// using RDP, you need to manually enter the Administrator password after changing
21134	// it from the default.
21135	Ciphertext *string `locationName:"ciphertext" type:"string"`
21136
21137	// The name of the key pair that you used when creating your instance. If no
21138	// key pair name was specified when creating the instance, Lightsail uses the
21139	// default key pair (LightsailDefaultKeyPair).
21140	//
21141	// If you are using a custom key pair, you need to use your own means of decrypting
21142	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
21143	// your password with the public key part of this key pair.
21144	KeyPairName *string `locationName:"keyPairName" type:"string"`
21145}
21146
21147// String returns the string representation
21148func (s PasswordData) String() string {
21149	return awsutil.Prettify(s)
21150}
21151
21152// GoString returns the string representation
21153func (s PasswordData) GoString() string {
21154	return s.String()
21155}
21156
21157// SetCiphertext sets the Ciphertext field's value.
21158func (s *PasswordData) SetCiphertext(v string) *PasswordData {
21159	s.Ciphertext = &v
21160	return s
21161}
21162
21163// SetKeyPairName sets the KeyPairName field's value.
21164func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
21165	s.KeyPairName = &v
21166	return s
21167}
21168
21169type PeerVpcInput struct {
21170	_ struct{} `type:"structure"`
21171}
21172
21173// String returns the string representation
21174func (s PeerVpcInput) String() string {
21175	return awsutil.Prettify(s)
21176}
21177
21178// GoString returns the string representation
21179func (s PeerVpcInput) GoString() string {
21180	return s.String()
21181}
21182
21183type PeerVpcOutput struct {
21184	_ struct{} `type:"structure"`
21185
21186	// An array of key-value pairs containing information about the request operation.
21187	Operation *Operation `locationName:"operation" type:"structure"`
21188}
21189
21190// String returns the string representation
21191func (s PeerVpcOutput) String() string {
21192	return awsutil.Prettify(s)
21193}
21194
21195// GoString returns the string representation
21196func (s PeerVpcOutput) GoString() string {
21197	return s.String()
21198}
21199
21200// SetOperation sets the Operation field's value.
21201func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
21202	s.Operation = v
21203	return s
21204}
21205
21206// Describes a pending database maintenance action.
21207type PendingMaintenanceAction struct {
21208	_ struct{} `type:"structure"`
21209
21210	// The type of pending database maintenance action.
21211	Action *string `locationName:"action" type:"string"`
21212
21213	// The effective date of the pending database maintenance action.
21214	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
21215
21216	// Additional detail about the pending database maintenance action.
21217	Description *string `locationName:"description" type:"string"`
21218}
21219
21220// String returns the string representation
21221func (s PendingMaintenanceAction) String() string {
21222	return awsutil.Prettify(s)
21223}
21224
21225// GoString returns the string representation
21226func (s PendingMaintenanceAction) GoString() string {
21227	return s.String()
21228}
21229
21230// SetAction sets the Action field's value.
21231func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
21232	s.Action = &v
21233	return s
21234}
21235
21236// SetCurrentApplyDate sets the CurrentApplyDate field's value.
21237func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
21238	s.CurrentApplyDate = &v
21239	return s
21240}
21241
21242// SetDescription sets the Description field's value.
21243func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
21244	s.Description = &v
21245	return s
21246}
21247
21248// Describes a pending database value modification.
21249type PendingModifiedRelationalDatabaseValues struct {
21250	_ struct{} `type:"structure"`
21251
21252	// A Boolean value indicating whether automated backup retention is enabled.
21253	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
21254
21255	// The database engine version.
21256	EngineVersion *string `locationName:"engineVersion" type:"string"`
21257
21258	// The password for the master user of the database.
21259	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
21260}
21261
21262// String returns the string representation
21263func (s PendingModifiedRelationalDatabaseValues) String() string {
21264	return awsutil.Prettify(s)
21265}
21266
21267// GoString returns the string representation
21268func (s PendingModifiedRelationalDatabaseValues) GoString() string {
21269	return s.String()
21270}
21271
21272// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
21273func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
21274	s.BackupRetentionEnabled = &v
21275	return s
21276}
21277
21278// SetEngineVersion sets the EngineVersion field's value.
21279func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
21280	s.EngineVersion = &v
21281	return s
21282}
21283
21284// SetMasterUserPassword sets the MasterUserPassword field's value.
21285func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
21286	s.MasterUserPassword = &v
21287	return s
21288}
21289
21290// Describes information about the ports on your virtual private server (or
21291// instance).
21292type PortInfo struct {
21293	_ struct{} `type:"structure"`
21294
21295	// The first port in the range.
21296	FromPort *int64 `locationName:"fromPort" type:"integer"`
21297
21298	// The protocol.
21299	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
21300
21301	// The last port in the range.
21302	ToPort *int64 `locationName:"toPort" type:"integer"`
21303}
21304
21305// String returns the string representation
21306func (s PortInfo) String() string {
21307	return awsutil.Prettify(s)
21308}
21309
21310// GoString returns the string representation
21311func (s PortInfo) GoString() string {
21312	return s.String()
21313}
21314
21315// SetFromPort sets the FromPort field's value.
21316func (s *PortInfo) SetFromPort(v int64) *PortInfo {
21317	s.FromPort = &v
21318	return s
21319}
21320
21321// SetProtocol sets the Protocol field's value.
21322func (s *PortInfo) SetProtocol(v string) *PortInfo {
21323	s.Protocol = &v
21324	return s
21325}
21326
21327// SetToPort sets the ToPort field's value.
21328func (s *PortInfo) SetToPort(v int64) *PortInfo {
21329	s.ToPort = &v
21330	return s
21331}
21332
21333type PutInstancePublicPortsInput struct {
21334	_ struct{} `type:"structure"`
21335
21336	// The Lightsail instance name of the public port(s) you are setting.
21337	//
21338	// InstanceName is a required field
21339	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
21340
21341	// Specifies information about the public port(s).
21342	//
21343	// PortInfos is a required field
21344	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
21345}
21346
21347// String returns the string representation
21348func (s PutInstancePublicPortsInput) String() string {
21349	return awsutil.Prettify(s)
21350}
21351
21352// GoString returns the string representation
21353func (s PutInstancePublicPortsInput) GoString() string {
21354	return s.String()
21355}
21356
21357// Validate inspects the fields of the type to determine if they are valid.
21358func (s *PutInstancePublicPortsInput) Validate() error {
21359	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
21360	if s.InstanceName == nil {
21361		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
21362	}
21363	if s.PortInfos == nil {
21364		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
21365	}
21366
21367	if invalidParams.Len() > 0 {
21368		return invalidParams
21369	}
21370	return nil
21371}
21372
21373// SetInstanceName sets the InstanceName field's value.
21374func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
21375	s.InstanceName = &v
21376	return s
21377}
21378
21379// SetPortInfos sets the PortInfos field's value.
21380func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
21381	s.PortInfos = v
21382	return s
21383}
21384
21385type PutInstancePublicPortsOutput struct {
21386	_ struct{} `type:"structure"`
21387
21388	// Describes metadata about the operation you just executed.
21389	Operation *Operation `locationName:"operation" type:"structure"`
21390}
21391
21392// String returns the string representation
21393func (s PutInstancePublicPortsOutput) String() string {
21394	return awsutil.Prettify(s)
21395}
21396
21397// GoString returns the string representation
21398func (s PutInstancePublicPortsOutput) GoString() string {
21399	return s.String()
21400}
21401
21402// SetOperation sets the Operation field's value.
21403func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
21404	s.Operation = v
21405	return s
21406}
21407
21408type RebootInstanceInput struct {
21409	_ struct{} `type:"structure"`
21410
21411	// The name of the instance to reboot.
21412	//
21413	// InstanceName is a required field
21414	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
21415}
21416
21417// String returns the string representation
21418func (s RebootInstanceInput) String() string {
21419	return awsutil.Prettify(s)
21420}
21421
21422// GoString returns the string representation
21423func (s RebootInstanceInput) GoString() string {
21424	return s.String()
21425}
21426
21427// Validate inspects the fields of the type to determine if they are valid.
21428func (s *RebootInstanceInput) Validate() error {
21429	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
21430	if s.InstanceName == nil {
21431		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
21432	}
21433
21434	if invalidParams.Len() > 0 {
21435		return invalidParams
21436	}
21437	return nil
21438}
21439
21440// SetInstanceName sets the InstanceName field's value.
21441func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
21442	s.InstanceName = &v
21443	return s
21444}
21445
21446type RebootInstanceOutput struct {
21447	_ struct{} `type:"structure"`
21448
21449	// An array of key-value pairs containing information about the request operations.
21450	Operations []*Operation `locationName:"operations" type:"list"`
21451}
21452
21453// String returns the string representation
21454func (s RebootInstanceOutput) String() string {
21455	return awsutil.Prettify(s)
21456}
21457
21458// GoString returns the string representation
21459func (s RebootInstanceOutput) GoString() string {
21460	return s.String()
21461}
21462
21463// SetOperations sets the Operations field's value.
21464func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
21465	s.Operations = v
21466	return s
21467}
21468
21469type RebootRelationalDatabaseInput struct {
21470	_ struct{} `type:"structure"`
21471
21472	// The name of your database to reboot.
21473	//
21474	// RelationalDatabaseName is a required field
21475	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21476}
21477
21478// String returns the string representation
21479func (s RebootRelationalDatabaseInput) String() string {
21480	return awsutil.Prettify(s)
21481}
21482
21483// GoString returns the string representation
21484func (s RebootRelationalDatabaseInput) GoString() string {
21485	return s.String()
21486}
21487
21488// Validate inspects the fields of the type to determine if they are valid.
21489func (s *RebootRelationalDatabaseInput) Validate() error {
21490	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
21491	if s.RelationalDatabaseName == nil {
21492		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21493	}
21494
21495	if invalidParams.Len() > 0 {
21496		return invalidParams
21497	}
21498	return nil
21499}
21500
21501// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21502func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
21503	s.RelationalDatabaseName = &v
21504	return s
21505}
21506
21507type RebootRelationalDatabaseOutput struct {
21508	_ struct{} `type:"structure"`
21509
21510	// An object describing the result of your reboot relational database request.
21511	Operations []*Operation `locationName:"operations" type:"list"`
21512}
21513
21514// String returns the string representation
21515func (s RebootRelationalDatabaseOutput) String() string {
21516	return awsutil.Prettify(s)
21517}
21518
21519// GoString returns the string representation
21520func (s RebootRelationalDatabaseOutput) GoString() string {
21521	return s.String()
21522}
21523
21524// SetOperations sets the Operations field's value.
21525func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
21526	s.Operations = v
21527	return s
21528}
21529
21530// Describes the AWS Region.
21531type Region struct {
21532	_ struct{} `type:"structure"`
21533
21534	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
21535	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
21536
21537	// The continent code (e.g., NA, meaning North America).
21538	ContinentCode *string `locationName:"continentCode" type:"string"`
21539
21540	// The description of the AWS Region (e.g., This region is recommended to serve
21541	// users in the eastern United States and eastern Canada).
21542	Description *string `locationName:"description" type:"string"`
21543
21544	// The display name (e.g., Ohio).
21545	DisplayName *string `locationName:"displayName" type:"string"`
21546
21547	// The region name (e.g., us-east-2).
21548	Name *string `locationName:"name" type:"string" enum:"RegionName"`
21549
21550	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
21551	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
21552}
21553
21554// String returns the string representation
21555func (s Region) String() string {
21556	return awsutil.Prettify(s)
21557}
21558
21559// GoString returns the string representation
21560func (s Region) GoString() string {
21561	return s.String()
21562}
21563
21564// SetAvailabilityZones sets the AvailabilityZones field's value.
21565func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
21566	s.AvailabilityZones = v
21567	return s
21568}
21569
21570// SetContinentCode sets the ContinentCode field's value.
21571func (s *Region) SetContinentCode(v string) *Region {
21572	s.ContinentCode = &v
21573	return s
21574}
21575
21576// SetDescription sets the Description field's value.
21577func (s *Region) SetDescription(v string) *Region {
21578	s.Description = &v
21579	return s
21580}
21581
21582// SetDisplayName sets the DisplayName field's value.
21583func (s *Region) SetDisplayName(v string) *Region {
21584	s.DisplayName = &v
21585	return s
21586}
21587
21588// SetName sets the Name field's value.
21589func (s *Region) SetName(v string) *Region {
21590	s.Name = &v
21591	return s
21592}
21593
21594// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
21595func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
21596	s.RelationalDatabaseAvailabilityZones = v
21597	return s
21598}
21599
21600// Describes a database.
21601type RelationalDatabase struct {
21602	_ struct{} `type:"structure"`
21603
21604	// The Amazon Resource Name (ARN) of the database.
21605	Arn *string `locationName:"arn" type:"string"`
21606
21607	// A Boolean value indicating whether automated backup retention is enabled
21608	// for the database.
21609	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
21610
21611	// The timestamp when the database was created. Formatted in Unix time.
21612	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21613
21614	// The database software (for example, MySQL).
21615	Engine *string `locationName:"engine" type:"string"`
21616
21617	// The database engine version (for example, 5.7.23).
21618	EngineVersion *string `locationName:"engineVersion" type:"string"`
21619
21620	// Describes the hardware of the database.
21621	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
21622
21623	// The latest point in time to which the database can be restored. Formatted
21624	// in Unix time.
21625	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
21626
21627	// The Region name and Availability Zone where the database is located.
21628	Location *ResourceLocation `locationName:"location" type:"structure"`
21629
21630	// The name of the master database created when the Lightsail database resource
21631	// is created.
21632	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
21633
21634	// The master endpoint for the database.
21635	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
21636
21637	// The master user name of the database.
21638	MasterUsername *string `locationName:"masterUsername" type:"string"`
21639
21640	// The unique name of the database resource in Lightsail.
21641	Name *string `locationName:"name" type:"string"`
21642
21643	// The status of parameter updates for the database.
21644	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
21645
21646	// Describes the pending maintenance actions for the database.
21647	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
21648
21649	// Describes pending database value modifications.
21650	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
21651
21652	// The daily time range during which automated backups are created for the database
21653	// (for example, 16:00-16:30).
21654	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
21655
21656	// The weekly time range during which system maintenance can occur on the database.
21657	//
21658	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
21659	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
21660
21661	// A Boolean value indicating whether the database is publicly accessible.
21662	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
21663
21664	// The blueprint ID for the database. A blueprint describes the major engine
21665	// version of a database.
21666	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
21667
21668	// The bundle ID for the database. A bundle describes the performance specifications
21669	// for your database.
21670	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
21671
21672	// The Lightsail resource type for the database (for example, RelationalDatabase).
21673	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21674
21675	// Describes the secondary Availability Zone of a high availability database.
21676	//
21677	// The secondary database is used for failover support of a high availability
21678	// database.
21679	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
21680
21681	// Describes the current state of the database.
21682	State *string `locationName:"state" type:"string"`
21683
21684	// The support code for the database. Include this code in your email to support
21685	// when you have questions about a database in Lightsail. This code enables
21686	// our support team to look up your Lightsail information more easily.
21687	SupportCode *string `locationName:"supportCode" type:"string"`
21688
21689	// The tag keys and optional values for the resource. For more information about
21690	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
21691	Tags []*Tag `locationName:"tags" type:"list"`
21692}
21693
21694// String returns the string representation
21695func (s RelationalDatabase) String() string {
21696	return awsutil.Prettify(s)
21697}
21698
21699// GoString returns the string representation
21700func (s RelationalDatabase) GoString() string {
21701	return s.String()
21702}
21703
21704// SetArn sets the Arn field's value.
21705func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
21706	s.Arn = &v
21707	return s
21708}
21709
21710// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
21711func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
21712	s.BackupRetentionEnabled = &v
21713	return s
21714}
21715
21716// SetCreatedAt sets the CreatedAt field's value.
21717func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
21718	s.CreatedAt = &v
21719	return s
21720}
21721
21722// SetEngine sets the Engine field's value.
21723func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
21724	s.Engine = &v
21725	return s
21726}
21727
21728// SetEngineVersion sets the EngineVersion field's value.
21729func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
21730	s.EngineVersion = &v
21731	return s
21732}
21733
21734// SetHardware sets the Hardware field's value.
21735func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
21736	s.Hardware = v
21737	return s
21738}
21739
21740// SetLatestRestorableTime sets the LatestRestorableTime field's value.
21741func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
21742	s.LatestRestorableTime = &v
21743	return s
21744}
21745
21746// SetLocation sets the Location field's value.
21747func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
21748	s.Location = v
21749	return s
21750}
21751
21752// SetMasterDatabaseName sets the MasterDatabaseName field's value.
21753func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
21754	s.MasterDatabaseName = &v
21755	return s
21756}
21757
21758// SetMasterEndpoint sets the MasterEndpoint field's value.
21759func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
21760	s.MasterEndpoint = v
21761	return s
21762}
21763
21764// SetMasterUsername sets the MasterUsername field's value.
21765func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
21766	s.MasterUsername = &v
21767	return s
21768}
21769
21770// SetName sets the Name field's value.
21771func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
21772	s.Name = &v
21773	return s
21774}
21775
21776// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
21777func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
21778	s.ParameterApplyStatus = &v
21779	return s
21780}
21781
21782// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
21783func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
21784	s.PendingMaintenanceActions = v
21785	return s
21786}
21787
21788// SetPendingModifiedValues sets the PendingModifiedValues field's value.
21789func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
21790	s.PendingModifiedValues = v
21791	return s
21792}
21793
21794// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
21795func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
21796	s.PreferredBackupWindow = &v
21797	return s
21798}
21799
21800// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21801func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
21802	s.PreferredMaintenanceWindow = &v
21803	return s
21804}
21805
21806// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21807func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
21808	s.PubliclyAccessible = &v
21809	return s
21810}
21811
21812// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
21813func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
21814	s.RelationalDatabaseBlueprintId = &v
21815	return s
21816}
21817
21818// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
21819func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
21820	s.RelationalDatabaseBundleId = &v
21821	return s
21822}
21823
21824// SetResourceType sets the ResourceType field's value.
21825func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
21826	s.ResourceType = &v
21827	return s
21828}
21829
21830// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
21831func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
21832	s.SecondaryAvailabilityZone = &v
21833	return s
21834}
21835
21836// SetState sets the State field's value.
21837func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
21838	s.State = &v
21839	return s
21840}
21841
21842// SetSupportCode sets the SupportCode field's value.
21843func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
21844	s.SupportCode = &v
21845	return s
21846}
21847
21848// SetTags sets the Tags field's value.
21849func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
21850	s.Tags = v
21851	return s
21852}
21853
21854// Describes a database image, or blueprint. A blueprint describes the major
21855// engine version of a database.
21856type RelationalDatabaseBlueprint struct {
21857	_ struct{} `type:"structure"`
21858
21859	// The ID for the database blueprint.
21860	BlueprintId *string `locationName:"blueprintId" type:"string"`
21861
21862	// The database software of the database blueprint (for example, MySQL).
21863	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
21864
21865	// The description of the database engine for the database blueprint.
21866	EngineDescription *string `locationName:"engineDescription" type:"string"`
21867
21868	// The database engine version for the database blueprint (for example, 5.7.23).
21869	EngineVersion *string `locationName:"engineVersion" type:"string"`
21870
21871	// The description of the database engine version for the database blueprint.
21872	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
21873
21874	// A Boolean value indicating whether the engine version is the default for
21875	// the database blueprint.
21876	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
21877}
21878
21879// String returns the string representation
21880func (s RelationalDatabaseBlueprint) String() string {
21881	return awsutil.Prettify(s)
21882}
21883
21884// GoString returns the string representation
21885func (s RelationalDatabaseBlueprint) GoString() string {
21886	return s.String()
21887}
21888
21889// SetBlueprintId sets the BlueprintId field's value.
21890func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
21891	s.BlueprintId = &v
21892	return s
21893}
21894
21895// SetEngine sets the Engine field's value.
21896func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
21897	s.Engine = &v
21898	return s
21899}
21900
21901// SetEngineDescription sets the EngineDescription field's value.
21902func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
21903	s.EngineDescription = &v
21904	return s
21905}
21906
21907// SetEngineVersion sets the EngineVersion field's value.
21908func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
21909	s.EngineVersion = &v
21910	return s
21911}
21912
21913// SetEngineVersionDescription sets the EngineVersionDescription field's value.
21914func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
21915	s.EngineVersionDescription = &v
21916	return s
21917}
21918
21919// SetIsEngineDefault sets the IsEngineDefault field's value.
21920func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
21921	s.IsEngineDefault = &v
21922	return s
21923}
21924
21925// Describes a database bundle. A bundle describes the performance specifications
21926// of the database.
21927type RelationalDatabaseBundle struct {
21928	_ struct{} `type:"structure"`
21929
21930	// The ID for the database bundle.
21931	BundleId *string `locationName:"bundleId" type:"string"`
21932
21933	// The number of virtual CPUs (vCPUs) for the database bundle.
21934	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
21935
21936	// The size of the disk for the database bundle.
21937	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
21938
21939	// A Boolean value indicating whether the database bundle is active.
21940	IsActive *bool `locationName:"isActive" type:"boolean"`
21941
21942	// A Boolean value indicating whether the database bundle is encrypted.
21943	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
21944
21945	// The name for the database bundle.
21946	Name *string `locationName:"name" type:"string"`
21947
21948	// The cost of the database bundle in US currency.
21949	Price *float64 `locationName:"price" type:"float"`
21950
21951	// The amount of RAM in GB (for example, 2.0) for the database bundle.
21952	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
21953
21954	// The data transfer rate per month in GB for the database bundle.
21955	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
21956}
21957
21958// String returns the string representation
21959func (s RelationalDatabaseBundle) String() string {
21960	return awsutil.Prettify(s)
21961}
21962
21963// GoString returns the string representation
21964func (s RelationalDatabaseBundle) GoString() string {
21965	return s.String()
21966}
21967
21968// SetBundleId sets the BundleId field's value.
21969func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
21970	s.BundleId = &v
21971	return s
21972}
21973
21974// SetCpuCount sets the CpuCount field's value.
21975func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
21976	s.CpuCount = &v
21977	return s
21978}
21979
21980// SetDiskSizeInGb sets the DiskSizeInGb field's value.
21981func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
21982	s.DiskSizeInGb = &v
21983	return s
21984}
21985
21986// SetIsActive sets the IsActive field's value.
21987func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
21988	s.IsActive = &v
21989	return s
21990}
21991
21992// SetIsEncrypted sets the IsEncrypted field's value.
21993func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
21994	s.IsEncrypted = &v
21995	return s
21996}
21997
21998// SetName sets the Name field's value.
21999func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
22000	s.Name = &v
22001	return s
22002}
22003
22004// SetPrice sets the Price field's value.
22005func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
22006	s.Price = &v
22007	return s
22008}
22009
22010// SetRamSizeInGb sets the RamSizeInGb field's value.
22011func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
22012	s.RamSizeInGb = &v
22013	return s
22014}
22015
22016// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
22017func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
22018	s.TransferPerMonthInGb = &v
22019	return s
22020}
22021
22022// Describes an endpoint for a database.
22023type RelationalDatabaseEndpoint struct {
22024	_ struct{} `type:"structure"`
22025
22026	// Specifies the DNS address of the database.
22027	Address *string `locationName:"address" type:"string"`
22028
22029	// Specifies the port that the database is listening on.
22030	Port *int64 `locationName:"port" type:"integer"`
22031}
22032
22033// String returns the string representation
22034func (s RelationalDatabaseEndpoint) String() string {
22035	return awsutil.Prettify(s)
22036}
22037
22038// GoString returns the string representation
22039func (s RelationalDatabaseEndpoint) GoString() string {
22040	return s.String()
22041}
22042
22043// SetAddress sets the Address field's value.
22044func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
22045	s.Address = &v
22046	return s
22047}
22048
22049// SetPort sets the Port field's value.
22050func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
22051	s.Port = &v
22052	return s
22053}
22054
22055// Describes an event for a database.
22056type RelationalDatabaseEvent struct {
22057	_ struct{} `type:"structure"`
22058
22059	// The timestamp when the database event was created.
22060	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22061
22062	// The category that the database event belongs to.
22063	EventCategories []*string `locationName:"eventCategories" type:"list"`
22064
22065	// The message of the database event.
22066	Message *string `locationName:"message" type:"string"`
22067
22068	// The database that the database event relates to.
22069	Resource *string `locationName:"resource" type:"string"`
22070}
22071
22072// String returns the string representation
22073func (s RelationalDatabaseEvent) String() string {
22074	return awsutil.Prettify(s)
22075}
22076
22077// GoString returns the string representation
22078func (s RelationalDatabaseEvent) GoString() string {
22079	return s.String()
22080}
22081
22082// SetCreatedAt sets the CreatedAt field's value.
22083func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
22084	s.CreatedAt = &v
22085	return s
22086}
22087
22088// SetEventCategories sets the EventCategories field's value.
22089func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
22090	s.EventCategories = v
22091	return s
22092}
22093
22094// SetMessage sets the Message field's value.
22095func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
22096	s.Message = &v
22097	return s
22098}
22099
22100// SetResource sets the Resource field's value.
22101func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
22102	s.Resource = &v
22103	return s
22104}
22105
22106// Describes the hardware of a database.
22107type RelationalDatabaseHardware struct {
22108	_ struct{} `type:"structure"`
22109
22110	// The number of vCPUs for the database.
22111	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
22112
22113	// The size of the disk for the database.
22114	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
22115
22116	// The amount of RAM in GB for the database.
22117	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
22118}
22119
22120// String returns the string representation
22121func (s RelationalDatabaseHardware) String() string {
22122	return awsutil.Prettify(s)
22123}
22124
22125// GoString returns the string representation
22126func (s RelationalDatabaseHardware) GoString() string {
22127	return s.String()
22128}
22129
22130// SetCpuCount sets the CpuCount field's value.
22131func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
22132	s.CpuCount = &v
22133	return s
22134}
22135
22136// SetDiskSizeInGb sets the DiskSizeInGb field's value.
22137func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
22138	s.DiskSizeInGb = &v
22139	return s
22140}
22141
22142// SetRamSizeInGb sets the RamSizeInGb field's value.
22143func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
22144	s.RamSizeInGb = &v
22145	return s
22146}
22147
22148// Describes the parameters of a database.
22149type RelationalDatabaseParameter struct {
22150	_ struct{} `type:"structure"`
22151
22152	// Specifies the valid range of values for the parameter.
22153	AllowedValues *string `locationName:"allowedValues" type:"string"`
22154
22155	// Indicates when parameter updates are applied.
22156	//
22157	// Can be immediate or pending-reboot.
22158	ApplyMethod *string `locationName:"applyMethod" type:"string"`
22159
22160	// Specifies the engine-specific parameter type.
22161	ApplyType *string `locationName:"applyType" type:"string"`
22162
22163	// Specifies the valid data type for the parameter.
22164	DataType *string `locationName:"dataType" type:"string"`
22165
22166	// Provides a description of the parameter.
22167	Description *string `locationName:"description" type:"string"`
22168
22169	// A Boolean value indicating whether the parameter can be modified.
22170	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
22171
22172	// Specifies the name of the parameter.
22173	ParameterName *string `locationName:"parameterName" type:"string"`
22174
22175	// Specifies the value of the parameter.
22176	ParameterValue *string `locationName:"parameterValue" type:"string"`
22177}
22178
22179// String returns the string representation
22180func (s RelationalDatabaseParameter) String() string {
22181	return awsutil.Prettify(s)
22182}
22183
22184// GoString returns the string representation
22185func (s RelationalDatabaseParameter) GoString() string {
22186	return s.String()
22187}
22188
22189// SetAllowedValues sets the AllowedValues field's value.
22190func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
22191	s.AllowedValues = &v
22192	return s
22193}
22194
22195// SetApplyMethod sets the ApplyMethod field's value.
22196func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
22197	s.ApplyMethod = &v
22198	return s
22199}
22200
22201// SetApplyType sets the ApplyType field's value.
22202func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
22203	s.ApplyType = &v
22204	return s
22205}
22206
22207// SetDataType sets the DataType field's value.
22208func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
22209	s.DataType = &v
22210	return s
22211}
22212
22213// SetDescription sets the Description field's value.
22214func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
22215	s.Description = &v
22216	return s
22217}
22218
22219// SetIsModifiable sets the IsModifiable field's value.
22220func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
22221	s.IsModifiable = &v
22222	return s
22223}
22224
22225// SetParameterName sets the ParameterName field's value.
22226func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
22227	s.ParameterName = &v
22228	return s
22229}
22230
22231// SetParameterValue sets the ParameterValue field's value.
22232func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
22233	s.ParameterValue = &v
22234	return s
22235}
22236
22237// Describes a database snapshot.
22238type RelationalDatabaseSnapshot struct {
22239	_ struct{} `type:"structure"`
22240
22241	// The Amazon Resource Name (ARN) of the database snapshot.
22242	Arn *string `locationName:"arn" type:"string"`
22243
22244	// The timestamp when the database snapshot was created.
22245	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22246
22247	// The software of the database snapshot (for example, MySQL)
22248	Engine *string `locationName:"engine" type:"string"`
22249
22250	// The database engine version for the database snapshot (for example, 5.7.23).
22251	EngineVersion *string `locationName:"engineVersion" type:"string"`
22252
22253	// The Amazon Resource Name (ARN) of the database from which the database snapshot
22254	// was created.
22255	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
22256
22257	// The blueprint ID of the database from which the database snapshot was created.
22258	// A blueprint describes the major engine version of a database.
22259	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
22260
22261	// The bundle ID of the database from which the database snapshot was created.
22262	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
22263
22264	// The name of the source database from which the database snapshot was created.
22265	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
22266
22267	// The Region name and Availability Zone where the database snapshot is located.
22268	Location *ResourceLocation `locationName:"location" type:"structure"`
22269
22270	// The name of the database snapshot.
22271	Name *string `locationName:"name" type:"string"`
22272
22273	// The Lightsail resource type.
22274	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22275
22276	// The size of the disk in GB (for example, 32) for the database snapshot.
22277	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
22278
22279	// The state of the database snapshot.
22280	State *string `locationName:"state" type:"string"`
22281
22282	// The support code for the database snapshot. Include this code in your email
22283	// to support when you have questions about a database snapshot in Lightsail.
22284	// This code enables our support team to look up your Lightsail information
22285	// more easily.
22286	SupportCode *string `locationName:"supportCode" type:"string"`
22287
22288	// The tag keys and optional values for the resource. For more information about
22289	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
22290	Tags []*Tag `locationName:"tags" type:"list"`
22291}
22292
22293// String returns the string representation
22294func (s RelationalDatabaseSnapshot) String() string {
22295	return awsutil.Prettify(s)
22296}
22297
22298// GoString returns the string representation
22299func (s RelationalDatabaseSnapshot) GoString() string {
22300	return s.String()
22301}
22302
22303// SetArn sets the Arn field's value.
22304func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
22305	s.Arn = &v
22306	return s
22307}
22308
22309// SetCreatedAt sets the CreatedAt field's value.
22310func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
22311	s.CreatedAt = &v
22312	return s
22313}
22314
22315// SetEngine sets the Engine field's value.
22316func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
22317	s.Engine = &v
22318	return s
22319}
22320
22321// SetEngineVersion sets the EngineVersion field's value.
22322func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
22323	s.EngineVersion = &v
22324	return s
22325}
22326
22327// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
22328func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
22329	s.FromRelationalDatabaseArn = &v
22330	return s
22331}
22332
22333// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
22334func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
22335	s.FromRelationalDatabaseBlueprintId = &v
22336	return s
22337}
22338
22339// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
22340func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
22341	s.FromRelationalDatabaseBundleId = &v
22342	return s
22343}
22344
22345// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
22346func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
22347	s.FromRelationalDatabaseName = &v
22348	return s
22349}
22350
22351// SetLocation sets the Location field's value.
22352func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
22353	s.Location = v
22354	return s
22355}
22356
22357// SetName sets the Name field's value.
22358func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
22359	s.Name = &v
22360	return s
22361}
22362
22363// SetResourceType sets the ResourceType field's value.
22364func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
22365	s.ResourceType = &v
22366	return s
22367}
22368
22369// SetSizeInGb sets the SizeInGb field's value.
22370func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
22371	s.SizeInGb = &v
22372	return s
22373}
22374
22375// SetState sets the State field's value.
22376func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
22377	s.State = &v
22378	return s
22379}
22380
22381// SetSupportCode sets the SupportCode field's value.
22382func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
22383	s.SupportCode = &v
22384	return s
22385}
22386
22387// SetTags sets the Tags field's value.
22388func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
22389	s.Tags = v
22390	return s
22391}
22392
22393type ReleaseStaticIpInput struct {
22394	_ struct{} `type:"structure"`
22395
22396	// The name of the static IP to delete.
22397	//
22398	// StaticIpName is a required field
22399	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
22400}
22401
22402// String returns the string representation
22403func (s ReleaseStaticIpInput) String() string {
22404	return awsutil.Prettify(s)
22405}
22406
22407// GoString returns the string representation
22408func (s ReleaseStaticIpInput) GoString() string {
22409	return s.String()
22410}
22411
22412// Validate inspects the fields of the type to determine if they are valid.
22413func (s *ReleaseStaticIpInput) Validate() error {
22414	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
22415	if s.StaticIpName == nil {
22416		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
22417	}
22418
22419	if invalidParams.Len() > 0 {
22420		return invalidParams
22421	}
22422	return nil
22423}
22424
22425// SetStaticIpName sets the StaticIpName field's value.
22426func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
22427	s.StaticIpName = &v
22428	return s
22429}
22430
22431type ReleaseStaticIpOutput struct {
22432	_ struct{} `type:"structure"`
22433
22434	// An array of key-value pairs containing information about the request operation.
22435	Operations []*Operation `locationName:"operations" type:"list"`
22436}
22437
22438// String returns the string representation
22439func (s ReleaseStaticIpOutput) String() string {
22440	return awsutil.Prettify(s)
22441}
22442
22443// GoString returns the string representation
22444func (s ReleaseStaticIpOutput) GoString() string {
22445	return s.String()
22446}
22447
22448// SetOperations sets the Operations field's value.
22449func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
22450	s.Operations = v
22451	return s
22452}
22453
22454// Describes the resource location.
22455type ResourceLocation struct {
22456	_ struct{} `type:"structure"`
22457
22458	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
22459	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
22460
22461	// The AWS Region name.
22462	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
22463}
22464
22465// String returns the string representation
22466func (s ResourceLocation) String() string {
22467	return awsutil.Prettify(s)
22468}
22469
22470// GoString returns the string representation
22471func (s ResourceLocation) GoString() string {
22472	return s.String()
22473}
22474
22475// SetAvailabilityZone sets the AvailabilityZone field's value.
22476func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
22477	s.AvailabilityZone = &v
22478	return s
22479}
22480
22481// SetRegionName sets the RegionName field's value.
22482func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
22483	s.RegionName = &v
22484	return s
22485}
22486
22487type StartInstanceInput struct {
22488	_ struct{} `type:"structure"`
22489
22490	// The name of the instance (a virtual private server) to start.
22491	//
22492	// InstanceName is a required field
22493	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22494}
22495
22496// String returns the string representation
22497func (s StartInstanceInput) String() string {
22498	return awsutil.Prettify(s)
22499}
22500
22501// GoString returns the string representation
22502func (s StartInstanceInput) GoString() string {
22503	return s.String()
22504}
22505
22506// Validate inspects the fields of the type to determine if they are valid.
22507func (s *StartInstanceInput) Validate() error {
22508	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
22509	if s.InstanceName == nil {
22510		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22511	}
22512
22513	if invalidParams.Len() > 0 {
22514		return invalidParams
22515	}
22516	return nil
22517}
22518
22519// SetInstanceName sets the InstanceName field's value.
22520func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
22521	s.InstanceName = &v
22522	return s
22523}
22524
22525type StartInstanceOutput struct {
22526	_ struct{} `type:"structure"`
22527
22528	// An array of key-value pairs containing information about the request operation.
22529	Operations []*Operation `locationName:"operations" type:"list"`
22530}
22531
22532// String returns the string representation
22533func (s StartInstanceOutput) String() string {
22534	return awsutil.Prettify(s)
22535}
22536
22537// GoString returns the string representation
22538func (s StartInstanceOutput) GoString() string {
22539	return s.String()
22540}
22541
22542// SetOperations sets the Operations field's value.
22543func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
22544	s.Operations = v
22545	return s
22546}
22547
22548type StartRelationalDatabaseInput struct {
22549	_ struct{} `type:"structure"`
22550
22551	// The name of your database to start.
22552	//
22553	// RelationalDatabaseName is a required field
22554	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22555}
22556
22557// String returns the string representation
22558func (s StartRelationalDatabaseInput) String() string {
22559	return awsutil.Prettify(s)
22560}
22561
22562// GoString returns the string representation
22563func (s StartRelationalDatabaseInput) GoString() string {
22564	return s.String()
22565}
22566
22567// Validate inspects the fields of the type to determine if they are valid.
22568func (s *StartRelationalDatabaseInput) Validate() error {
22569	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
22570	if s.RelationalDatabaseName == nil {
22571		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22572	}
22573
22574	if invalidParams.Len() > 0 {
22575		return invalidParams
22576	}
22577	return nil
22578}
22579
22580// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
22581func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
22582	s.RelationalDatabaseName = &v
22583	return s
22584}
22585
22586type StartRelationalDatabaseOutput struct {
22587	_ struct{} `type:"structure"`
22588
22589	// An object describing the result of your start relational database request.
22590	Operations []*Operation `locationName:"operations" type:"list"`
22591}
22592
22593// String returns the string representation
22594func (s StartRelationalDatabaseOutput) String() string {
22595	return awsutil.Prettify(s)
22596}
22597
22598// GoString returns the string representation
22599func (s StartRelationalDatabaseOutput) GoString() string {
22600	return s.String()
22601}
22602
22603// SetOperations sets the Operations field's value.
22604func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
22605	s.Operations = v
22606	return s
22607}
22608
22609// Describes the static IP.
22610type StaticIp struct {
22611	_ struct{} `type:"structure"`
22612
22613	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
22614	Arn *string `locationName:"arn" type:"string"`
22615
22616	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
22617	AttachedTo *string `locationName:"attachedTo" type:"string"`
22618
22619	// The timestamp when the static IP was created (e.g., 1479735304.222).
22620	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22621
22622	// The static IP address.
22623	IpAddress *string `locationName:"ipAddress" type:"string"`
22624
22625	// A Boolean value indicating whether the static IP is attached.
22626	IsAttached *bool `locationName:"isAttached" type:"boolean"`
22627
22628	// The region and Availability Zone where the static IP was created.
22629	Location *ResourceLocation `locationName:"location" type:"structure"`
22630
22631	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
22632	Name *string `locationName:"name" type:"string"`
22633
22634	// The resource type (usually StaticIp).
22635	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22636
22637	// The support code. Include this code in your email to support when you have
22638	// questions about an instance or another resource in Lightsail. This code enables
22639	// our support team to look up your Lightsail information more easily.
22640	SupportCode *string `locationName:"supportCode" type:"string"`
22641}
22642
22643// String returns the string representation
22644func (s StaticIp) String() string {
22645	return awsutil.Prettify(s)
22646}
22647
22648// GoString returns the string representation
22649func (s StaticIp) GoString() string {
22650	return s.String()
22651}
22652
22653// SetArn sets the Arn field's value.
22654func (s *StaticIp) SetArn(v string) *StaticIp {
22655	s.Arn = &v
22656	return s
22657}
22658
22659// SetAttachedTo sets the AttachedTo field's value.
22660func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
22661	s.AttachedTo = &v
22662	return s
22663}
22664
22665// SetCreatedAt sets the CreatedAt field's value.
22666func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
22667	s.CreatedAt = &v
22668	return s
22669}
22670
22671// SetIpAddress sets the IpAddress field's value.
22672func (s *StaticIp) SetIpAddress(v string) *StaticIp {
22673	s.IpAddress = &v
22674	return s
22675}
22676
22677// SetIsAttached sets the IsAttached field's value.
22678func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
22679	s.IsAttached = &v
22680	return s
22681}
22682
22683// SetLocation sets the Location field's value.
22684func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
22685	s.Location = v
22686	return s
22687}
22688
22689// SetName sets the Name field's value.
22690func (s *StaticIp) SetName(v string) *StaticIp {
22691	s.Name = &v
22692	return s
22693}
22694
22695// SetResourceType sets the ResourceType field's value.
22696func (s *StaticIp) SetResourceType(v string) *StaticIp {
22697	s.ResourceType = &v
22698	return s
22699}
22700
22701// SetSupportCode sets the SupportCode field's value.
22702func (s *StaticIp) SetSupportCode(v string) *StaticIp {
22703	s.SupportCode = &v
22704	return s
22705}
22706
22707type StopInstanceInput struct {
22708	_ struct{} `type:"structure"`
22709
22710	// When set to True, forces a Lightsail instance that is stuck in a stopping
22711	// state to stop.
22712	//
22713	// Only use the force parameter if your instance is stuck in the stopping state.
22714	// In any other state, your instance should stop normally without adding this
22715	// parameter to your API request.
22716	Force *bool `locationName:"force" type:"boolean"`
22717
22718	// The name of the instance (a virtual private server) to stop.
22719	//
22720	// InstanceName is a required field
22721	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22722}
22723
22724// String returns the string representation
22725func (s StopInstanceInput) String() string {
22726	return awsutil.Prettify(s)
22727}
22728
22729// GoString returns the string representation
22730func (s StopInstanceInput) GoString() string {
22731	return s.String()
22732}
22733
22734// Validate inspects the fields of the type to determine if they are valid.
22735func (s *StopInstanceInput) Validate() error {
22736	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
22737	if s.InstanceName == nil {
22738		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22739	}
22740
22741	if invalidParams.Len() > 0 {
22742		return invalidParams
22743	}
22744	return nil
22745}
22746
22747// SetForce sets the Force field's value.
22748func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
22749	s.Force = &v
22750	return s
22751}
22752
22753// SetInstanceName sets the InstanceName field's value.
22754func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
22755	s.InstanceName = &v
22756	return s
22757}
22758
22759type StopInstanceOutput struct {
22760	_ struct{} `type:"structure"`
22761
22762	// An array of key-value pairs containing information about the request operation.
22763	Operations []*Operation `locationName:"operations" type:"list"`
22764}
22765
22766// String returns the string representation
22767func (s StopInstanceOutput) String() string {
22768	return awsutil.Prettify(s)
22769}
22770
22771// GoString returns the string representation
22772func (s StopInstanceOutput) GoString() string {
22773	return s.String()
22774}
22775
22776// SetOperations sets the Operations field's value.
22777func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
22778	s.Operations = v
22779	return s
22780}
22781
22782type StopRelationalDatabaseInput struct {
22783	_ struct{} `type:"structure"`
22784
22785	// The name of your database to stop.
22786	//
22787	// RelationalDatabaseName is a required field
22788	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22789
22790	// The name of your new database snapshot to be created before stopping your
22791	// database.
22792	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
22793}
22794
22795// String returns the string representation
22796func (s StopRelationalDatabaseInput) String() string {
22797	return awsutil.Prettify(s)
22798}
22799
22800// GoString returns the string representation
22801func (s StopRelationalDatabaseInput) GoString() string {
22802	return s.String()
22803}
22804
22805// Validate inspects the fields of the type to determine if they are valid.
22806func (s *StopRelationalDatabaseInput) Validate() error {
22807	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
22808	if s.RelationalDatabaseName == nil {
22809		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22810	}
22811
22812	if invalidParams.Len() > 0 {
22813		return invalidParams
22814	}
22815	return nil
22816}
22817
22818// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
22819func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
22820	s.RelationalDatabaseName = &v
22821	return s
22822}
22823
22824// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
22825func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
22826	s.RelationalDatabaseSnapshotName = &v
22827	return s
22828}
22829
22830type StopRelationalDatabaseOutput struct {
22831	_ struct{} `type:"structure"`
22832
22833	// An object describing the result of your stop relational database request.
22834	Operations []*Operation `locationName:"operations" type:"list"`
22835}
22836
22837// String returns the string representation
22838func (s StopRelationalDatabaseOutput) String() string {
22839	return awsutil.Prettify(s)
22840}
22841
22842// GoString returns the string representation
22843func (s StopRelationalDatabaseOutput) GoString() string {
22844	return s.String()
22845}
22846
22847// SetOperations sets the Operations field's value.
22848func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
22849	s.Operations = v
22850	return s
22851}
22852
22853// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
22854//
22855// For more information about tags in Lightsail, see the Lightsail Dev Guide
22856// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
22857type Tag struct {
22858	_ struct{} `type:"structure"`
22859
22860	// The key of the tag.
22861	//
22862	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
22863	// UTF-8, or the following characters: + - = . _ : / @
22864	Key *string `locationName:"key" type:"string"`
22865
22866	// The value of the tag.
22867	//
22868	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
22869	// in UTF-8, or the following characters: + - = . _ : / @
22870	Value *string `locationName:"value" type:"string"`
22871}
22872
22873// String returns the string representation
22874func (s Tag) String() string {
22875	return awsutil.Prettify(s)
22876}
22877
22878// GoString returns the string representation
22879func (s Tag) GoString() string {
22880	return s.String()
22881}
22882
22883// SetKey sets the Key field's value.
22884func (s *Tag) SetKey(v string) *Tag {
22885	s.Key = &v
22886	return s
22887}
22888
22889// SetValue sets the Value field's value.
22890func (s *Tag) SetValue(v string) *Tag {
22891	s.Value = &v
22892	return s
22893}
22894
22895type TagResourceInput struct {
22896	_ struct{} `type:"structure"`
22897
22898	// The name of the resource to which you are adding tags.
22899	//
22900	// ResourceName is a required field
22901	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
22902
22903	// The tag key and optional value.
22904	//
22905	// Tags is a required field
22906	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
22907}
22908
22909// String returns the string representation
22910func (s TagResourceInput) String() string {
22911	return awsutil.Prettify(s)
22912}
22913
22914// GoString returns the string representation
22915func (s TagResourceInput) GoString() string {
22916	return s.String()
22917}
22918
22919// Validate inspects the fields of the type to determine if they are valid.
22920func (s *TagResourceInput) Validate() error {
22921	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
22922	if s.ResourceName == nil {
22923		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
22924	}
22925	if s.Tags == nil {
22926		invalidParams.Add(request.NewErrParamRequired("Tags"))
22927	}
22928
22929	if invalidParams.Len() > 0 {
22930		return invalidParams
22931	}
22932	return nil
22933}
22934
22935// SetResourceName sets the ResourceName field's value.
22936func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
22937	s.ResourceName = &v
22938	return s
22939}
22940
22941// SetTags sets the Tags field's value.
22942func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
22943	s.Tags = v
22944	return s
22945}
22946
22947type TagResourceOutput struct {
22948	_ struct{} `type:"structure"`
22949
22950	// A list of objects describing the API operation.
22951	Operations []*Operation `locationName:"operations" type:"list"`
22952}
22953
22954// String returns the string representation
22955func (s TagResourceOutput) String() string {
22956	return awsutil.Prettify(s)
22957}
22958
22959// GoString returns the string representation
22960func (s TagResourceOutput) GoString() string {
22961	return s.String()
22962}
22963
22964// SetOperations sets the Operations field's value.
22965func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
22966	s.Operations = v
22967	return s
22968}
22969
22970type UnpeerVpcInput struct {
22971	_ struct{} `type:"structure"`
22972}
22973
22974// String returns the string representation
22975func (s UnpeerVpcInput) String() string {
22976	return awsutil.Prettify(s)
22977}
22978
22979// GoString returns the string representation
22980func (s UnpeerVpcInput) GoString() string {
22981	return s.String()
22982}
22983
22984type UnpeerVpcOutput struct {
22985	_ struct{} `type:"structure"`
22986
22987	// An array of key-value pairs containing information about the request operation.
22988	Operation *Operation `locationName:"operation" type:"structure"`
22989}
22990
22991// String returns the string representation
22992func (s UnpeerVpcOutput) String() string {
22993	return awsutil.Prettify(s)
22994}
22995
22996// GoString returns the string representation
22997func (s UnpeerVpcOutput) GoString() string {
22998	return s.String()
22999}
23000
23001// SetOperation sets the Operation field's value.
23002func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
23003	s.Operation = v
23004	return s
23005}
23006
23007type UntagResourceInput struct {
23008	_ struct{} `type:"structure"`
23009
23010	// The name of the resource from which you are removing a tag.
23011	//
23012	// ResourceName is a required field
23013	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
23014
23015	// The tag keys to delete from the specified resource.
23016	//
23017	// TagKeys is a required field
23018	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
23019}
23020
23021// String returns the string representation
23022func (s UntagResourceInput) String() string {
23023	return awsutil.Prettify(s)
23024}
23025
23026// GoString returns the string representation
23027func (s UntagResourceInput) GoString() string {
23028	return s.String()
23029}
23030
23031// Validate inspects the fields of the type to determine if they are valid.
23032func (s *UntagResourceInput) Validate() error {
23033	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
23034	if s.ResourceName == nil {
23035		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
23036	}
23037	if s.TagKeys == nil {
23038		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
23039	}
23040
23041	if invalidParams.Len() > 0 {
23042		return invalidParams
23043	}
23044	return nil
23045}
23046
23047// SetResourceName sets the ResourceName field's value.
23048func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
23049	s.ResourceName = &v
23050	return s
23051}
23052
23053// SetTagKeys sets the TagKeys field's value.
23054func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
23055	s.TagKeys = v
23056	return s
23057}
23058
23059type UntagResourceOutput struct {
23060	_ struct{} `type:"structure"`
23061
23062	// A list of objects describing the API operation.
23063	Operations []*Operation `locationName:"operations" type:"list"`
23064}
23065
23066// String returns the string representation
23067func (s UntagResourceOutput) String() string {
23068	return awsutil.Prettify(s)
23069}
23070
23071// GoString returns the string representation
23072func (s UntagResourceOutput) GoString() string {
23073	return s.String()
23074}
23075
23076// SetOperations sets the Operations field's value.
23077func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
23078	s.Operations = v
23079	return s
23080}
23081
23082type UpdateDomainEntryInput struct {
23083	_ struct{} `type:"structure"`
23084
23085	// An array of key-value pairs containing information about the domain entry.
23086	//
23087	// DomainEntry is a required field
23088	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
23089
23090	// The name of the domain recordset to update.
23091	//
23092	// DomainName is a required field
23093	DomainName *string `locationName:"domainName" type:"string" required:"true"`
23094}
23095
23096// String returns the string representation
23097func (s UpdateDomainEntryInput) String() string {
23098	return awsutil.Prettify(s)
23099}
23100
23101// GoString returns the string representation
23102func (s UpdateDomainEntryInput) GoString() string {
23103	return s.String()
23104}
23105
23106// Validate inspects the fields of the type to determine if they are valid.
23107func (s *UpdateDomainEntryInput) Validate() error {
23108	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
23109	if s.DomainEntry == nil {
23110		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
23111	}
23112	if s.DomainName == nil {
23113		invalidParams.Add(request.NewErrParamRequired("DomainName"))
23114	}
23115
23116	if invalidParams.Len() > 0 {
23117		return invalidParams
23118	}
23119	return nil
23120}
23121
23122// SetDomainEntry sets the DomainEntry field's value.
23123func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
23124	s.DomainEntry = v
23125	return s
23126}
23127
23128// SetDomainName sets the DomainName field's value.
23129func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
23130	s.DomainName = &v
23131	return s
23132}
23133
23134type UpdateDomainEntryOutput struct {
23135	_ struct{} `type:"structure"`
23136
23137	// An array of key-value pairs containing information about the request operation.
23138	Operations []*Operation `locationName:"operations" type:"list"`
23139}
23140
23141// String returns the string representation
23142func (s UpdateDomainEntryOutput) String() string {
23143	return awsutil.Prettify(s)
23144}
23145
23146// GoString returns the string representation
23147func (s UpdateDomainEntryOutput) GoString() string {
23148	return s.String()
23149}
23150
23151// SetOperations sets the Operations field's value.
23152func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
23153	s.Operations = v
23154	return s
23155}
23156
23157type UpdateLoadBalancerAttributeInput struct {
23158	_ struct{} `type:"structure"`
23159
23160	// The name of the attribute you want to update. Valid values are below.
23161	//
23162	// AttributeName is a required field
23163	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
23164
23165	// The value that you want to specify for the attribute name.
23166	//
23167	// AttributeValue is a required field
23168	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
23169
23170	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
23171	//
23172	// LoadBalancerName is a required field
23173	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
23174}
23175
23176// String returns the string representation
23177func (s UpdateLoadBalancerAttributeInput) String() string {
23178	return awsutil.Prettify(s)
23179}
23180
23181// GoString returns the string representation
23182func (s UpdateLoadBalancerAttributeInput) GoString() string {
23183	return s.String()
23184}
23185
23186// Validate inspects the fields of the type to determine if they are valid.
23187func (s *UpdateLoadBalancerAttributeInput) Validate() error {
23188	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
23189	if s.AttributeName == nil {
23190		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
23191	}
23192	if s.AttributeValue == nil {
23193		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
23194	}
23195	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
23196		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
23197	}
23198	if s.LoadBalancerName == nil {
23199		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
23200	}
23201
23202	if invalidParams.Len() > 0 {
23203		return invalidParams
23204	}
23205	return nil
23206}
23207
23208// SetAttributeName sets the AttributeName field's value.
23209func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
23210	s.AttributeName = &v
23211	return s
23212}
23213
23214// SetAttributeValue sets the AttributeValue field's value.
23215func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
23216	s.AttributeValue = &v
23217	return s
23218}
23219
23220// SetLoadBalancerName sets the LoadBalancerName field's value.
23221func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
23222	s.LoadBalancerName = &v
23223	return s
23224}
23225
23226type UpdateLoadBalancerAttributeOutput struct {
23227	_ struct{} `type:"structure"`
23228
23229	// An object describing the API operations.
23230	Operations []*Operation `locationName:"operations" type:"list"`
23231}
23232
23233// String returns the string representation
23234func (s UpdateLoadBalancerAttributeOutput) String() string {
23235	return awsutil.Prettify(s)
23236}
23237
23238// GoString returns the string representation
23239func (s UpdateLoadBalancerAttributeOutput) GoString() string {
23240	return s.String()
23241}
23242
23243// SetOperations sets the Operations field's value.
23244func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
23245	s.Operations = v
23246	return s
23247}
23248
23249type UpdateRelationalDatabaseInput struct {
23250	_ struct{} `type:"structure"`
23251
23252	// When true, applies changes immediately. When false, applies changes during
23253	// the preferred maintenance window. Some changes may cause an outage.
23254	//
23255	// Default: false
23256	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
23257
23258	// When true, disables automated backup retention for your database.
23259	//
23260	// Disabling backup retention deletes all automated database backups. Before
23261	// disabling this, you may want to create a snapshot of your database using
23262	// the create relational database snapshot operation.
23263	//
23264	// Updates are applied during the next maintenance window because this can result
23265	// in an outage.
23266	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
23267
23268	// When true, enables automated backup retention for your database.
23269	//
23270	// Updates are applied during the next maintenance window because this can result
23271	// in an outage.
23272	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
23273
23274	// The password for the master user of your database. The password can include
23275	// any printable ASCII character except "/", """, or "@".
23276	//
23277	// Constraints: Must contain 8 to 41 characters.
23278	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
23279
23280	// The daily time range during which automated backups are created for your
23281	// database if automated backups are enabled.
23282	//
23283	// Constraints:
23284	//
23285	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
23286	//
23287	//    * Specified in Universal Coordinated Time (UTC).
23288	//
23289	//    * Must not conflict with the preferred maintenance window.
23290	//
23291	//    * Must be at least 30 minutes.
23292	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
23293
23294	// The weekly time range during which system maintenance can occur on your database.
23295	//
23296	// The default is a 30-minute window selected at random from an 8-hour block
23297	// of time for each AWS Region, occurring on a random day of the week.
23298	//
23299	// Constraints:
23300	//
23301	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
23302	//
23303	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
23304	//
23305	//    * Must be at least 30 minutes.
23306	//
23307	//    * Specified in Universal Coordinated Time (UTC).
23308	//
23309	//    * Example: Tue:17:00-Tue:17:30
23310	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
23311
23312	// Specifies the accessibility options for your database. A value of true specifies
23313	// a database that is available to resources outside of your Lightsail account.
23314	// A value of false specifies a database that is available only to your Lightsail
23315	// resources in the same region as your database.
23316	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
23317
23318	// The name of your database to update.
23319	//
23320	// RelationalDatabaseName is a required field
23321	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23322
23323	// When true, the master user password is changed to a new strong password generated
23324	// by Lightsail.
23325	//
23326	// Use the get relational database master user password operation to get the
23327	// new password.
23328	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
23329}
23330
23331// String returns the string representation
23332func (s UpdateRelationalDatabaseInput) String() string {
23333	return awsutil.Prettify(s)
23334}
23335
23336// GoString returns the string representation
23337func (s UpdateRelationalDatabaseInput) GoString() string {
23338	return s.String()
23339}
23340
23341// Validate inspects the fields of the type to determine if they are valid.
23342func (s *UpdateRelationalDatabaseInput) Validate() error {
23343	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
23344	if s.RelationalDatabaseName == nil {
23345		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23346	}
23347
23348	if invalidParams.Len() > 0 {
23349		return invalidParams
23350	}
23351	return nil
23352}
23353
23354// SetApplyImmediately sets the ApplyImmediately field's value.
23355func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
23356	s.ApplyImmediately = &v
23357	return s
23358}
23359
23360// SetDisableBackupRetention sets the DisableBackupRetention field's value.
23361func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
23362	s.DisableBackupRetention = &v
23363	return s
23364}
23365
23366// SetEnableBackupRetention sets the EnableBackupRetention field's value.
23367func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
23368	s.EnableBackupRetention = &v
23369	return s
23370}
23371
23372// SetMasterUserPassword sets the MasterUserPassword field's value.
23373func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
23374	s.MasterUserPassword = &v
23375	return s
23376}
23377
23378// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23379func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
23380	s.PreferredBackupWindow = &v
23381	return s
23382}
23383
23384// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23385func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
23386	s.PreferredMaintenanceWindow = &v
23387	return s
23388}
23389
23390// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23391func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
23392	s.PubliclyAccessible = &v
23393	return s
23394}
23395
23396// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23397func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
23398	s.RelationalDatabaseName = &v
23399	return s
23400}
23401
23402// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
23403func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
23404	s.RotateMasterUserPassword = &v
23405	return s
23406}
23407
23408type UpdateRelationalDatabaseOutput struct {
23409	_ struct{} `type:"structure"`
23410
23411	// An object describing the result of your update relational database request.
23412	Operations []*Operation `locationName:"operations" type:"list"`
23413}
23414
23415// String returns the string representation
23416func (s UpdateRelationalDatabaseOutput) String() string {
23417	return awsutil.Prettify(s)
23418}
23419
23420// GoString returns the string representation
23421func (s UpdateRelationalDatabaseOutput) GoString() string {
23422	return s.String()
23423}
23424
23425// SetOperations sets the Operations field's value.
23426func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
23427	s.Operations = v
23428	return s
23429}
23430
23431type UpdateRelationalDatabaseParametersInput struct {
23432	_ struct{} `type:"structure"`
23433
23434	// The database parameters to update.
23435	//
23436	// Parameters is a required field
23437	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
23438
23439	// The name of your database for which to update parameters.
23440	//
23441	// RelationalDatabaseName is a required field
23442	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23443}
23444
23445// String returns the string representation
23446func (s UpdateRelationalDatabaseParametersInput) String() string {
23447	return awsutil.Prettify(s)
23448}
23449
23450// GoString returns the string representation
23451func (s UpdateRelationalDatabaseParametersInput) GoString() string {
23452	return s.String()
23453}
23454
23455// Validate inspects the fields of the type to determine if they are valid.
23456func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
23457	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
23458	if s.Parameters == nil {
23459		invalidParams.Add(request.NewErrParamRequired("Parameters"))
23460	}
23461	if s.RelationalDatabaseName == nil {
23462		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23463	}
23464
23465	if invalidParams.Len() > 0 {
23466		return invalidParams
23467	}
23468	return nil
23469}
23470
23471// SetParameters sets the Parameters field's value.
23472func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
23473	s.Parameters = v
23474	return s
23475}
23476
23477// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23478func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
23479	s.RelationalDatabaseName = &v
23480	return s
23481}
23482
23483type UpdateRelationalDatabaseParametersOutput struct {
23484	_ struct{} `type:"structure"`
23485
23486	// An object describing the result of your update relational database parameters
23487	// request.
23488	Operations []*Operation `locationName:"operations" type:"list"`
23489}
23490
23491// String returns the string representation
23492func (s UpdateRelationalDatabaseParametersOutput) String() string {
23493	return awsutil.Prettify(s)
23494}
23495
23496// GoString returns the string representation
23497func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
23498	return s.String()
23499}
23500
23501// SetOperations sets the Operations field's value.
23502func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
23503	s.Operations = v
23504	return s
23505}
23506
23507const (
23508	// AccessDirectionInbound is a AccessDirection enum value
23509	AccessDirectionInbound = "inbound"
23510
23511	// AccessDirectionOutbound is a AccessDirection enum value
23512	AccessDirectionOutbound = "outbound"
23513)
23514
23515const (
23516	// BlueprintTypeOs is a BlueprintType enum value
23517	BlueprintTypeOs = "os"
23518
23519	// BlueprintTypeApp is a BlueprintType enum value
23520	BlueprintTypeApp = "app"
23521)
23522
23523const (
23524	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
23525	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
23526)
23527
23528const (
23529	// DiskSnapshotStatePending is a DiskSnapshotState enum value
23530	DiskSnapshotStatePending = "pending"
23531
23532	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
23533	DiskSnapshotStateCompleted = "completed"
23534
23535	// DiskSnapshotStateError is a DiskSnapshotState enum value
23536	DiskSnapshotStateError = "error"
23537
23538	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
23539	DiskSnapshotStateUnknown = "unknown"
23540)
23541
23542const (
23543	// DiskStatePending is a DiskState enum value
23544	DiskStatePending = "pending"
23545
23546	// DiskStateError is a DiskState enum value
23547	DiskStateError = "error"
23548
23549	// DiskStateAvailable is a DiskState enum value
23550	DiskStateAvailable = "available"
23551
23552	// DiskStateInUse is a DiskState enum value
23553	DiskStateInUse = "in-use"
23554
23555	// DiskStateUnknown is a DiskState enum value
23556	DiskStateUnknown = "unknown"
23557)
23558
23559const (
23560	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
23561	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
23562
23563	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
23564	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
23565)
23566
23567const (
23568	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
23569	InstanceAccessProtocolSsh = "ssh"
23570
23571	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
23572	InstanceAccessProtocolRdp = "rdp"
23573)
23574
23575const (
23576	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
23577	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
23578
23579	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
23580	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
23581
23582	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
23583	InstanceHealthReasonLbInternalError = "Lb.InternalError"
23584
23585	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
23586	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
23587
23588	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
23589	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
23590
23591	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
23592	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
23593
23594	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
23595	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
23596
23597	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
23598	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
23599
23600	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
23601	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
23602
23603	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
23604	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
23605
23606	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
23607	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
23608)
23609
23610const (
23611	// InstanceHealthStateInitial is a InstanceHealthState enum value
23612	InstanceHealthStateInitial = "initial"
23613
23614	// InstanceHealthStateHealthy is a InstanceHealthState enum value
23615	InstanceHealthStateHealthy = "healthy"
23616
23617	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
23618	InstanceHealthStateUnhealthy = "unhealthy"
23619
23620	// InstanceHealthStateUnused is a InstanceHealthState enum value
23621	InstanceHealthStateUnused = "unused"
23622
23623	// InstanceHealthStateDraining is a InstanceHealthState enum value
23624	InstanceHealthStateDraining = "draining"
23625
23626	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
23627	InstanceHealthStateUnavailable = "unavailable"
23628)
23629
23630const (
23631	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
23632	InstanceMetricNameCpuutilization = "CPUUtilization"
23633
23634	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
23635	InstanceMetricNameNetworkIn = "NetworkIn"
23636
23637	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
23638	InstanceMetricNameNetworkOut = "NetworkOut"
23639
23640	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
23641	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
23642
23643	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
23644	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
23645
23646	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
23647	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
23648)
23649
23650const (
23651	// InstancePlatformLinuxUnix is a InstancePlatform enum value
23652	InstancePlatformLinuxUnix = "LINUX_UNIX"
23653
23654	// InstancePlatformWindows is a InstancePlatform enum value
23655	InstancePlatformWindows = "WINDOWS"
23656)
23657
23658const (
23659	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
23660	InstanceSnapshotStatePending = "pending"
23661
23662	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
23663	InstanceSnapshotStateError = "error"
23664
23665	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
23666	InstanceSnapshotStateAvailable = "available"
23667)
23668
23669const (
23670	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
23671	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
23672
23673	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
23674	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
23675
23676	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
23677	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
23678)
23679
23680const (
23681	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
23682	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
23683
23684	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
23685	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
23686
23687	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
23688	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
23689
23690	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
23691	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
23692
23693	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
23694	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
23695
23696	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
23697	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
23698
23699	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
23700	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
23701
23702	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
23703	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
23704
23705	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
23706	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
23707
23708	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
23709	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
23710
23711	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
23712	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
23713
23714	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
23715	LoadBalancerMetricNameRequestCount = "RequestCount"
23716)
23717
23718const (
23719	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
23720	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
23721
23722	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
23723	LoadBalancerProtocolHttp = "HTTP"
23724)
23725
23726const (
23727	// LoadBalancerStateActive is a LoadBalancerState enum value
23728	LoadBalancerStateActive = "active"
23729
23730	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
23731	LoadBalancerStateProvisioning = "provisioning"
23732
23733	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
23734	LoadBalancerStateActiveImpaired = "active_impaired"
23735
23736	// LoadBalancerStateFailed is a LoadBalancerState enum value
23737	LoadBalancerStateFailed = "failed"
23738
23739	// LoadBalancerStateUnknown is a LoadBalancerState enum value
23740	LoadBalancerStateUnknown = "unknown"
23741)
23742
23743const (
23744	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
23745	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
23746
23747	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
23748	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
23749
23750	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
23751	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
23752)
23753
23754const (
23755	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
23756	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
23757
23758	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
23759	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
23760
23761	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
23762	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
23763
23764	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
23765	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
23766
23767	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
23768	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
23769)
23770
23771const (
23772	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
23773	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
23774
23775	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
23776	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
23777
23778	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
23779	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
23780
23781	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
23782	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
23783)
23784
23785const (
23786	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
23787	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
23788
23789	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
23790	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
23791
23792	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
23793	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
23794
23795	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
23796	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
23797
23798	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
23799	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
23800
23801	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
23802	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
23803
23804	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
23805	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
23806
23807	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
23808	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
23809
23810	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
23811	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
23812
23813	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
23814	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
23815)
23816
23817const (
23818	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
23819	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
23820
23821	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
23822	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
23823
23824	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
23825	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
23826
23827	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
23828	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
23829
23830	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
23831	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
23832
23833	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
23834	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
23835
23836	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
23837	LoadBalancerTlsCertificateStatusFailed = "FAILED"
23838
23839	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
23840	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
23841)
23842
23843const (
23844	// MetricStatisticMinimum is a MetricStatistic enum value
23845	MetricStatisticMinimum = "Minimum"
23846
23847	// MetricStatisticMaximum is a MetricStatistic enum value
23848	MetricStatisticMaximum = "Maximum"
23849
23850	// MetricStatisticSum is a MetricStatistic enum value
23851	MetricStatisticSum = "Sum"
23852
23853	// MetricStatisticAverage is a MetricStatistic enum value
23854	MetricStatisticAverage = "Average"
23855
23856	// MetricStatisticSampleCount is a MetricStatistic enum value
23857	MetricStatisticSampleCount = "SampleCount"
23858)
23859
23860const (
23861	// MetricUnitSeconds is a MetricUnit enum value
23862	MetricUnitSeconds = "Seconds"
23863
23864	// MetricUnitMicroseconds is a MetricUnit enum value
23865	MetricUnitMicroseconds = "Microseconds"
23866
23867	// MetricUnitMilliseconds is a MetricUnit enum value
23868	MetricUnitMilliseconds = "Milliseconds"
23869
23870	// MetricUnitBytes is a MetricUnit enum value
23871	MetricUnitBytes = "Bytes"
23872
23873	// MetricUnitKilobytes is a MetricUnit enum value
23874	MetricUnitKilobytes = "Kilobytes"
23875
23876	// MetricUnitMegabytes is a MetricUnit enum value
23877	MetricUnitMegabytes = "Megabytes"
23878
23879	// MetricUnitGigabytes is a MetricUnit enum value
23880	MetricUnitGigabytes = "Gigabytes"
23881
23882	// MetricUnitTerabytes is a MetricUnit enum value
23883	MetricUnitTerabytes = "Terabytes"
23884
23885	// MetricUnitBits is a MetricUnit enum value
23886	MetricUnitBits = "Bits"
23887
23888	// MetricUnitKilobits is a MetricUnit enum value
23889	MetricUnitKilobits = "Kilobits"
23890
23891	// MetricUnitMegabits is a MetricUnit enum value
23892	MetricUnitMegabits = "Megabits"
23893
23894	// MetricUnitGigabits is a MetricUnit enum value
23895	MetricUnitGigabits = "Gigabits"
23896
23897	// MetricUnitTerabits is a MetricUnit enum value
23898	MetricUnitTerabits = "Terabits"
23899
23900	// MetricUnitPercent is a MetricUnit enum value
23901	MetricUnitPercent = "Percent"
23902
23903	// MetricUnitCount is a MetricUnit enum value
23904	MetricUnitCount = "Count"
23905
23906	// MetricUnitBytesSecond is a MetricUnit enum value
23907	MetricUnitBytesSecond = "Bytes/Second"
23908
23909	// MetricUnitKilobytesSecond is a MetricUnit enum value
23910	MetricUnitKilobytesSecond = "Kilobytes/Second"
23911
23912	// MetricUnitMegabytesSecond is a MetricUnit enum value
23913	MetricUnitMegabytesSecond = "Megabytes/Second"
23914
23915	// MetricUnitGigabytesSecond is a MetricUnit enum value
23916	MetricUnitGigabytesSecond = "Gigabytes/Second"
23917
23918	// MetricUnitTerabytesSecond is a MetricUnit enum value
23919	MetricUnitTerabytesSecond = "Terabytes/Second"
23920
23921	// MetricUnitBitsSecond is a MetricUnit enum value
23922	MetricUnitBitsSecond = "Bits/Second"
23923
23924	// MetricUnitKilobitsSecond is a MetricUnit enum value
23925	MetricUnitKilobitsSecond = "Kilobits/Second"
23926
23927	// MetricUnitMegabitsSecond is a MetricUnit enum value
23928	MetricUnitMegabitsSecond = "Megabits/Second"
23929
23930	// MetricUnitGigabitsSecond is a MetricUnit enum value
23931	MetricUnitGigabitsSecond = "Gigabits/Second"
23932
23933	// MetricUnitTerabitsSecond is a MetricUnit enum value
23934	MetricUnitTerabitsSecond = "Terabits/Second"
23935
23936	// MetricUnitCountSecond is a MetricUnit enum value
23937	MetricUnitCountSecond = "Count/Second"
23938
23939	// MetricUnitNone is a MetricUnit enum value
23940	MetricUnitNone = "None"
23941)
23942
23943const (
23944	// NetworkProtocolTcp is a NetworkProtocol enum value
23945	NetworkProtocolTcp = "tcp"
23946
23947	// NetworkProtocolAll is a NetworkProtocol enum value
23948	NetworkProtocolAll = "all"
23949
23950	// NetworkProtocolUdp is a NetworkProtocol enum value
23951	NetworkProtocolUdp = "udp"
23952)
23953
23954const (
23955	// OperationStatusNotStarted is a OperationStatus enum value
23956	OperationStatusNotStarted = "NotStarted"
23957
23958	// OperationStatusStarted is a OperationStatus enum value
23959	OperationStatusStarted = "Started"
23960
23961	// OperationStatusFailed is a OperationStatus enum value
23962	OperationStatusFailed = "Failed"
23963
23964	// OperationStatusCompleted is a OperationStatus enum value
23965	OperationStatusCompleted = "Completed"
23966
23967	// OperationStatusSucceeded is a OperationStatus enum value
23968	OperationStatusSucceeded = "Succeeded"
23969)
23970
23971const (
23972	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
23973	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
23974
23975	// OperationTypeDeleteInstance is a OperationType enum value
23976	OperationTypeDeleteInstance = "DeleteInstance"
23977
23978	// OperationTypeCreateInstance is a OperationType enum value
23979	OperationTypeCreateInstance = "CreateInstance"
23980
23981	// OperationTypeStopInstance is a OperationType enum value
23982	OperationTypeStopInstance = "StopInstance"
23983
23984	// OperationTypeStartInstance is a OperationType enum value
23985	OperationTypeStartInstance = "StartInstance"
23986
23987	// OperationTypeRebootInstance is a OperationType enum value
23988	OperationTypeRebootInstance = "RebootInstance"
23989
23990	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
23991	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
23992
23993	// OperationTypePutInstancePublicPorts is a OperationType enum value
23994	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
23995
23996	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
23997	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
23998
23999	// OperationTypeAllocateStaticIp is a OperationType enum value
24000	OperationTypeAllocateStaticIp = "AllocateStaticIp"
24001
24002	// OperationTypeReleaseStaticIp is a OperationType enum value
24003	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
24004
24005	// OperationTypeAttachStaticIp is a OperationType enum value
24006	OperationTypeAttachStaticIp = "AttachStaticIp"
24007
24008	// OperationTypeDetachStaticIp is a OperationType enum value
24009	OperationTypeDetachStaticIp = "DetachStaticIp"
24010
24011	// OperationTypeUpdateDomainEntry is a OperationType enum value
24012	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
24013
24014	// OperationTypeDeleteDomainEntry is a OperationType enum value
24015	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
24016
24017	// OperationTypeCreateDomain is a OperationType enum value
24018	OperationTypeCreateDomain = "CreateDomain"
24019
24020	// OperationTypeDeleteDomain is a OperationType enum value
24021	OperationTypeDeleteDomain = "DeleteDomain"
24022
24023	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
24024	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
24025
24026	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
24027	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
24028
24029	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
24030	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
24031
24032	// OperationTypeCreateLoadBalancer is a OperationType enum value
24033	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
24034
24035	// OperationTypeDeleteLoadBalancer is a OperationType enum value
24036	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
24037
24038	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
24039	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
24040
24041	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
24042	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
24043
24044	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
24045	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
24046
24047	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
24048	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
24049
24050	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
24051	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
24052
24053	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
24054	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
24055
24056	// OperationTypeCreateDisk is a OperationType enum value
24057	OperationTypeCreateDisk = "CreateDisk"
24058
24059	// OperationTypeDeleteDisk is a OperationType enum value
24060	OperationTypeDeleteDisk = "DeleteDisk"
24061
24062	// OperationTypeAttachDisk is a OperationType enum value
24063	OperationTypeAttachDisk = "AttachDisk"
24064
24065	// OperationTypeDetachDisk is a OperationType enum value
24066	OperationTypeDetachDisk = "DetachDisk"
24067
24068	// OperationTypeCreateDiskSnapshot is a OperationType enum value
24069	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
24070
24071	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
24072	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
24073
24074	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
24075	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
24076
24077	// OperationTypeCreateRelationalDatabase is a OperationType enum value
24078	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
24079
24080	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
24081	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
24082
24083	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
24084	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
24085
24086	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
24087	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
24088
24089	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
24090	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
24091
24092	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
24093	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
24094
24095	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
24096	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
24097
24098	// OperationTypeStartRelationalDatabase is a OperationType enum value
24099	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
24100
24101	// OperationTypeRebootRelationalDatabase is a OperationType enum value
24102	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
24103
24104	// OperationTypeStopRelationalDatabase is a OperationType enum value
24105	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
24106)
24107
24108const (
24109	// PortAccessTypePublic is a PortAccessType enum value
24110	PortAccessTypePublic = "Public"
24111
24112	// PortAccessTypePrivate is a PortAccessType enum value
24113	PortAccessTypePrivate = "Private"
24114)
24115
24116const (
24117	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
24118	PortInfoSourceTypeDefault = "DEFAULT"
24119
24120	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
24121	PortInfoSourceTypeInstance = "INSTANCE"
24122
24123	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
24124	PortInfoSourceTypeNone = "NONE"
24125
24126	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
24127	PortInfoSourceTypeClosed = "CLOSED"
24128)
24129
24130const (
24131	// PortStateOpen is a PortState enum value
24132	PortStateOpen = "open"
24133
24134	// PortStateClosed is a PortState enum value
24135	PortStateClosed = "closed"
24136)
24137
24138const (
24139	// RecordStateStarted is a RecordState enum value
24140	RecordStateStarted = "Started"
24141
24142	// RecordStateSucceeded is a RecordState enum value
24143	RecordStateSucceeded = "Succeeded"
24144
24145	// RecordStateFailed is a RecordState enum value
24146	RecordStateFailed = "Failed"
24147)
24148
24149const (
24150	// RegionNameUsEast1 is a RegionName enum value
24151	RegionNameUsEast1 = "us-east-1"
24152
24153	// RegionNameUsEast2 is a RegionName enum value
24154	RegionNameUsEast2 = "us-east-2"
24155
24156	// RegionNameUsWest1 is a RegionName enum value
24157	RegionNameUsWest1 = "us-west-1"
24158
24159	// RegionNameUsWest2 is a RegionName enum value
24160	RegionNameUsWest2 = "us-west-2"
24161
24162	// RegionNameEuWest1 is a RegionName enum value
24163	RegionNameEuWest1 = "eu-west-1"
24164
24165	// RegionNameEuWest2 is a RegionName enum value
24166	RegionNameEuWest2 = "eu-west-2"
24167
24168	// RegionNameEuWest3 is a RegionName enum value
24169	RegionNameEuWest3 = "eu-west-3"
24170
24171	// RegionNameEuCentral1 is a RegionName enum value
24172	RegionNameEuCentral1 = "eu-central-1"
24173
24174	// RegionNameCaCentral1 is a RegionName enum value
24175	RegionNameCaCentral1 = "ca-central-1"
24176
24177	// RegionNameApSouth1 is a RegionName enum value
24178	RegionNameApSouth1 = "ap-south-1"
24179
24180	// RegionNameApSoutheast1 is a RegionName enum value
24181	RegionNameApSoutheast1 = "ap-southeast-1"
24182
24183	// RegionNameApSoutheast2 is a RegionName enum value
24184	RegionNameApSoutheast2 = "ap-southeast-2"
24185
24186	// RegionNameApNortheast1 is a RegionName enum value
24187	RegionNameApNortheast1 = "ap-northeast-1"
24188
24189	// RegionNameApNortheast2 is a RegionName enum value
24190	RegionNameApNortheast2 = "ap-northeast-2"
24191)
24192
24193const (
24194	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
24195	RelationalDatabaseEngineMysql = "mysql"
24196)
24197
24198const (
24199	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
24200	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
24201
24202	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
24203	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
24204
24205	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
24206	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
24207
24208	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
24209	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
24210
24211	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
24212	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
24213
24214	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
24215	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
24216)
24217
24218const (
24219	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
24220	RelationalDatabasePasswordVersionCurrent = "CURRENT"
24221
24222	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
24223	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
24224
24225	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
24226	RelationalDatabasePasswordVersionPending = "PENDING"
24227)
24228
24229const (
24230	// ResourceTypeInstance is a ResourceType enum value
24231	ResourceTypeInstance = "Instance"
24232
24233	// ResourceTypeStaticIp is a ResourceType enum value
24234	ResourceTypeStaticIp = "StaticIp"
24235
24236	// ResourceTypeKeyPair is a ResourceType enum value
24237	ResourceTypeKeyPair = "KeyPair"
24238
24239	// ResourceTypeInstanceSnapshot is a ResourceType enum value
24240	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
24241
24242	// ResourceTypeDomain is a ResourceType enum value
24243	ResourceTypeDomain = "Domain"
24244
24245	// ResourceTypePeeredVpc is a ResourceType enum value
24246	ResourceTypePeeredVpc = "PeeredVpc"
24247
24248	// ResourceTypeLoadBalancer is a ResourceType enum value
24249	ResourceTypeLoadBalancer = "LoadBalancer"
24250
24251	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
24252	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
24253
24254	// ResourceTypeDisk is a ResourceType enum value
24255	ResourceTypeDisk = "Disk"
24256
24257	// ResourceTypeDiskSnapshot is a ResourceType enum value
24258	ResourceTypeDiskSnapshot = "DiskSnapshot"
24259
24260	// ResourceTypeRelationalDatabase is a ResourceType enum value
24261	ResourceTypeRelationalDatabase = "RelationalDatabase"
24262
24263	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
24264	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
24265
24266	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
24267	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
24268
24269	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
24270	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
24271)
24272