1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package lightsail
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13)
14
15const opAllocateStaticIp = "AllocateStaticIp"
16
17// AllocateStaticIpRequest generates a "aws/request.Request" representing the
18// client's request for the AllocateStaticIp operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AllocateStaticIp for more information on using the AllocateStaticIp
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AllocateStaticIpRequest method.
33//    req, resp := client.AllocateStaticIpRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
41func (c *Lightsail) AllocateStaticIpRequest(input *AllocateStaticIpInput) (req *request.Request, output *AllocateStaticIpOutput) {
42	op := &request.Operation{
43		Name:       opAllocateStaticIp,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &AllocateStaticIpInput{}
50	}
51
52	output = &AllocateStaticIpOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AllocateStaticIp API operation for Amazon Lightsail.
58//
59// Allocates a static IP address.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for Amazon Lightsail's
66// API operation AllocateStaticIp for usage and error information.
67//
68// Returned Error Types:
69//   * ServiceException
70//   A general service exception.
71//
72//   * InvalidInputException
73//   Lightsail throws this exception when user input does not conform to the validation
74//   rules of an input field.
75//
76//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
77//   Please set your AWS Region configuration to us-east-1 to create, view, or
78//   edit these resources.
79//
80//   * NotFoundException
81//   Lightsail throws this exception when it cannot find a resource.
82//
83//   * OperationFailureException
84//   Lightsail throws this exception when an operation fails to execute.
85//
86//   * AccessDeniedException
87//   Lightsail throws this exception when the user cannot be authenticated or
88//   uses invalid credentials to access a resource.
89//
90//   * AccountSetupInProgressException
91//   Lightsail throws this exception when an account is still in the setup in
92//   progress state.
93//
94//   * UnauthenticatedException
95//   Lightsail throws this exception when the user has not been authenticated.
96//
97// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
98func (c *Lightsail) AllocateStaticIp(input *AllocateStaticIpInput) (*AllocateStaticIpOutput, error) {
99	req, out := c.AllocateStaticIpRequest(input)
100	return out, req.Send()
101}
102
103// AllocateStaticIpWithContext is the same as AllocateStaticIp with the addition of
104// the ability to pass a context and additional request options.
105//
106// See AllocateStaticIp for details on how to use this API operation.
107//
108// The context must be non-nil and will be used for request cancellation. If
109// the context is nil a panic will occur. In the future the SDK may create
110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
111// for more information on using Contexts.
112func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *AllocateStaticIpInput, opts ...request.Option) (*AllocateStaticIpOutput, error) {
113	req, out := c.AllocateStaticIpRequest(input)
114	req.SetContext(ctx)
115	req.ApplyOptions(opts...)
116	return out, req.Send()
117}
118
119const opAttachDisk = "AttachDisk"
120
121// AttachDiskRequest generates a "aws/request.Request" representing the
122// client's request for the AttachDisk operation. The "output" return
123// value will be populated with the request's response once the request completes
124// successfully.
125//
126// Use "Send" method on the returned Request to send the API call to the service.
127// the "output" return value is not valid until after Send returns without error.
128//
129// See AttachDisk for more information on using the AttachDisk
130// API call, and error handling.
131//
132// This method is useful when you want to inject custom logic or configuration
133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
134//
135//
136//    // Example sending a request using the AttachDiskRequest method.
137//    req, resp := client.AttachDiskRequest(params)
138//
139//    err := req.Send()
140//    if err == nil { // resp is now filled
141//        fmt.Println(resp)
142//    }
143//
144// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
145func (c *Lightsail) AttachDiskRequest(input *AttachDiskInput) (req *request.Request, output *AttachDiskOutput) {
146	op := &request.Operation{
147		Name:       opAttachDisk,
148		HTTPMethod: "POST",
149		HTTPPath:   "/",
150	}
151
152	if input == nil {
153		input = &AttachDiskInput{}
154	}
155
156	output = &AttachDiskOutput{}
157	req = c.newRequest(op, input, output)
158	return
159}
160
161// AttachDisk API operation for Amazon Lightsail.
162//
163// Attaches a block storage disk to a running or stopped Lightsail instance
164// and exposes it to the instance with the specified disk name.
165//
166// The attach disk operation supports tag-based access control via resource
167// tags applied to the resource identified by disk name. For more information,
168// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
169//
170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
171// with awserr.Error's Code and Message methods to get detailed information about
172// the error.
173//
174// See the AWS API reference guide for Amazon Lightsail's
175// API operation AttachDisk for usage and error information.
176//
177// Returned Error Types:
178//   * ServiceException
179//   A general service exception.
180//
181//   * InvalidInputException
182//   Lightsail throws this exception when user input does not conform to the validation
183//   rules of an input field.
184//
185//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
186//   Please set your AWS Region configuration to us-east-1 to create, view, or
187//   edit these resources.
188//
189//   * NotFoundException
190//   Lightsail throws this exception when it cannot find a resource.
191//
192//   * OperationFailureException
193//   Lightsail throws this exception when an operation fails to execute.
194//
195//   * AccessDeniedException
196//   Lightsail throws this exception when the user cannot be authenticated or
197//   uses invalid credentials to access a resource.
198//
199//   * AccountSetupInProgressException
200//   Lightsail throws this exception when an account is still in the setup in
201//   progress state.
202//
203//   * UnauthenticatedException
204//   Lightsail throws this exception when the user has not been authenticated.
205//
206// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
207func (c *Lightsail) AttachDisk(input *AttachDiskInput) (*AttachDiskOutput, error) {
208	req, out := c.AttachDiskRequest(input)
209	return out, req.Send()
210}
211
212// AttachDiskWithContext is the same as AttachDisk with the addition of
213// the ability to pass a context and additional request options.
214//
215// See AttachDisk for details on how to use this API operation.
216//
217// The context must be non-nil and will be used for request cancellation. If
218// the context is nil a panic will occur. In the future the SDK may create
219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
220// for more information on using Contexts.
221func (c *Lightsail) AttachDiskWithContext(ctx aws.Context, input *AttachDiskInput, opts ...request.Option) (*AttachDiskOutput, error) {
222	req, out := c.AttachDiskRequest(input)
223	req.SetContext(ctx)
224	req.ApplyOptions(opts...)
225	return out, req.Send()
226}
227
228const opAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
229
230// AttachInstancesToLoadBalancerRequest generates a "aws/request.Request" representing the
231// client's request for the AttachInstancesToLoadBalancer operation. The "output" return
232// value will be populated with the request's response once the request completes
233// successfully.
234//
235// Use "Send" method on the returned Request to send the API call to the service.
236// the "output" return value is not valid until after Send returns without error.
237//
238// See AttachInstancesToLoadBalancer for more information on using the AttachInstancesToLoadBalancer
239// API call, and error handling.
240//
241// This method is useful when you want to inject custom logic or configuration
242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
243//
244//
245//    // Example sending a request using the AttachInstancesToLoadBalancerRequest method.
246//    req, resp := client.AttachInstancesToLoadBalancerRequest(params)
247//
248//    err := req.Send()
249//    if err == nil { // resp is now filled
250//        fmt.Println(resp)
251//    }
252//
253// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
254func (c *Lightsail) AttachInstancesToLoadBalancerRequest(input *AttachInstancesToLoadBalancerInput) (req *request.Request, output *AttachInstancesToLoadBalancerOutput) {
255	op := &request.Operation{
256		Name:       opAttachInstancesToLoadBalancer,
257		HTTPMethod: "POST",
258		HTTPPath:   "/",
259	}
260
261	if input == nil {
262		input = &AttachInstancesToLoadBalancerInput{}
263	}
264
265	output = &AttachInstancesToLoadBalancerOutput{}
266	req = c.newRequest(op, input, output)
267	return
268}
269
270// AttachInstancesToLoadBalancer API operation for Amazon Lightsail.
271//
272// Attaches one or more Lightsail instances to a load balancer.
273//
274// After some time, the instances are attached to the load balancer and the
275// health check status is available.
276//
277// The attach instances to load balancer operation supports tag-based access
278// control via resource tags applied to the resource identified by load balancer
279// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
280//
281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
282// with awserr.Error's Code and Message methods to get detailed information about
283// the error.
284//
285// See the AWS API reference guide for Amazon Lightsail's
286// API operation AttachInstancesToLoadBalancer for usage and error information.
287//
288// Returned Error Types:
289//   * ServiceException
290//   A general service exception.
291//
292//   * InvalidInputException
293//   Lightsail throws this exception when user input does not conform to the validation
294//   rules of an input field.
295//
296//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
297//   Please set your AWS Region configuration to us-east-1 to create, view, or
298//   edit these resources.
299//
300//   * NotFoundException
301//   Lightsail throws this exception when it cannot find a resource.
302//
303//   * OperationFailureException
304//   Lightsail throws this exception when an operation fails to execute.
305//
306//   * AccessDeniedException
307//   Lightsail throws this exception when the user cannot be authenticated or
308//   uses invalid credentials to access a resource.
309//
310//   * AccountSetupInProgressException
311//   Lightsail throws this exception when an account is still in the setup in
312//   progress state.
313//
314//   * UnauthenticatedException
315//   Lightsail throws this exception when the user has not been authenticated.
316//
317// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
318func (c *Lightsail) AttachInstancesToLoadBalancer(input *AttachInstancesToLoadBalancerInput) (*AttachInstancesToLoadBalancerOutput, error) {
319	req, out := c.AttachInstancesToLoadBalancerRequest(input)
320	return out, req.Send()
321}
322
323// AttachInstancesToLoadBalancerWithContext is the same as AttachInstancesToLoadBalancer with the addition of
324// the ability to pass a context and additional request options.
325//
326// See AttachInstancesToLoadBalancer for details on how to use this API operation.
327//
328// The context must be non-nil and will be used for request cancellation. If
329// the context is nil a panic will occur. In the future the SDK may create
330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
331// for more information on using Contexts.
332func (c *Lightsail) AttachInstancesToLoadBalancerWithContext(ctx aws.Context, input *AttachInstancesToLoadBalancerInput, opts ...request.Option) (*AttachInstancesToLoadBalancerOutput, error) {
333	req, out := c.AttachInstancesToLoadBalancerRequest(input)
334	req.SetContext(ctx)
335	req.ApplyOptions(opts...)
336	return out, req.Send()
337}
338
339const opAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
340
341// AttachLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
342// client's request for the AttachLoadBalancerTlsCertificate operation. The "output" return
343// value will be populated with the request's response once the request completes
344// successfully.
345//
346// Use "Send" method on the returned Request to send the API call to the service.
347// the "output" return value is not valid until after Send returns without error.
348//
349// See AttachLoadBalancerTlsCertificate for more information on using the AttachLoadBalancerTlsCertificate
350// API call, and error handling.
351//
352// This method is useful when you want to inject custom logic or configuration
353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
354//
355//
356//    // Example sending a request using the AttachLoadBalancerTlsCertificateRequest method.
357//    req, resp := client.AttachLoadBalancerTlsCertificateRequest(params)
358//
359//    err := req.Send()
360//    if err == nil { // resp is now filled
361//        fmt.Println(resp)
362//    }
363//
364// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
365func (c *Lightsail) AttachLoadBalancerTlsCertificateRequest(input *AttachLoadBalancerTlsCertificateInput) (req *request.Request, output *AttachLoadBalancerTlsCertificateOutput) {
366	op := &request.Operation{
367		Name:       opAttachLoadBalancerTlsCertificate,
368		HTTPMethod: "POST",
369		HTTPPath:   "/",
370	}
371
372	if input == nil {
373		input = &AttachLoadBalancerTlsCertificateInput{}
374	}
375
376	output = &AttachLoadBalancerTlsCertificateOutput{}
377	req = c.newRequest(op, input, output)
378	return
379}
380
381// AttachLoadBalancerTlsCertificate API operation for Amazon Lightsail.
382//
383// Attaches a Transport Layer Security (TLS) certificate to your load balancer.
384// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
385//
386// Once you create and validate your certificate, you can attach it to your
387// load balancer. You can also use this API to rotate the certificates on your
388// account. Use the AttachLoadBalancerTlsCertificate action with the non-attached
389// certificate, and it will replace the existing one and become the attached
390// certificate.
391//
392// The AttachLoadBalancerTlsCertificate operation supports tag-based access
393// control via resource tags applied to the resource identified by load balancer
394// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
395//
396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
397// with awserr.Error's Code and Message methods to get detailed information about
398// the error.
399//
400// See the AWS API reference guide for Amazon Lightsail's
401// API operation AttachLoadBalancerTlsCertificate for usage and error information.
402//
403// Returned Error Types:
404//   * ServiceException
405//   A general service exception.
406//
407//   * InvalidInputException
408//   Lightsail throws this exception when user input does not conform to the validation
409//   rules of an input field.
410//
411//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
412//   Please set your AWS Region configuration to us-east-1 to create, view, or
413//   edit these resources.
414//
415//   * NotFoundException
416//   Lightsail throws this exception when it cannot find a resource.
417//
418//   * OperationFailureException
419//   Lightsail throws this exception when an operation fails to execute.
420//
421//   * AccessDeniedException
422//   Lightsail throws this exception when the user cannot be authenticated or
423//   uses invalid credentials to access a resource.
424//
425//   * AccountSetupInProgressException
426//   Lightsail throws this exception when an account is still in the setup in
427//   progress state.
428//
429//   * UnauthenticatedException
430//   Lightsail throws this exception when the user has not been authenticated.
431//
432// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
433func (c *Lightsail) AttachLoadBalancerTlsCertificate(input *AttachLoadBalancerTlsCertificateInput) (*AttachLoadBalancerTlsCertificateOutput, error) {
434	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
435	return out, req.Send()
436}
437
438// AttachLoadBalancerTlsCertificateWithContext is the same as AttachLoadBalancerTlsCertificate with the addition of
439// the ability to pass a context and additional request options.
440//
441// See AttachLoadBalancerTlsCertificate for details on how to use this API operation.
442//
443// The context must be non-nil and will be used for request cancellation. If
444// the context is nil a panic will occur. In the future the SDK may create
445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
446// for more information on using Contexts.
447func (c *Lightsail) AttachLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *AttachLoadBalancerTlsCertificateInput, opts ...request.Option) (*AttachLoadBalancerTlsCertificateOutput, error) {
448	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
449	req.SetContext(ctx)
450	req.ApplyOptions(opts...)
451	return out, req.Send()
452}
453
454const opAttachStaticIp = "AttachStaticIp"
455
456// AttachStaticIpRequest generates a "aws/request.Request" representing the
457// client's request for the AttachStaticIp operation. The "output" return
458// value will be populated with the request's response once the request completes
459// successfully.
460//
461// Use "Send" method on the returned Request to send the API call to the service.
462// the "output" return value is not valid until after Send returns without error.
463//
464// See AttachStaticIp for more information on using the AttachStaticIp
465// API call, and error handling.
466//
467// This method is useful when you want to inject custom logic or configuration
468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
469//
470//
471//    // Example sending a request using the AttachStaticIpRequest method.
472//    req, resp := client.AttachStaticIpRequest(params)
473//
474//    err := req.Send()
475//    if err == nil { // resp is now filled
476//        fmt.Println(resp)
477//    }
478//
479// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
480func (c *Lightsail) AttachStaticIpRequest(input *AttachStaticIpInput) (req *request.Request, output *AttachStaticIpOutput) {
481	op := &request.Operation{
482		Name:       opAttachStaticIp,
483		HTTPMethod: "POST",
484		HTTPPath:   "/",
485	}
486
487	if input == nil {
488		input = &AttachStaticIpInput{}
489	}
490
491	output = &AttachStaticIpOutput{}
492	req = c.newRequest(op, input, output)
493	return
494}
495
496// AttachStaticIp API operation for Amazon Lightsail.
497//
498// Attaches a static IP address to a specific Amazon Lightsail instance.
499//
500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
501// with awserr.Error's Code and Message methods to get detailed information about
502// the error.
503//
504// See the AWS API reference guide for Amazon Lightsail's
505// API operation AttachStaticIp for usage and error information.
506//
507// Returned Error Types:
508//   * ServiceException
509//   A general service exception.
510//
511//   * InvalidInputException
512//   Lightsail throws this exception when user input does not conform to the validation
513//   rules of an input field.
514//
515//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
516//   Please set your AWS Region configuration to us-east-1 to create, view, or
517//   edit these resources.
518//
519//   * NotFoundException
520//   Lightsail throws this exception when it cannot find a resource.
521//
522//   * OperationFailureException
523//   Lightsail throws this exception when an operation fails to execute.
524//
525//   * AccessDeniedException
526//   Lightsail throws this exception when the user cannot be authenticated or
527//   uses invalid credentials to access a resource.
528//
529//   * AccountSetupInProgressException
530//   Lightsail throws this exception when an account is still in the setup in
531//   progress state.
532//
533//   * UnauthenticatedException
534//   Lightsail throws this exception when the user has not been authenticated.
535//
536// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
537func (c *Lightsail) AttachStaticIp(input *AttachStaticIpInput) (*AttachStaticIpOutput, error) {
538	req, out := c.AttachStaticIpRequest(input)
539	return out, req.Send()
540}
541
542// AttachStaticIpWithContext is the same as AttachStaticIp with the addition of
543// the ability to pass a context and additional request options.
544//
545// See AttachStaticIp for details on how to use this API operation.
546//
547// The context must be non-nil and will be used for request cancellation. If
548// the context is nil a panic will occur. In the future the SDK may create
549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
550// for more information on using Contexts.
551func (c *Lightsail) AttachStaticIpWithContext(ctx aws.Context, input *AttachStaticIpInput, opts ...request.Option) (*AttachStaticIpOutput, error) {
552	req, out := c.AttachStaticIpRequest(input)
553	req.SetContext(ctx)
554	req.ApplyOptions(opts...)
555	return out, req.Send()
556}
557
558const opCloseInstancePublicPorts = "CloseInstancePublicPorts"
559
560// CloseInstancePublicPortsRequest generates a "aws/request.Request" representing the
561// client's request for the CloseInstancePublicPorts operation. The "output" return
562// value will be populated with the request's response once the request completes
563// successfully.
564//
565// Use "Send" method on the returned Request to send the API call to the service.
566// the "output" return value is not valid until after Send returns without error.
567//
568// See CloseInstancePublicPorts for more information on using the CloseInstancePublicPorts
569// API call, and error handling.
570//
571// This method is useful when you want to inject custom logic or configuration
572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
573//
574//
575//    // Example sending a request using the CloseInstancePublicPortsRequest method.
576//    req, resp := client.CloseInstancePublicPortsRequest(params)
577//
578//    err := req.Send()
579//    if err == nil { // resp is now filled
580//        fmt.Println(resp)
581//    }
582//
583// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
584func (c *Lightsail) CloseInstancePublicPortsRequest(input *CloseInstancePublicPortsInput) (req *request.Request, output *CloseInstancePublicPortsOutput) {
585	op := &request.Operation{
586		Name:       opCloseInstancePublicPorts,
587		HTTPMethod: "POST",
588		HTTPPath:   "/",
589	}
590
591	if input == nil {
592		input = &CloseInstancePublicPortsInput{}
593	}
594
595	output = &CloseInstancePublicPortsOutput{}
596	req = c.newRequest(op, input, output)
597	return
598}
599
600// CloseInstancePublicPorts API operation for Amazon Lightsail.
601//
602// Closes the public ports on a specific Amazon Lightsail instance.
603//
604// The close instance public ports operation supports tag-based access control
605// via resource tags applied to the resource identified by instance name. For
606// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
607//
608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
609// with awserr.Error's Code and Message methods to get detailed information about
610// the error.
611//
612// See the AWS API reference guide for Amazon Lightsail's
613// API operation CloseInstancePublicPorts for usage and error information.
614//
615// Returned Error Types:
616//   * ServiceException
617//   A general service exception.
618//
619//   * InvalidInputException
620//   Lightsail throws this exception when user input does not conform to the validation
621//   rules of an input field.
622//
623//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
624//   Please set your AWS Region configuration to us-east-1 to create, view, or
625//   edit these resources.
626//
627//   * NotFoundException
628//   Lightsail throws this exception when it cannot find a resource.
629//
630//   * OperationFailureException
631//   Lightsail throws this exception when an operation fails to execute.
632//
633//   * AccessDeniedException
634//   Lightsail throws this exception when the user cannot be authenticated or
635//   uses invalid credentials to access a resource.
636//
637//   * AccountSetupInProgressException
638//   Lightsail throws this exception when an account is still in the setup in
639//   progress state.
640//
641//   * UnauthenticatedException
642//   Lightsail throws this exception when the user has not been authenticated.
643//
644// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
645func (c *Lightsail) CloseInstancePublicPorts(input *CloseInstancePublicPortsInput) (*CloseInstancePublicPortsOutput, error) {
646	req, out := c.CloseInstancePublicPortsRequest(input)
647	return out, req.Send()
648}
649
650// CloseInstancePublicPortsWithContext is the same as CloseInstancePublicPorts with the addition of
651// the ability to pass a context and additional request options.
652//
653// See CloseInstancePublicPorts for details on how to use this API operation.
654//
655// The context must be non-nil and will be used for request cancellation. If
656// the context is nil a panic will occur. In the future the SDK may create
657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
658// for more information on using Contexts.
659func (c *Lightsail) CloseInstancePublicPortsWithContext(ctx aws.Context, input *CloseInstancePublicPortsInput, opts ...request.Option) (*CloseInstancePublicPortsOutput, error) {
660	req, out := c.CloseInstancePublicPortsRequest(input)
661	req.SetContext(ctx)
662	req.ApplyOptions(opts...)
663	return out, req.Send()
664}
665
666const opCopySnapshot = "CopySnapshot"
667
668// CopySnapshotRequest generates a "aws/request.Request" representing the
669// client's request for the CopySnapshot operation. The "output" return
670// value will be populated with the request's response once the request completes
671// successfully.
672//
673// Use "Send" method on the returned Request to send the API call to the service.
674// the "output" return value is not valid until after Send returns without error.
675//
676// See CopySnapshot for more information on using the CopySnapshot
677// API call, and error handling.
678//
679// This method is useful when you want to inject custom logic or configuration
680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
681//
682//
683//    // Example sending a request using the CopySnapshotRequest method.
684//    req, resp := client.CopySnapshotRequest(params)
685//
686//    err := req.Send()
687//    if err == nil { // resp is now filled
688//        fmt.Println(resp)
689//    }
690//
691// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
692func (c *Lightsail) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
693	op := &request.Operation{
694		Name:       opCopySnapshot,
695		HTTPMethod: "POST",
696		HTTPPath:   "/",
697	}
698
699	if input == nil {
700		input = &CopySnapshotInput{}
701	}
702
703	output = &CopySnapshotOutput{}
704	req = c.newRequest(op, input, output)
705	return
706}
707
708// CopySnapshot API operation for Amazon Lightsail.
709//
710// Copies a manual snapshot of an instance or disk as another manual snapshot,
711// or copies an automatic snapshot of an instance or disk as a manual snapshot.
712// This operation can also be used to copy a manual or automatic snapshot of
713// an instance or a disk from one AWS Region to another in Amazon Lightsail.
714//
715// When copying a manual snapshot, be sure to define the source region, source
716// snapshot name, and target snapshot name parameters.
717//
718// When copying an automatic snapshot, be sure to define the source region,
719// source resource name, target snapshot name, and either the restore date or
720// the use latest restorable auto snapshot parameters.
721//
722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
723// with awserr.Error's Code and Message methods to get detailed information about
724// the error.
725//
726// See the AWS API reference guide for Amazon Lightsail's
727// API operation CopySnapshot for usage and error information.
728//
729// Returned Error Types:
730//   * ServiceException
731//   A general service exception.
732//
733//   * InvalidInputException
734//   Lightsail throws this exception when user input does not conform to the validation
735//   rules of an input field.
736//
737//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
738//   Please set your AWS Region configuration to us-east-1 to create, view, or
739//   edit these resources.
740//
741//   * NotFoundException
742//   Lightsail throws this exception when it cannot find a resource.
743//
744//   * OperationFailureException
745//   Lightsail throws this exception when an operation fails to execute.
746//
747//   * AccessDeniedException
748//   Lightsail throws this exception when the user cannot be authenticated or
749//   uses invalid credentials to access a resource.
750//
751//   * AccountSetupInProgressException
752//   Lightsail throws this exception when an account is still in the setup in
753//   progress state.
754//
755//   * UnauthenticatedException
756//   Lightsail throws this exception when the user has not been authenticated.
757//
758// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
759func (c *Lightsail) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
760	req, out := c.CopySnapshotRequest(input)
761	return out, req.Send()
762}
763
764// CopySnapshotWithContext is the same as CopySnapshot with the addition of
765// the ability to pass a context and additional request options.
766//
767// See CopySnapshot for details on how to use this API operation.
768//
769// The context must be non-nil and will be used for request cancellation. If
770// the context is nil a panic will occur. In the future the SDK may create
771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
772// for more information on using Contexts.
773func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
774	req, out := c.CopySnapshotRequest(input)
775	req.SetContext(ctx)
776	req.ApplyOptions(opts...)
777	return out, req.Send()
778}
779
780const opCreateCloudFormationStack = "CreateCloudFormationStack"
781
782// CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
783// client's request for the CreateCloudFormationStack operation. The "output" return
784// value will be populated with the request's response once the request completes
785// successfully.
786//
787// Use "Send" method on the returned Request to send the API call to the service.
788// the "output" return value is not valid until after Send returns without error.
789//
790// See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
791// API call, and error handling.
792//
793// This method is useful when you want to inject custom logic or configuration
794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
795//
796//
797//    // Example sending a request using the CreateCloudFormationStackRequest method.
798//    req, resp := client.CreateCloudFormationStackRequest(params)
799//
800//    err := req.Send()
801//    if err == nil { // resp is now filled
802//        fmt.Println(resp)
803//    }
804//
805// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
806func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
807	op := &request.Operation{
808		Name:       opCreateCloudFormationStack,
809		HTTPMethod: "POST",
810		HTTPPath:   "/",
811	}
812
813	if input == nil {
814		input = &CreateCloudFormationStackInput{}
815	}
816
817	output = &CreateCloudFormationStackOutput{}
818	req = c.newRequest(op, input, output)
819	return
820}
821
822// CreateCloudFormationStack API operation for Amazon Lightsail.
823//
824// Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
825// from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
826// stack record that can be used to track the AWS CloudFormation stack created.
827// Use the get cloud formation stack records operation to get a list of the
828// CloudFormation stacks created.
829//
830// Wait until after your new Amazon EC2 instance is created before running the
831// create cloud formation stack operation again with the same export snapshot
832// record.
833//
834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
835// with awserr.Error's Code and Message methods to get detailed information about
836// the error.
837//
838// See the AWS API reference guide for Amazon Lightsail's
839// API operation CreateCloudFormationStack for usage and error information.
840//
841// Returned Error Types:
842//   * ServiceException
843//   A general service exception.
844//
845//   * InvalidInputException
846//   Lightsail throws this exception when user input does not conform to the validation
847//   rules of an input field.
848//
849//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
850//   Please set your AWS Region configuration to us-east-1 to create, view, or
851//   edit these resources.
852//
853//   * NotFoundException
854//   Lightsail throws this exception when it cannot find a resource.
855//
856//   * OperationFailureException
857//   Lightsail throws this exception when an operation fails to execute.
858//
859//   * AccessDeniedException
860//   Lightsail throws this exception when the user cannot be authenticated or
861//   uses invalid credentials to access a resource.
862//
863//   * AccountSetupInProgressException
864//   Lightsail throws this exception when an account is still in the setup in
865//   progress state.
866//
867//   * UnauthenticatedException
868//   Lightsail throws this exception when the user has not been authenticated.
869//
870// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
871func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
872	req, out := c.CreateCloudFormationStackRequest(input)
873	return out, req.Send()
874}
875
876// CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
877// the ability to pass a context and additional request options.
878//
879// See CreateCloudFormationStack for details on how to use this API operation.
880//
881// The context must be non-nil and will be used for request cancellation. If
882// the context is nil a panic will occur. In the future the SDK may create
883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
884// for more information on using Contexts.
885func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
886	req, out := c.CreateCloudFormationStackRequest(input)
887	req.SetContext(ctx)
888	req.ApplyOptions(opts...)
889	return out, req.Send()
890}
891
892const opCreateContactMethod = "CreateContactMethod"
893
894// CreateContactMethodRequest generates a "aws/request.Request" representing the
895// client's request for the CreateContactMethod operation. The "output" return
896// value will be populated with the request's response once the request completes
897// successfully.
898//
899// Use "Send" method on the returned Request to send the API call to the service.
900// the "output" return value is not valid until after Send returns without error.
901//
902// See CreateContactMethod for more information on using the CreateContactMethod
903// API call, and error handling.
904//
905// This method is useful when you want to inject custom logic or configuration
906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
907//
908//
909//    // Example sending a request using the CreateContactMethodRequest method.
910//    req, resp := client.CreateContactMethodRequest(params)
911//
912//    err := req.Send()
913//    if err == nil { // resp is now filled
914//        fmt.Println(resp)
915//    }
916//
917// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
918func (c *Lightsail) CreateContactMethodRequest(input *CreateContactMethodInput) (req *request.Request, output *CreateContactMethodOutput) {
919	op := &request.Operation{
920		Name:       opCreateContactMethod,
921		HTTPMethod: "POST",
922		HTTPPath:   "/",
923	}
924
925	if input == nil {
926		input = &CreateContactMethodInput{}
927	}
928
929	output = &CreateContactMethodOutput{}
930	req = c.newRequest(op, input, output)
931	return
932}
933
934// CreateContactMethod API operation for Amazon Lightsail.
935//
936// Creates an email or SMS text message contact method.
937//
938// A contact method is used to send you notifications about your Amazon Lightsail
939// resources. You can add one email address and one mobile phone number contact
940// method in each AWS Region. However, SMS text messaging is not supported in
941// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
942// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
943//
944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
945// with awserr.Error's Code and Message methods to get detailed information about
946// the error.
947//
948// See the AWS API reference guide for Amazon Lightsail's
949// API operation CreateContactMethod for usage and error information.
950//
951// Returned Error Types:
952//   * ServiceException
953//   A general service exception.
954//
955//   * InvalidInputException
956//   Lightsail throws this exception when user input does not conform to the validation
957//   rules of an input field.
958//
959//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
960//   Please set your AWS Region configuration to us-east-1 to create, view, or
961//   edit these resources.
962//
963//   * NotFoundException
964//   Lightsail throws this exception when it cannot find a resource.
965//
966//   * OperationFailureException
967//   Lightsail throws this exception when an operation fails to execute.
968//
969//   * AccessDeniedException
970//   Lightsail throws this exception when the user cannot be authenticated or
971//   uses invalid credentials to access a resource.
972//
973//   * UnauthenticatedException
974//   Lightsail throws this exception when the user has not been authenticated.
975//
976// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
977func (c *Lightsail) CreateContactMethod(input *CreateContactMethodInput) (*CreateContactMethodOutput, error) {
978	req, out := c.CreateContactMethodRequest(input)
979	return out, req.Send()
980}
981
982// CreateContactMethodWithContext is the same as CreateContactMethod with the addition of
983// the ability to pass a context and additional request options.
984//
985// See CreateContactMethod for details on how to use this API operation.
986//
987// The context must be non-nil and will be used for request cancellation. If
988// the context is nil a panic will occur. In the future the SDK may create
989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
990// for more information on using Contexts.
991func (c *Lightsail) CreateContactMethodWithContext(ctx aws.Context, input *CreateContactMethodInput, opts ...request.Option) (*CreateContactMethodOutput, error) {
992	req, out := c.CreateContactMethodRequest(input)
993	req.SetContext(ctx)
994	req.ApplyOptions(opts...)
995	return out, req.Send()
996}
997
998const opCreateDisk = "CreateDisk"
999
1000// CreateDiskRequest generates a "aws/request.Request" representing the
1001// client's request for the CreateDisk operation. The "output" return
1002// value will be populated with the request's response once the request completes
1003// successfully.
1004//
1005// Use "Send" method on the returned Request to send the API call to the service.
1006// the "output" return value is not valid until after Send returns without error.
1007//
1008// See CreateDisk for more information on using the CreateDisk
1009// API call, and error handling.
1010//
1011// This method is useful when you want to inject custom logic or configuration
1012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1013//
1014//
1015//    // Example sending a request using the CreateDiskRequest method.
1016//    req, resp := client.CreateDiskRequest(params)
1017//
1018//    err := req.Send()
1019//    if err == nil { // resp is now filled
1020//        fmt.Println(resp)
1021//    }
1022//
1023// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1024func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
1025	op := &request.Operation{
1026		Name:       opCreateDisk,
1027		HTTPMethod: "POST",
1028		HTTPPath:   "/",
1029	}
1030
1031	if input == nil {
1032		input = &CreateDiskInput{}
1033	}
1034
1035	output = &CreateDiskOutput{}
1036	req = c.newRequest(op, input, output)
1037	return
1038}
1039
1040// CreateDisk API operation for Amazon Lightsail.
1041//
1042// Creates a block storage disk that can be attached to an Amazon Lightsail
1043// instance in the same Availability Zone (e.g., us-east-2a).
1044//
1045// The create disk operation supports tag-based access control via request tags.
1046// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1047//
1048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1049// with awserr.Error's Code and Message methods to get detailed information about
1050// the error.
1051//
1052// See the AWS API reference guide for Amazon Lightsail's
1053// API operation CreateDisk for usage and error information.
1054//
1055// Returned Error Types:
1056//   * ServiceException
1057//   A general service exception.
1058//
1059//   * InvalidInputException
1060//   Lightsail throws this exception when user input does not conform to the validation
1061//   rules of an input field.
1062//
1063//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1064//   Please set your AWS Region configuration to us-east-1 to create, view, or
1065//   edit these resources.
1066//
1067//   * NotFoundException
1068//   Lightsail throws this exception when it cannot find a resource.
1069//
1070//   * OperationFailureException
1071//   Lightsail throws this exception when an operation fails to execute.
1072//
1073//   * AccessDeniedException
1074//   Lightsail throws this exception when the user cannot be authenticated or
1075//   uses invalid credentials to access a resource.
1076//
1077//   * AccountSetupInProgressException
1078//   Lightsail throws this exception when an account is still in the setup in
1079//   progress state.
1080//
1081//   * UnauthenticatedException
1082//   Lightsail throws this exception when the user has not been authenticated.
1083//
1084// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1085func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
1086	req, out := c.CreateDiskRequest(input)
1087	return out, req.Send()
1088}
1089
1090// CreateDiskWithContext is the same as CreateDisk with the addition of
1091// the ability to pass a context and additional request options.
1092//
1093// See CreateDisk for details on how to use this API operation.
1094//
1095// The context must be non-nil and will be used for request cancellation. If
1096// the context is nil a panic will occur. In the future the SDK may create
1097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1098// for more information on using Contexts.
1099func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
1100	req, out := c.CreateDiskRequest(input)
1101	req.SetContext(ctx)
1102	req.ApplyOptions(opts...)
1103	return out, req.Send()
1104}
1105
1106const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
1107
1108// CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
1109// client's request for the CreateDiskFromSnapshot operation. The "output" return
1110// value will be populated with the request's response once the request completes
1111// successfully.
1112//
1113// Use "Send" method on the returned Request to send the API call to the service.
1114// the "output" return value is not valid until after Send returns without error.
1115//
1116// See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
1117// API call, and error handling.
1118//
1119// This method is useful when you want to inject custom logic or configuration
1120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1121//
1122//
1123//    // Example sending a request using the CreateDiskFromSnapshotRequest method.
1124//    req, resp := client.CreateDiskFromSnapshotRequest(params)
1125//
1126//    err := req.Send()
1127//    if err == nil { // resp is now filled
1128//        fmt.Println(resp)
1129//    }
1130//
1131// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1132func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
1133	op := &request.Operation{
1134		Name:       opCreateDiskFromSnapshot,
1135		HTTPMethod: "POST",
1136		HTTPPath:   "/",
1137	}
1138
1139	if input == nil {
1140		input = &CreateDiskFromSnapshotInput{}
1141	}
1142
1143	output = &CreateDiskFromSnapshotOutput{}
1144	req = c.newRequest(op, input, output)
1145	return
1146}
1147
1148// CreateDiskFromSnapshot API operation for Amazon Lightsail.
1149//
1150// Creates a block storage disk from a manual or automatic snapshot of a disk.
1151// The resulting disk can be attached to an Amazon Lightsail instance in the
1152// same Availability Zone (e.g., us-east-2a).
1153//
1154// The create disk from snapshot operation supports tag-based access control
1155// via request tags and resource tags applied to the resource identified by
1156// disk snapshot name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1157//
1158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1159// with awserr.Error's Code and Message methods to get detailed information about
1160// the error.
1161//
1162// See the AWS API reference guide for Amazon Lightsail's
1163// API operation CreateDiskFromSnapshot for usage and error information.
1164//
1165// Returned Error Types:
1166//   * ServiceException
1167//   A general service exception.
1168//
1169//   * InvalidInputException
1170//   Lightsail throws this exception when user input does not conform to the validation
1171//   rules of an input field.
1172//
1173//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1174//   Please set your AWS Region configuration to us-east-1 to create, view, or
1175//   edit these resources.
1176//
1177//   * NotFoundException
1178//   Lightsail throws this exception when it cannot find a resource.
1179//
1180//   * OperationFailureException
1181//   Lightsail throws this exception when an operation fails to execute.
1182//
1183//   * AccessDeniedException
1184//   Lightsail throws this exception when the user cannot be authenticated or
1185//   uses invalid credentials to access a resource.
1186//
1187//   * AccountSetupInProgressException
1188//   Lightsail throws this exception when an account is still in the setup in
1189//   progress state.
1190//
1191//   * UnauthenticatedException
1192//   Lightsail throws this exception when the user has not been authenticated.
1193//
1194// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1195func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
1196	req, out := c.CreateDiskFromSnapshotRequest(input)
1197	return out, req.Send()
1198}
1199
1200// CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
1201// the ability to pass a context and additional request options.
1202//
1203// See CreateDiskFromSnapshot for details on how to use this API operation.
1204//
1205// The context must be non-nil and will be used for request cancellation. If
1206// the context is nil a panic will occur. In the future the SDK may create
1207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1208// for more information on using Contexts.
1209func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
1210	req, out := c.CreateDiskFromSnapshotRequest(input)
1211	req.SetContext(ctx)
1212	req.ApplyOptions(opts...)
1213	return out, req.Send()
1214}
1215
1216const opCreateDiskSnapshot = "CreateDiskSnapshot"
1217
1218// CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
1219// client's request for the CreateDiskSnapshot operation. The "output" return
1220// value will be populated with the request's response once the request completes
1221// successfully.
1222//
1223// Use "Send" method on the returned Request to send the API call to the service.
1224// the "output" return value is not valid until after Send returns without error.
1225//
1226// See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
1227// API call, and error handling.
1228//
1229// This method is useful when you want to inject custom logic or configuration
1230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1231//
1232//
1233//    // Example sending a request using the CreateDiskSnapshotRequest method.
1234//    req, resp := client.CreateDiskSnapshotRequest(params)
1235//
1236//    err := req.Send()
1237//    if err == nil { // resp is now filled
1238//        fmt.Println(resp)
1239//    }
1240//
1241// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1242func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
1243	op := &request.Operation{
1244		Name:       opCreateDiskSnapshot,
1245		HTTPMethod: "POST",
1246		HTTPPath:   "/",
1247	}
1248
1249	if input == nil {
1250		input = &CreateDiskSnapshotInput{}
1251	}
1252
1253	output = &CreateDiskSnapshotOutput{}
1254	req = c.newRequest(op, input, output)
1255	return
1256}
1257
1258// CreateDiskSnapshot API operation for Amazon Lightsail.
1259//
1260// Creates a snapshot of a block storage disk. You can use snapshots for backups,
1261// to make copies of disks, and to save data before shutting down a Lightsail
1262// instance.
1263//
1264// You can take a snapshot of an attached disk that is in use; however, snapshots
1265// only capture data that has been written to your disk at the time the snapshot
1266// command is issued. This may exclude any data that has been cached by any
1267// applications or the operating system. If you can pause any file systems on
1268// the disk long enough to take a snapshot, your snapshot should be complete.
1269// Nevertheless, if you cannot pause all file writes to the disk, you should
1270// unmount the disk from within the Lightsail instance, issue the create disk
1271// snapshot command, and then remount the disk to ensure a consistent and complete
1272// snapshot. You may remount and use your disk while the snapshot status is
1273// pending.
1274//
1275// You can also use this operation to create a snapshot of an instance's system
1276// volume. You might want to do this, for example, to recover data from the
1277// system volume of a botched instance or to create a backup of the system volume
1278// like you would for a block storage disk. To create a snapshot of a system
1279// volume, just define the instance name parameter when issuing the snapshot
1280// command, and a snapshot of the defined instance's system volume will be created.
1281// After the snapshot is available, you can create a block storage disk from
1282// the snapshot and attach it to a running instance to access the data on the
1283// disk.
1284//
1285// The create disk snapshot operation supports tag-based access control via
1286// 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).
1287//
1288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1289// with awserr.Error's Code and Message methods to get detailed information about
1290// the error.
1291//
1292// See the AWS API reference guide for Amazon Lightsail's
1293// API operation CreateDiskSnapshot for usage and error information.
1294//
1295// Returned Error Types:
1296//   * ServiceException
1297//   A general service exception.
1298//
1299//   * InvalidInputException
1300//   Lightsail throws this exception when user input does not conform to the validation
1301//   rules of an input field.
1302//
1303//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1304//   Please set your AWS Region configuration to us-east-1 to create, view, or
1305//   edit these resources.
1306//
1307//   * NotFoundException
1308//   Lightsail throws this exception when it cannot find a resource.
1309//
1310//   * OperationFailureException
1311//   Lightsail throws this exception when an operation fails to execute.
1312//
1313//   * AccessDeniedException
1314//   Lightsail throws this exception when the user cannot be authenticated or
1315//   uses invalid credentials to access a resource.
1316//
1317//   * AccountSetupInProgressException
1318//   Lightsail throws this exception when an account is still in the setup in
1319//   progress state.
1320//
1321//   * UnauthenticatedException
1322//   Lightsail throws this exception when the user has not been authenticated.
1323//
1324// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1325func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
1326	req, out := c.CreateDiskSnapshotRequest(input)
1327	return out, req.Send()
1328}
1329
1330// CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
1331// the ability to pass a context and additional request options.
1332//
1333// See CreateDiskSnapshot for details on how to use this API operation.
1334//
1335// The context must be non-nil and will be used for request cancellation. If
1336// the context is nil a panic will occur. In the future the SDK may create
1337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1338// for more information on using Contexts.
1339func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
1340	req, out := c.CreateDiskSnapshotRequest(input)
1341	req.SetContext(ctx)
1342	req.ApplyOptions(opts...)
1343	return out, req.Send()
1344}
1345
1346const opCreateDomain = "CreateDomain"
1347
1348// CreateDomainRequest generates a "aws/request.Request" representing the
1349// client's request for the CreateDomain operation. The "output" return
1350// value will be populated with the request's response once the request completes
1351// successfully.
1352//
1353// Use "Send" method on the returned Request to send the API call to the service.
1354// the "output" return value is not valid until after Send returns without error.
1355//
1356// See CreateDomain for more information on using the CreateDomain
1357// API call, and error handling.
1358//
1359// This method is useful when you want to inject custom logic or configuration
1360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1361//
1362//
1363//    // Example sending a request using the CreateDomainRequest method.
1364//    req, resp := client.CreateDomainRequest(params)
1365//
1366//    err := req.Send()
1367//    if err == nil { // resp is now filled
1368//        fmt.Println(resp)
1369//    }
1370//
1371// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1372func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
1373	op := &request.Operation{
1374		Name:       opCreateDomain,
1375		HTTPMethod: "POST",
1376		HTTPPath:   "/",
1377	}
1378
1379	if input == nil {
1380		input = &CreateDomainInput{}
1381	}
1382
1383	output = &CreateDomainOutput{}
1384	req = c.newRequest(op, input, output)
1385	return
1386}
1387
1388// CreateDomain API operation for Amazon Lightsail.
1389//
1390// Creates a domain resource for the specified domain (e.g., example.com).
1391//
1392// The create domain operation supports tag-based access control via request
1393// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1394//
1395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1396// with awserr.Error's Code and Message methods to get detailed information about
1397// the error.
1398//
1399// See the AWS API reference guide for Amazon Lightsail's
1400// API operation CreateDomain for usage and error information.
1401//
1402// Returned Error Types:
1403//   * ServiceException
1404//   A general service exception.
1405//
1406//   * InvalidInputException
1407//   Lightsail throws this exception when user input does not conform to the validation
1408//   rules of an input field.
1409//
1410//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1411//   Please set your AWS Region configuration to us-east-1 to create, view, or
1412//   edit these resources.
1413//
1414//   * NotFoundException
1415//   Lightsail throws this exception when it cannot find a resource.
1416//
1417//   * OperationFailureException
1418//   Lightsail throws this exception when an operation fails to execute.
1419//
1420//   * AccessDeniedException
1421//   Lightsail throws this exception when the user cannot be authenticated or
1422//   uses invalid credentials to access a resource.
1423//
1424//   * AccountSetupInProgressException
1425//   Lightsail throws this exception when an account is still in the setup in
1426//   progress state.
1427//
1428//   * UnauthenticatedException
1429//   Lightsail throws this exception when the user has not been authenticated.
1430//
1431// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1432func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
1433	req, out := c.CreateDomainRequest(input)
1434	return out, req.Send()
1435}
1436
1437// CreateDomainWithContext is the same as CreateDomain with the addition of
1438// the ability to pass a context and additional request options.
1439//
1440// See CreateDomain for details on how to use this API operation.
1441//
1442// The context must be non-nil and will be used for request cancellation. If
1443// the context is nil a panic will occur. In the future the SDK may create
1444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1445// for more information on using Contexts.
1446func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
1447	req, out := c.CreateDomainRequest(input)
1448	req.SetContext(ctx)
1449	req.ApplyOptions(opts...)
1450	return out, req.Send()
1451}
1452
1453const opCreateDomainEntry = "CreateDomainEntry"
1454
1455// CreateDomainEntryRequest generates a "aws/request.Request" representing the
1456// client's request for the CreateDomainEntry operation. The "output" return
1457// value will be populated with the request's response once the request completes
1458// successfully.
1459//
1460// Use "Send" method on the returned Request to send the API call to the service.
1461// the "output" return value is not valid until after Send returns without error.
1462//
1463// See CreateDomainEntry for more information on using the CreateDomainEntry
1464// API call, and error handling.
1465//
1466// This method is useful when you want to inject custom logic or configuration
1467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1468//
1469//
1470//    // Example sending a request using the CreateDomainEntryRequest method.
1471//    req, resp := client.CreateDomainEntryRequest(params)
1472//
1473//    err := req.Send()
1474//    if err == nil { // resp is now filled
1475//        fmt.Println(resp)
1476//    }
1477//
1478// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1479func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
1480	op := &request.Operation{
1481		Name:       opCreateDomainEntry,
1482		HTTPMethod: "POST",
1483		HTTPPath:   "/",
1484	}
1485
1486	if input == nil {
1487		input = &CreateDomainEntryInput{}
1488	}
1489
1490	output = &CreateDomainEntryOutput{}
1491	req = c.newRequest(op, input, output)
1492	return
1493}
1494
1495// CreateDomainEntry API operation for Amazon Lightsail.
1496//
1497// Creates one of the following entry records associated with the domain: Address
1498// (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start
1499// of authority (SOA), service locator (SRV), or text (TXT).
1500//
1501// The create domain entry operation supports tag-based access control via resource
1502// tags applied to the resource identified by domain name. For more information,
1503// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1504//
1505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1506// with awserr.Error's Code and Message methods to get detailed information about
1507// the error.
1508//
1509// See the AWS API reference guide for Amazon Lightsail's
1510// API operation CreateDomainEntry for usage and error information.
1511//
1512// Returned Error Types:
1513//   * ServiceException
1514//   A general service exception.
1515//
1516//   * InvalidInputException
1517//   Lightsail throws this exception when user input does not conform to the validation
1518//   rules of an input field.
1519//
1520//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1521//   Please set your AWS Region configuration to us-east-1 to create, view, or
1522//   edit these resources.
1523//
1524//   * NotFoundException
1525//   Lightsail throws this exception when it cannot find a resource.
1526//
1527//   * OperationFailureException
1528//   Lightsail throws this exception when an operation fails to execute.
1529//
1530//   * AccessDeniedException
1531//   Lightsail throws this exception when the user cannot be authenticated or
1532//   uses invalid credentials to access a resource.
1533//
1534//   * AccountSetupInProgressException
1535//   Lightsail throws this exception when an account is still in the setup in
1536//   progress state.
1537//
1538//   * UnauthenticatedException
1539//   Lightsail throws this exception when the user has not been authenticated.
1540//
1541// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1542func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
1543	req, out := c.CreateDomainEntryRequest(input)
1544	return out, req.Send()
1545}
1546
1547// CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
1548// the ability to pass a context and additional request options.
1549//
1550// See CreateDomainEntry for details on how to use this API operation.
1551//
1552// The context must be non-nil and will be used for request cancellation. If
1553// the context is nil a panic will occur. In the future the SDK may create
1554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1555// for more information on using Contexts.
1556func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
1557	req, out := c.CreateDomainEntryRequest(input)
1558	req.SetContext(ctx)
1559	req.ApplyOptions(opts...)
1560	return out, req.Send()
1561}
1562
1563const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
1564
1565// CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
1566// client's request for the CreateInstanceSnapshot operation. The "output" return
1567// value will be populated with the request's response once the request completes
1568// successfully.
1569//
1570// Use "Send" method on the returned Request to send the API call to the service.
1571// the "output" return value is not valid until after Send returns without error.
1572//
1573// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
1574// API call, and error handling.
1575//
1576// This method is useful when you want to inject custom logic or configuration
1577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1578//
1579//
1580//    // Example sending a request using the CreateInstanceSnapshotRequest method.
1581//    req, resp := client.CreateInstanceSnapshotRequest(params)
1582//
1583//    err := req.Send()
1584//    if err == nil { // resp is now filled
1585//        fmt.Println(resp)
1586//    }
1587//
1588// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1589func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
1590	op := &request.Operation{
1591		Name:       opCreateInstanceSnapshot,
1592		HTTPMethod: "POST",
1593		HTTPPath:   "/",
1594	}
1595
1596	if input == nil {
1597		input = &CreateInstanceSnapshotInput{}
1598	}
1599
1600	output = &CreateInstanceSnapshotOutput{}
1601	req = c.newRequest(op, input, output)
1602	return
1603}
1604
1605// CreateInstanceSnapshot API operation for Amazon Lightsail.
1606//
1607// Creates a snapshot of a specific virtual private server, or instance. You
1608// can use a snapshot to create a new instance that is based on that snapshot.
1609//
1610// The create instance snapshot operation supports tag-based access control
1611// 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).
1612//
1613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1614// with awserr.Error's Code and Message methods to get detailed information about
1615// the error.
1616//
1617// See the AWS API reference guide for Amazon Lightsail's
1618// API operation CreateInstanceSnapshot for usage and error information.
1619//
1620// Returned Error Types:
1621//   * ServiceException
1622//   A general service exception.
1623//
1624//   * InvalidInputException
1625//   Lightsail throws this exception when user input does not conform to the validation
1626//   rules of an input field.
1627//
1628//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1629//   Please set your AWS Region configuration to us-east-1 to create, view, or
1630//   edit these resources.
1631//
1632//   * NotFoundException
1633//   Lightsail throws this exception when it cannot find a resource.
1634//
1635//   * OperationFailureException
1636//   Lightsail throws this exception when an operation fails to execute.
1637//
1638//   * AccessDeniedException
1639//   Lightsail throws this exception when the user cannot be authenticated or
1640//   uses invalid credentials to access a resource.
1641//
1642//   * AccountSetupInProgressException
1643//   Lightsail throws this exception when an account is still in the setup in
1644//   progress state.
1645//
1646//   * UnauthenticatedException
1647//   Lightsail throws this exception when the user has not been authenticated.
1648//
1649// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1650func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
1651	req, out := c.CreateInstanceSnapshotRequest(input)
1652	return out, req.Send()
1653}
1654
1655// CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
1656// the ability to pass a context and additional request options.
1657//
1658// See CreateInstanceSnapshot for details on how to use this API operation.
1659//
1660// The context must be non-nil and will be used for request cancellation. If
1661// the context is nil a panic will occur. In the future the SDK may create
1662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1663// for more information on using Contexts.
1664func (c *Lightsail) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
1665	req, out := c.CreateInstanceSnapshotRequest(input)
1666	req.SetContext(ctx)
1667	req.ApplyOptions(opts...)
1668	return out, req.Send()
1669}
1670
1671const opCreateInstances = "CreateInstances"
1672
1673// CreateInstancesRequest generates a "aws/request.Request" representing the
1674// client's request for the CreateInstances operation. The "output" return
1675// value will be populated with the request's response once the request completes
1676// successfully.
1677//
1678// Use "Send" method on the returned Request to send the API call to the service.
1679// the "output" return value is not valid until after Send returns without error.
1680//
1681// See CreateInstances for more information on using the CreateInstances
1682// API call, and error handling.
1683//
1684// This method is useful when you want to inject custom logic or configuration
1685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1686//
1687//
1688//    // Example sending a request using the CreateInstancesRequest method.
1689//    req, resp := client.CreateInstancesRequest(params)
1690//
1691//    err := req.Send()
1692//    if err == nil { // resp is now filled
1693//        fmt.Println(resp)
1694//    }
1695//
1696// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
1697func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
1698	op := &request.Operation{
1699		Name:       opCreateInstances,
1700		HTTPMethod: "POST",
1701		HTTPPath:   "/",
1702	}
1703
1704	if input == nil {
1705		input = &CreateInstancesInput{}
1706	}
1707
1708	output = &CreateInstancesOutput{}
1709	req = c.newRequest(op, input, output)
1710	return
1711}
1712
1713// CreateInstances API operation for Amazon Lightsail.
1714//
1715// Creates one or more Amazon Lightsail instances.
1716//
1717// The create instances operation supports tag-based access control via request
1718// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1719//
1720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1721// with awserr.Error's Code and Message methods to get detailed information about
1722// the error.
1723//
1724// See the AWS API reference guide for Amazon Lightsail's
1725// API operation CreateInstances for usage and error information.
1726//
1727// Returned Error Types:
1728//   * ServiceException
1729//   A general service exception.
1730//
1731//   * InvalidInputException
1732//   Lightsail throws this exception when user input does not conform to the validation
1733//   rules of an input field.
1734//
1735//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1736//   Please set your AWS Region configuration to us-east-1 to create, view, or
1737//   edit these resources.
1738//
1739//   * NotFoundException
1740//   Lightsail throws this exception when it cannot find a resource.
1741//
1742//   * OperationFailureException
1743//   Lightsail throws this exception when an operation fails to execute.
1744//
1745//   * AccessDeniedException
1746//   Lightsail throws this exception when the user cannot be authenticated or
1747//   uses invalid credentials to access a resource.
1748//
1749//   * AccountSetupInProgressException
1750//   Lightsail throws this exception when an account is still in the setup in
1751//   progress state.
1752//
1753//   * UnauthenticatedException
1754//   Lightsail throws this exception when the user has not been authenticated.
1755//
1756// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
1757func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
1758	req, out := c.CreateInstancesRequest(input)
1759	return out, req.Send()
1760}
1761
1762// CreateInstancesWithContext is the same as CreateInstances with the addition of
1763// the ability to pass a context and additional request options.
1764//
1765// See CreateInstances for details on how to use this API operation.
1766//
1767// The context must be non-nil and will be used for request cancellation. If
1768// the context is nil a panic will occur. In the future the SDK may create
1769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1770// for more information on using Contexts.
1771func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
1772	req, out := c.CreateInstancesRequest(input)
1773	req.SetContext(ctx)
1774	req.ApplyOptions(opts...)
1775	return out, req.Send()
1776}
1777
1778const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
1779
1780// CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
1781// client's request for the CreateInstancesFromSnapshot operation. The "output" return
1782// value will be populated with the request's response once the request completes
1783// successfully.
1784//
1785// Use "Send" method on the returned Request to send the API call to the service.
1786// the "output" return value is not valid until after Send returns without error.
1787//
1788// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
1789// API call, and error handling.
1790//
1791// This method is useful when you want to inject custom logic or configuration
1792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1793//
1794//
1795//    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
1796//    req, resp := client.CreateInstancesFromSnapshotRequest(params)
1797//
1798//    err := req.Send()
1799//    if err == nil { // resp is now filled
1800//        fmt.Println(resp)
1801//    }
1802//
1803// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
1804func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
1805	op := &request.Operation{
1806		Name:       opCreateInstancesFromSnapshot,
1807		HTTPMethod: "POST",
1808		HTTPPath:   "/",
1809	}
1810
1811	if input == nil {
1812		input = &CreateInstancesFromSnapshotInput{}
1813	}
1814
1815	output = &CreateInstancesFromSnapshotOutput{}
1816	req = c.newRequest(op, input, output)
1817	return
1818}
1819
1820// CreateInstancesFromSnapshot API operation for Amazon Lightsail.
1821//
1822// Creates one or more new instances from a manual or automatic snapshot of
1823// an instance.
1824//
1825// The create instances from snapshot operation supports tag-based access control
1826// via request tags and resource tags applied to the resource identified by
1827// instance snapshot name. For more information, see the Lightsail Dev Guide
1828// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1829//
1830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1831// with awserr.Error's Code and Message methods to get detailed information about
1832// the error.
1833//
1834// See the AWS API reference guide for Amazon Lightsail's
1835// API operation CreateInstancesFromSnapshot for usage and error information.
1836//
1837// Returned Error Types:
1838//   * ServiceException
1839//   A general service exception.
1840//
1841//   * InvalidInputException
1842//   Lightsail throws this exception when user input does not conform to the validation
1843//   rules of an input field.
1844//
1845//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1846//   Please set your AWS Region configuration to us-east-1 to create, view, or
1847//   edit these resources.
1848//
1849//   * NotFoundException
1850//   Lightsail throws this exception when it cannot find a resource.
1851//
1852//   * OperationFailureException
1853//   Lightsail throws this exception when an operation fails to execute.
1854//
1855//   * AccessDeniedException
1856//   Lightsail throws this exception when the user cannot be authenticated or
1857//   uses invalid credentials to access a resource.
1858//
1859//   * AccountSetupInProgressException
1860//   Lightsail throws this exception when an account is still in the setup in
1861//   progress state.
1862//
1863//   * UnauthenticatedException
1864//   Lightsail throws this exception when the user has not been authenticated.
1865//
1866// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
1867func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
1868	req, out := c.CreateInstancesFromSnapshotRequest(input)
1869	return out, req.Send()
1870}
1871
1872// CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
1873// the ability to pass a context and additional request options.
1874//
1875// See CreateInstancesFromSnapshot for details on how to use this API operation.
1876//
1877// The context must be non-nil and will be used for request cancellation. If
1878// the context is nil a panic will occur. In the future the SDK may create
1879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1880// for more information on using Contexts.
1881func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
1882	req, out := c.CreateInstancesFromSnapshotRequest(input)
1883	req.SetContext(ctx)
1884	req.ApplyOptions(opts...)
1885	return out, req.Send()
1886}
1887
1888const opCreateKeyPair = "CreateKeyPair"
1889
1890// CreateKeyPairRequest generates a "aws/request.Request" representing the
1891// client's request for the CreateKeyPair operation. The "output" return
1892// value will be populated with the request's response once the request completes
1893// successfully.
1894//
1895// Use "Send" method on the returned Request to send the API call to the service.
1896// the "output" return value is not valid until after Send returns without error.
1897//
1898// See CreateKeyPair for more information on using the CreateKeyPair
1899// API call, and error handling.
1900//
1901// This method is useful when you want to inject custom logic or configuration
1902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1903//
1904//
1905//    // Example sending a request using the CreateKeyPairRequest method.
1906//    req, resp := client.CreateKeyPairRequest(params)
1907//
1908//    err := req.Send()
1909//    if err == nil { // resp is now filled
1910//        fmt.Println(resp)
1911//    }
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
1914func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
1915	op := &request.Operation{
1916		Name:       opCreateKeyPair,
1917		HTTPMethod: "POST",
1918		HTTPPath:   "/",
1919	}
1920
1921	if input == nil {
1922		input = &CreateKeyPairInput{}
1923	}
1924
1925	output = &CreateKeyPairOutput{}
1926	req = c.newRequest(op, input, output)
1927	return
1928}
1929
1930// CreateKeyPair API operation for Amazon Lightsail.
1931//
1932// Creates an SSH key pair.
1933//
1934// The create key pair operation supports tag-based access control via request
1935// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1936//
1937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1938// with awserr.Error's Code and Message methods to get detailed information about
1939// the error.
1940//
1941// See the AWS API reference guide for Amazon Lightsail's
1942// API operation CreateKeyPair for usage and error information.
1943//
1944// Returned Error Types:
1945//   * ServiceException
1946//   A general service exception.
1947//
1948//   * InvalidInputException
1949//   Lightsail throws this exception when user input does not conform to the validation
1950//   rules of an input field.
1951//
1952//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1953//   Please set your AWS Region configuration to us-east-1 to create, view, or
1954//   edit these resources.
1955//
1956//   * NotFoundException
1957//   Lightsail throws this exception when it cannot find a resource.
1958//
1959//   * OperationFailureException
1960//   Lightsail throws this exception when an operation fails to execute.
1961//
1962//   * AccessDeniedException
1963//   Lightsail throws this exception when the user cannot be authenticated or
1964//   uses invalid credentials to access a resource.
1965//
1966//   * AccountSetupInProgressException
1967//   Lightsail throws this exception when an account is still in the setup in
1968//   progress state.
1969//
1970//   * UnauthenticatedException
1971//   Lightsail throws this exception when the user has not been authenticated.
1972//
1973// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
1974func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
1975	req, out := c.CreateKeyPairRequest(input)
1976	return out, req.Send()
1977}
1978
1979// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
1980// the ability to pass a context and additional request options.
1981//
1982// See CreateKeyPair for details on how to use this API operation.
1983//
1984// The context must be non-nil and will be used for request cancellation. If
1985// the context is nil a panic will occur. In the future the SDK may create
1986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1987// for more information on using Contexts.
1988func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
1989	req, out := c.CreateKeyPairRequest(input)
1990	req.SetContext(ctx)
1991	req.ApplyOptions(opts...)
1992	return out, req.Send()
1993}
1994
1995const opCreateLoadBalancer = "CreateLoadBalancer"
1996
1997// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
1998// client's request for the CreateLoadBalancer operation. The "output" return
1999// value will be populated with the request's response once the request completes
2000// successfully.
2001//
2002// Use "Send" method on the returned Request to send the API call to the service.
2003// the "output" return value is not valid until after Send returns without error.
2004//
2005// See CreateLoadBalancer for more information on using the CreateLoadBalancer
2006// API call, and error handling.
2007//
2008// This method is useful when you want to inject custom logic or configuration
2009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2010//
2011//
2012//    // Example sending a request using the CreateLoadBalancerRequest method.
2013//    req, resp := client.CreateLoadBalancerRequest(params)
2014//
2015//    err := req.Send()
2016//    if err == nil { // resp is now filled
2017//        fmt.Println(resp)
2018//    }
2019//
2020// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2021func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
2022	op := &request.Operation{
2023		Name:       opCreateLoadBalancer,
2024		HTTPMethod: "POST",
2025		HTTPPath:   "/",
2026	}
2027
2028	if input == nil {
2029		input = &CreateLoadBalancerInput{}
2030	}
2031
2032	output = &CreateLoadBalancerOutput{}
2033	req = c.newRequest(op, input, output)
2034	return
2035}
2036
2037// CreateLoadBalancer API operation for Amazon Lightsail.
2038//
2039// Creates a Lightsail load balancer. To learn more about deciding whether to
2040// load balance your application, see Configure your Lightsail instances for
2041// load balancing (https://lightsail.aws.amazon.com/ls/docs/how-to/article/configure-lightsail-instances-for-load-balancing).
2042// You can create up to 5 load balancers per AWS Region in your account.
2043//
2044// When you create a load balancer, you can specify a unique name and port settings.
2045// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
2046// operation.
2047//
2048// The create load balancer operation supports tag-based access control via
2049// 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).
2050//
2051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2052// with awserr.Error's Code and Message methods to get detailed information about
2053// the error.
2054//
2055// See the AWS API reference guide for Amazon Lightsail's
2056// API operation CreateLoadBalancer for usage and error information.
2057//
2058// Returned Error Types:
2059//   * ServiceException
2060//   A general service exception.
2061//
2062//   * InvalidInputException
2063//   Lightsail throws this exception when user input does not conform to the validation
2064//   rules of an input field.
2065//
2066//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2067//   Please set your AWS Region configuration to us-east-1 to create, view, or
2068//   edit these resources.
2069//
2070//   * NotFoundException
2071//   Lightsail throws this exception when it cannot find a resource.
2072//
2073//   * OperationFailureException
2074//   Lightsail throws this exception when an operation fails to execute.
2075//
2076//   * AccessDeniedException
2077//   Lightsail throws this exception when the user cannot be authenticated or
2078//   uses invalid credentials to access a resource.
2079//
2080//   * AccountSetupInProgressException
2081//   Lightsail throws this exception when an account is still in the setup in
2082//   progress state.
2083//
2084//   * UnauthenticatedException
2085//   Lightsail throws this exception when the user has not been authenticated.
2086//
2087// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2088func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
2089	req, out := c.CreateLoadBalancerRequest(input)
2090	return out, req.Send()
2091}
2092
2093// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
2094// the ability to pass a context and additional request options.
2095//
2096// See CreateLoadBalancer for details on how to use this API operation.
2097//
2098// The context must be non-nil and will be used for request cancellation. If
2099// the context is nil a panic will occur. In the future the SDK may create
2100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2101// for more information on using Contexts.
2102func (c *Lightsail) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
2103	req, out := c.CreateLoadBalancerRequest(input)
2104	req.SetContext(ctx)
2105	req.ApplyOptions(opts...)
2106	return out, req.Send()
2107}
2108
2109const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
2110
2111// CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
2112// client's request for the CreateLoadBalancerTlsCertificate operation. The "output" return
2113// value will be populated with the request's response once the request completes
2114// successfully.
2115//
2116// Use "Send" method on the returned Request to send the API call to the service.
2117// the "output" return value is not valid until after Send returns without error.
2118//
2119// See CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
2120// API call, and error handling.
2121//
2122// This method is useful when you want to inject custom logic or configuration
2123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2124//
2125//
2126//    // Example sending a request using the CreateLoadBalancerTlsCertificateRequest method.
2127//    req, resp := client.CreateLoadBalancerTlsCertificateRequest(params)
2128//
2129//    err := req.Send()
2130//    if err == nil { // resp is now filled
2131//        fmt.Println(resp)
2132//    }
2133//
2134// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2135func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
2136	op := &request.Operation{
2137		Name:       opCreateLoadBalancerTlsCertificate,
2138		HTTPMethod: "POST",
2139		HTTPPath:   "/",
2140	}
2141
2142	if input == nil {
2143		input = &CreateLoadBalancerTlsCertificateInput{}
2144	}
2145
2146	output = &CreateLoadBalancerTlsCertificateOutput{}
2147	req = c.newRequest(op, input, output)
2148	return
2149}
2150
2151// CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
2152//
2153// Creates a Lightsail load balancer TLS certificate.
2154//
2155// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
2156//
2157// The CreateLoadBalancerTlsCertificate operation supports tag-based access
2158// control via resource tags applied to the resource identified by load balancer
2159// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2160//
2161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2162// with awserr.Error's Code and Message methods to get detailed information about
2163// the error.
2164//
2165// See the AWS API reference guide for Amazon Lightsail's
2166// API operation CreateLoadBalancerTlsCertificate for usage and error information.
2167//
2168// Returned Error Types:
2169//   * ServiceException
2170//   A general service exception.
2171//
2172//   * InvalidInputException
2173//   Lightsail throws this exception when user input does not conform to the validation
2174//   rules of an input field.
2175//
2176//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2177//   Please set your AWS Region configuration to us-east-1 to create, view, or
2178//   edit these resources.
2179//
2180//   * NotFoundException
2181//   Lightsail throws this exception when it cannot find a resource.
2182//
2183//   * OperationFailureException
2184//   Lightsail throws this exception when an operation fails to execute.
2185//
2186//   * AccessDeniedException
2187//   Lightsail throws this exception when the user cannot be authenticated or
2188//   uses invalid credentials to access a resource.
2189//
2190//   * AccountSetupInProgressException
2191//   Lightsail throws this exception when an account is still in the setup in
2192//   progress state.
2193//
2194//   * UnauthenticatedException
2195//   Lightsail throws this exception when the user has not been authenticated.
2196//
2197// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2198func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
2199	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2200	return out, req.Send()
2201}
2202
2203// CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
2204// the ability to pass a context and additional request options.
2205//
2206// See CreateLoadBalancerTlsCertificate for details on how to use this API operation.
2207//
2208// The context must be non-nil and will be used for request cancellation. If
2209// the context is nil a panic will occur. In the future the SDK may create
2210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2211// for more information on using Contexts.
2212func (c *Lightsail) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
2213	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2214	req.SetContext(ctx)
2215	req.ApplyOptions(opts...)
2216	return out, req.Send()
2217}
2218
2219const opCreateRelationalDatabase = "CreateRelationalDatabase"
2220
2221// CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
2222// client's request for the CreateRelationalDatabase operation. The "output" return
2223// value will be populated with the request's response once the request completes
2224// successfully.
2225//
2226// Use "Send" method on the returned Request to send the API call to the service.
2227// the "output" return value is not valid until after Send returns without error.
2228//
2229// See CreateRelationalDatabase for more information on using the CreateRelationalDatabase
2230// API call, and error handling.
2231//
2232// This method is useful when you want to inject custom logic or configuration
2233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2234//
2235//
2236//    // Example sending a request using the CreateRelationalDatabaseRequest method.
2237//    req, resp := client.CreateRelationalDatabaseRequest(params)
2238//
2239//    err := req.Send()
2240//    if err == nil { // resp is now filled
2241//        fmt.Println(resp)
2242//    }
2243//
2244// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2245func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
2246	op := &request.Operation{
2247		Name:       opCreateRelationalDatabase,
2248		HTTPMethod: "POST",
2249		HTTPPath:   "/",
2250	}
2251
2252	if input == nil {
2253		input = &CreateRelationalDatabaseInput{}
2254	}
2255
2256	output = &CreateRelationalDatabaseOutput{}
2257	req = c.newRequest(op, input, output)
2258	return
2259}
2260
2261// CreateRelationalDatabase API operation for Amazon Lightsail.
2262//
2263// Creates a new database in Amazon Lightsail.
2264//
2265// The create relational database operation supports tag-based access control
2266// 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).
2267//
2268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2269// with awserr.Error's Code and Message methods to get detailed information about
2270// the error.
2271//
2272// See the AWS API reference guide for Amazon Lightsail's
2273// API operation CreateRelationalDatabase for usage and error information.
2274//
2275// Returned Error Types:
2276//   * ServiceException
2277//   A general service exception.
2278//
2279//   * InvalidInputException
2280//   Lightsail throws this exception when user input does not conform to the validation
2281//   rules of an input field.
2282//
2283//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2284//   Please set your AWS Region configuration to us-east-1 to create, view, or
2285//   edit these resources.
2286//
2287//   * NotFoundException
2288//   Lightsail throws this exception when it cannot find a resource.
2289//
2290//   * OperationFailureException
2291//   Lightsail throws this exception when an operation fails to execute.
2292//
2293//   * AccessDeniedException
2294//   Lightsail throws this exception when the user cannot be authenticated or
2295//   uses invalid credentials to access a resource.
2296//
2297//   * AccountSetupInProgressException
2298//   Lightsail throws this exception when an account is still in the setup in
2299//   progress state.
2300//
2301//   * UnauthenticatedException
2302//   Lightsail throws this exception when the user has not been authenticated.
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2305func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
2306	req, out := c.CreateRelationalDatabaseRequest(input)
2307	return out, req.Send()
2308}
2309
2310// CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
2311// the ability to pass a context and additional request options.
2312//
2313// See CreateRelationalDatabase for details on how to use this API operation.
2314//
2315// The context must be non-nil and will be used for request cancellation. If
2316// the context is nil a panic will occur. In the future the SDK may create
2317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2318// for more information on using Contexts.
2319func (c *Lightsail) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
2320	req, out := c.CreateRelationalDatabaseRequest(input)
2321	req.SetContext(ctx)
2322	req.ApplyOptions(opts...)
2323	return out, req.Send()
2324}
2325
2326const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
2327
2328// CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
2329// client's request for the CreateRelationalDatabaseFromSnapshot operation. The "output" return
2330// value will be populated with the request's response once the request completes
2331// successfully.
2332//
2333// Use "Send" method on the returned Request to send the API call to the service.
2334// the "output" return value is not valid until after Send returns without error.
2335//
2336// See CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
2337// API call, and error handling.
2338//
2339// This method is useful when you want to inject custom logic or configuration
2340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2341//
2342//
2343//    // Example sending a request using the CreateRelationalDatabaseFromSnapshotRequest method.
2344//    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(params)
2345//
2346//    err := req.Send()
2347//    if err == nil { // resp is now filled
2348//        fmt.Println(resp)
2349//    }
2350//
2351// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2352func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
2353	op := &request.Operation{
2354		Name:       opCreateRelationalDatabaseFromSnapshot,
2355		HTTPMethod: "POST",
2356		HTTPPath:   "/",
2357	}
2358
2359	if input == nil {
2360		input = &CreateRelationalDatabaseFromSnapshotInput{}
2361	}
2362
2363	output = &CreateRelationalDatabaseFromSnapshotOutput{}
2364	req = c.newRequest(op, input, output)
2365	return
2366}
2367
2368// CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
2369//
2370// Creates a new database from an existing database snapshot in Amazon Lightsail.
2371//
2372// You can create a new database from a snapshot in if something goes wrong
2373// with your original database, or to change it to a different plan, such as
2374// a high availability or standard plan.
2375//
2376// The create relational database from snapshot operation supports tag-based
2377// access control via request tags and resource tags applied to the resource
2378// identified by relationalDatabaseSnapshotName. For more information, see the
2379// Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2380//
2381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2382// with awserr.Error's Code and Message methods to get detailed information about
2383// the error.
2384//
2385// See the AWS API reference guide for Amazon Lightsail's
2386// API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
2387//
2388// Returned Error Types:
2389//   * ServiceException
2390//   A general service exception.
2391//
2392//   * InvalidInputException
2393//   Lightsail throws this exception when user input does not conform to the validation
2394//   rules of an input field.
2395//
2396//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2397//   Please set your AWS Region configuration to us-east-1 to create, view, or
2398//   edit these resources.
2399//
2400//   * NotFoundException
2401//   Lightsail throws this exception when it cannot find a resource.
2402//
2403//   * OperationFailureException
2404//   Lightsail throws this exception when an operation fails to execute.
2405//
2406//   * AccessDeniedException
2407//   Lightsail throws this exception when the user cannot be authenticated or
2408//   uses invalid credentials to access a resource.
2409//
2410//   * AccountSetupInProgressException
2411//   Lightsail throws this exception when an account is still in the setup in
2412//   progress state.
2413//
2414//   * UnauthenticatedException
2415//   Lightsail throws this exception when the user has not been authenticated.
2416//
2417// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2418func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2419	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2420	return out, req.Send()
2421}
2422
2423// CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
2424// the ability to pass a context and additional request options.
2425//
2426// See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
2427//
2428// The context must be non-nil and will be used for request cancellation. If
2429// the context is nil a panic will occur. In the future the SDK may create
2430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2431// for more information on using Contexts.
2432func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2433	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2434	req.SetContext(ctx)
2435	req.ApplyOptions(opts...)
2436	return out, req.Send()
2437}
2438
2439const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
2440
2441// CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
2442// client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
2443// value will be populated with the request's response once the request completes
2444// successfully.
2445//
2446// Use "Send" method on the returned Request to send the API call to the service.
2447// the "output" return value is not valid until after Send returns without error.
2448//
2449// See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
2450// API call, and error handling.
2451//
2452// This method is useful when you want to inject custom logic or configuration
2453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2454//
2455//
2456//    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
2457//    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
2458//
2459//    err := req.Send()
2460//    if err == nil { // resp is now filled
2461//        fmt.Println(resp)
2462//    }
2463//
2464// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2465func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
2466	op := &request.Operation{
2467		Name:       opCreateRelationalDatabaseSnapshot,
2468		HTTPMethod: "POST",
2469		HTTPPath:   "/",
2470	}
2471
2472	if input == nil {
2473		input = &CreateRelationalDatabaseSnapshotInput{}
2474	}
2475
2476	output = &CreateRelationalDatabaseSnapshotOutput{}
2477	req = c.newRequest(op, input, output)
2478	return
2479}
2480
2481// CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
2482//
2483// Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
2484// for backups, to make copies of a database, and to save data before deleting
2485// a database.
2486//
2487// The create relational database snapshot operation supports tag-based access
2488// control via request tags. For more information, see the Lightsail Dev Guide
2489// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2490//
2491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2492// with awserr.Error's Code and Message methods to get detailed information about
2493// the error.
2494//
2495// See the AWS API reference guide for Amazon Lightsail's
2496// API operation CreateRelationalDatabaseSnapshot for usage and error information.
2497//
2498// Returned Error Types:
2499//   * ServiceException
2500//   A general service exception.
2501//
2502//   * InvalidInputException
2503//   Lightsail throws this exception when user input does not conform to the validation
2504//   rules of an input field.
2505//
2506//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2507//   Please set your AWS Region configuration to us-east-1 to create, view, or
2508//   edit these resources.
2509//
2510//   * NotFoundException
2511//   Lightsail throws this exception when it cannot find a resource.
2512//
2513//   * OperationFailureException
2514//   Lightsail throws this exception when an operation fails to execute.
2515//
2516//   * AccessDeniedException
2517//   Lightsail throws this exception when the user cannot be authenticated or
2518//   uses invalid credentials to access a resource.
2519//
2520//   * AccountSetupInProgressException
2521//   Lightsail throws this exception when an account is still in the setup in
2522//   progress state.
2523//
2524//   * UnauthenticatedException
2525//   Lightsail throws this exception when the user has not been authenticated.
2526//
2527// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2528func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
2529	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2530	return out, req.Send()
2531}
2532
2533// CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
2534// the ability to pass a context and additional request options.
2535//
2536// See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
2537//
2538// The context must be non-nil and will be used for request cancellation. If
2539// the context is nil a panic will occur. In the future the SDK may create
2540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2541// for more information on using Contexts.
2542func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
2543	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2544	req.SetContext(ctx)
2545	req.ApplyOptions(opts...)
2546	return out, req.Send()
2547}
2548
2549const opDeleteAlarm = "DeleteAlarm"
2550
2551// DeleteAlarmRequest generates a "aws/request.Request" representing the
2552// client's request for the DeleteAlarm operation. The "output" return
2553// value will be populated with the request's response once the request completes
2554// successfully.
2555//
2556// Use "Send" method on the returned Request to send the API call to the service.
2557// the "output" return value is not valid until after Send returns without error.
2558//
2559// See DeleteAlarm for more information on using the DeleteAlarm
2560// API call, and error handling.
2561//
2562// This method is useful when you want to inject custom logic or configuration
2563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2564//
2565//
2566//    // Example sending a request using the DeleteAlarmRequest method.
2567//    req, resp := client.DeleteAlarmRequest(params)
2568//
2569//    err := req.Send()
2570//    if err == nil { // resp is now filled
2571//        fmt.Println(resp)
2572//    }
2573//
2574// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
2575func (c *Lightsail) DeleteAlarmRequest(input *DeleteAlarmInput) (req *request.Request, output *DeleteAlarmOutput) {
2576	op := &request.Operation{
2577		Name:       opDeleteAlarm,
2578		HTTPMethod: "POST",
2579		HTTPPath:   "/",
2580	}
2581
2582	if input == nil {
2583		input = &DeleteAlarmInput{}
2584	}
2585
2586	output = &DeleteAlarmOutput{}
2587	req = c.newRequest(op, input, output)
2588	return
2589}
2590
2591// DeleteAlarm API operation for Amazon Lightsail.
2592//
2593// Deletes an alarm.
2594//
2595// An alarm is used to monitor a single metric for one of your resources. When
2596// a metric condition is met, the alarm can notify you by email, SMS text message,
2597// and a banner displayed on the Amazon Lightsail console. For more information,
2598// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
2599//
2600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2601// with awserr.Error's Code and Message methods to get detailed information about
2602// the error.
2603//
2604// See the AWS API reference guide for Amazon Lightsail's
2605// API operation DeleteAlarm for usage and error information.
2606//
2607// Returned Error Types:
2608//   * ServiceException
2609//   A general service exception.
2610//
2611//   * InvalidInputException
2612//   Lightsail throws this exception when user input does not conform to the validation
2613//   rules of an input field.
2614//
2615//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2616//   Please set your AWS Region configuration to us-east-1 to create, view, or
2617//   edit these resources.
2618//
2619//   * OperationFailureException
2620//   Lightsail throws this exception when an operation fails to execute.
2621//
2622//   * UnauthenticatedException
2623//   Lightsail throws this exception when the user has not been authenticated.
2624//
2625//   * AccessDeniedException
2626//   Lightsail throws this exception when the user cannot be authenticated or
2627//   uses invalid credentials to access a resource.
2628//
2629//   * NotFoundException
2630//   Lightsail throws this exception when it cannot find a resource.
2631//
2632// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
2633func (c *Lightsail) DeleteAlarm(input *DeleteAlarmInput) (*DeleteAlarmOutput, error) {
2634	req, out := c.DeleteAlarmRequest(input)
2635	return out, req.Send()
2636}
2637
2638// DeleteAlarmWithContext is the same as DeleteAlarm with the addition of
2639// the ability to pass a context and additional request options.
2640//
2641// See DeleteAlarm for details on how to use this API operation.
2642//
2643// The context must be non-nil and will be used for request cancellation. If
2644// the context is nil a panic will occur. In the future the SDK may create
2645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2646// for more information on using Contexts.
2647func (c *Lightsail) DeleteAlarmWithContext(ctx aws.Context, input *DeleteAlarmInput, opts ...request.Option) (*DeleteAlarmOutput, error) {
2648	req, out := c.DeleteAlarmRequest(input)
2649	req.SetContext(ctx)
2650	req.ApplyOptions(opts...)
2651	return out, req.Send()
2652}
2653
2654const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
2655
2656// DeleteAutoSnapshotRequest generates a "aws/request.Request" representing the
2657// client's request for the DeleteAutoSnapshot operation. The "output" return
2658// value will be populated with the request's response once the request completes
2659// successfully.
2660//
2661// Use "Send" method on the returned Request to send the API call to the service.
2662// the "output" return value is not valid until after Send returns without error.
2663//
2664// See DeleteAutoSnapshot for more information on using the DeleteAutoSnapshot
2665// API call, and error handling.
2666//
2667// This method is useful when you want to inject custom logic or configuration
2668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2669//
2670//
2671//    // Example sending a request using the DeleteAutoSnapshotRequest method.
2672//    req, resp := client.DeleteAutoSnapshotRequest(params)
2673//
2674//    err := req.Send()
2675//    if err == nil { // resp is now filled
2676//        fmt.Println(resp)
2677//    }
2678//
2679// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
2680func (c *Lightsail) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) (req *request.Request, output *DeleteAutoSnapshotOutput) {
2681	op := &request.Operation{
2682		Name:       opDeleteAutoSnapshot,
2683		HTTPMethod: "POST",
2684		HTTPPath:   "/",
2685	}
2686
2687	if input == nil {
2688		input = &DeleteAutoSnapshotInput{}
2689	}
2690
2691	output = &DeleteAutoSnapshotOutput{}
2692	req = c.newRequest(op, input, output)
2693	return
2694}
2695
2696// DeleteAutoSnapshot API operation for Amazon Lightsail.
2697//
2698// Deletes an automatic snapshot of an instance or disk. For more information,
2699// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
2700//
2701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2702// with awserr.Error's Code and Message methods to get detailed information about
2703// the error.
2704//
2705// See the AWS API reference guide for Amazon Lightsail's
2706// API operation DeleteAutoSnapshot for usage and error information.
2707//
2708// Returned Error Types:
2709//   * ServiceException
2710//   A general service exception.
2711//
2712//   * InvalidInputException
2713//   Lightsail throws this exception when user input does not conform to the validation
2714//   rules of an input field.
2715//
2716//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2717//   Please set your AWS Region configuration to us-east-1 to create, view, or
2718//   edit these resources.
2719//
2720//   * NotFoundException
2721//   Lightsail throws this exception when it cannot find a resource.
2722//
2723//   * OperationFailureException
2724//   Lightsail throws this exception when an operation fails to execute.
2725//
2726//   * AccessDeniedException
2727//   Lightsail throws this exception when the user cannot be authenticated or
2728//   uses invalid credentials to access a resource.
2729//
2730//   * UnauthenticatedException
2731//   Lightsail throws this exception when the user has not been authenticated.
2732//
2733// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
2734func (c *Lightsail) DeleteAutoSnapshot(input *DeleteAutoSnapshotInput) (*DeleteAutoSnapshotOutput, error) {
2735	req, out := c.DeleteAutoSnapshotRequest(input)
2736	return out, req.Send()
2737}
2738
2739// DeleteAutoSnapshotWithContext is the same as DeleteAutoSnapshot with the addition of
2740// the ability to pass a context and additional request options.
2741//
2742// See DeleteAutoSnapshot for details on how to use this API operation.
2743//
2744// The context must be non-nil and will be used for request cancellation. If
2745// the context is nil a panic will occur. In the future the SDK may create
2746// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2747// for more information on using Contexts.
2748func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *DeleteAutoSnapshotInput, opts ...request.Option) (*DeleteAutoSnapshotOutput, error) {
2749	req, out := c.DeleteAutoSnapshotRequest(input)
2750	req.SetContext(ctx)
2751	req.ApplyOptions(opts...)
2752	return out, req.Send()
2753}
2754
2755const opDeleteContactMethod = "DeleteContactMethod"
2756
2757// DeleteContactMethodRequest generates a "aws/request.Request" representing the
2758// client's request for the DeleteContactMethod operation. The "output" return
2759// value will be populated with the request's response once the request completes
2760// successfully.
2761//
2762// Use "Send" method on the returned Request to send the API call to the service.
2763// the "output" return value is not valid until after Send returns without error.
2764//
2765// See DeleteContactMethod for more information on using the DeleteContactMethod
2766// API call, and error handling.
2767//
2768// This method is useful when you want to inject custom logic or configuration
2769// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2770//
2771//
2772//    // Example sending a request using the DeleteContactMethodRequest method.
2773//    req, resp := client.DeleteContactMethodRequest(params)
2774//
2775//    err := req.Send()
2776//    if err == nil { // resp is now filled
2777//        fmt.Println(resp)
2778//    }
2779//
2780// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
2781func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) {
2782	op := &request.Operation{
2783		Name:       opDeleteContactMethod,
2784		HTTPMethod: "POST",
2785		HTTPPath:   "/",
2786	}
2787
2788	if input == nil {
2789		input = &DeleteContactMethodInput{}
2790	}
2791
2792	output = &DeleteContactMethodOutput{}
2793	req = c.newRequest(op, input, output)
2794	return
2795}
2796
2797// DeleteContactMethod API operation for Amazon Lightsail.
2798//
2799// Deletes a contact method.
2800//
2801// A contact method is used to send you notifications about your Amazon Lightsail
2802// resources. You can add one email address and one mobile phone number contact
2803// method in each AWS Region. However, SMS text messaging is not supported in
2804// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
2805// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
2806//
2807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2808// with awserr.Error's Code and Message methods to get detailed information about
2809// the error.
2810//
2811// See the AWS API reference guide for Amazon Lightsail's
2812// API operation DeleteContactMethod for usage and error information.
2813//
2814// Returned Error Types:
2815//   * ServiceException
2816//   A general service exception.
2817//
2818//   * InvalidInputException
2819//   Lightsail throws this exception when user input does not conform to the validation
2820//   rules of an input field.
2821//
2822//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2823//   Please set your AWS Region configuration to us-east-1 to create, view, or
2824//   edit these resources.
2825//
2826//   * OperationFailureException
2827//   Lightsail throws this exception when an operation fails to execute.
2828//
2829//   * UnauthenticatedException
2830//   Lightsail throws this exception when the user has not been authenticated.
2831//
2832//   * AccessDeniedException
2833//   Lightsail throws this exception when the user cannot be authenticated or
2834//   uses invalid credentials to access a resource.
2835//
2836//   * NotFoundException
2837//   Lightsail throws this exception when it cannot find a resource.
2838//
2839// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
2840func (c *Lightsail) DeleteContactMethod(input *DeleteContactMethodInput) (*DeleteContactMethodOutput, error) {
2841	req, out := c.DeleteContactMethodRequest(input)
2842	return out, req.Send()
2843}
2844
2845// DeleteContactMethodWithContext is the same as DeleteContactMethod with the addition of
2846// the ability to pass a context and additional request options.
2847//
2848// See DeleteContactMethod for details on how to use this API operation.
2849//
2850// The context must be non-nil and will be used for request cancellation. If
2851// the context is nil a panic will occur. In the future the SDK may create
2852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2853// for more information on using Contexts.
2854func (c *Lightsail) DeleteContactMethodWithContext(ctx aws.Context, input *DeleteContactMethodInput, opts ...request.Option) (*DeleteContactMethodOutput, error) {
2855	req, out := c.DeleteContactMethodRequest(input)
2856	req.SetContext(ctx)
2857	req.ApplyOptions(opts...)
2858	return out, req.Send()
2859}
2860
2861const opDeleteDisk = "DeleteDisk"
2862
2863// DeleteDiskRequest generates a "aws/request.Request" representing the
2864// client's request for the DeleteDisk operation. The "output" return
2865// value will be populated with the request's response once the request completes
2866// successfully.
2867//
2868// Use "Send" method on the returned Request to send the API call to the service.
2869// the "output" return value is not valid until after Send returns without error.
2870//
2871// See DeleteDisk for more information on using the DeleteDisk
2872// API call, and error handling.
2873//
2874// This method is useful when you want to inject custom logic or configuration
2875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2876//
2877//
2878//    // Example sending a request using the DeleteDiskRequest method.
2879//    req, resp := client.DeleteDiskRequest(params)
2880//
2881//    err := req.Send()
2882//    if err == nil { // resp is now filled
2883//        fmt.Println(resp)
2884//    }
2885//
2886// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
2887func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
2888	op := &request.Operation{
2889		Name:       opDeleteDisk,
2890		HTTPMethod: "POST",
2891		HTTPPath:   "/",
2892	}
2893
2894	if input == nil {
2895		input = &DeleteDiskInput{}
2896	}
2897
2898	output = &DeleteDiskOutput{}
2899	req = c.newRequest(op, input, output)
2900	return
2901}
2902
2903// DeleteDisk API operation for Amazon Lightsail.
2904//
2905// Deletes the specified block storage disk. The disk must be in the available
2906// state (not attached to a Lightsail instance).
2907//
2908// The disk may remain in the deleting state for several minutes.
2909//
2910// The delete disk operation supports tag-based access control via resource
2911// tags applied to the resource identified by disk name. For more information,
2912// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2913//
2914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2915// with awserr.Error's Code and Message methods to get detailed information about
2916// the error.
2917//
2918// See the AWS API reference guide for Amazon Lightsail's
2919// API operation DeleteDisk for usage and error information.
2920//
2921// Returned Error Types:
2922//   * ServiceException
2923//   A general service exception.
2924//
2925//   * InvalidInputException
2926//   Lightsail throws this exception when user input does not conform to the validation
2927//   rules of an input field.
2928//
2929//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2930//   Please set your AWS Region configuration to us-east-1 to create, view, or
2931//   edit these resources.
2932//
2933//   * NotFoundException
2934//   Lightsail throws this exception when it cannot find a resource.
2935//
2936//   * OperationFailureException
2937//   Lightsail throws this exception when an operation fails to execute.
2938//
2939//   * AccessDeniedException
2940//   Lightsail throws this exception when the user cannot be authenticated or
2941//   uses invalid credentials to access a resource.
2942//
2943//   * AccountSetupInProgressException
2944//   Lightsail throws this exception when an account is still in the setup in
2945//   progress state.
2946//
2947//   * UnauthenticatedException
2948//   Lightsail throws this exception when the user has not been authenticated.
2949//
2950// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
2951func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
2952	req, out := c.DeleteDiskRequest(input)
2953	return out, req.Send()
2954}
2955
2956// DeleteDiskWithContext is the same as DeleteDisk with the addition of
2957// the ability to pass a context and additional request options.
2958//
2959// See DeleteDisk for details on how to use this API operation.
2960//
2961// The context must be non-nil and will be used for request cancellation. If
2962// the context is nil a panic will occur. In the future the SDK may create
2963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2964// for more information on using Contexts.
2965func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
2966	req, out := c.DeleteDiskRequest(input)
2967	req.SetContext(ctx)
2968	req.ApplyOptions(opts...)
2969	return out, req.Send()
2970}
2971
2972const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
2973
2974// DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
2975// client's request for the DeleteDiskSnapshot operation. The "output" return
2976// value will be populated with the request's response once the request completes
2977// successfully.
2978//
2979// Use "Send" method on the returned Request to send the API call to the service.
2980// the "output" return value is not valid until after Send returns without error.
2981//
2982// See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
2983// API call, and error handling.
2984//
2985// This method is useful when you want to inject custom logic or configuration
2986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2987//
2988//
2989//    // Example sending a request using the DeleteDiskSnapshotRequest method.
2990//    req, resp := client.DeleteDiskSnapshotRequest(params)
2991//
2992//    err := req.Send()
2993//    if err == nil { // resp is now filled
2994//        fmt.Println(resp)
2995//    }
2996//
2997// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
2998func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
2999	op := &request.Operation{
3000		Name:       opDeleteDiskSnapshot,
3001		HTTPMethod: "POST",
3002		HTTPPath:   "/",
3003	}
3004
3005	if input == nil {
3006		input = &DeleteDiskSnapshotInput{}
3007	}
3008
3009	output = &DeleteDiskSnapshotOutput{}
3010	req = c.newRequest(op, input, output)
3011	return
3012}
3013
3014// DeleteDiskSnapshot API operation for Amazon Lightsail.
3015//
3016// Deletes the specified disk snapshot.
3017//
3018// When you make periodic snapshots of a disk, the snapshots are incremental,
3019// and only the blocks on the device that have changed since your last snapshot
3020// are saved in the new snapshot. When you delete a snapshot, only the data
3021// not needed for any other snapshot is removed. So regardless of which prior
3022// snapshots have been deleted, all active snapshots will have access to all
3023// the information needed to restore the disk.
3024//
3025// The delete disk snapshot operation supports tag-based access control via
3026// resource tags applied to the resource identified by disk snapshot name. For
3027// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3028//
3029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3030// with awserr.Error's Code and Message methods to get detailed information about
3031// the error.
3032//
3033// See the AWS API reference guide for Amazon Lightsail's
3034// API operation DeleteDiskSnapshot for usage and error information.
3035//
3036// Returned Error Types:
3037//   * ServiceException
3038//   A general service exception.
3039//
3040//   * InvalidInputException
3041//   Lightsail throws this exception when user input does not conform to the validation
3042//   rules of an input field.
3043//
3044//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3045//   Please set your AWS Region configuration to us-east-1 to create, view, or
3046//   edit these resources.
3047//
3048//   * NotFoundException
3049//   Lightsail throws this exception when it cannot find a resource.
3050//
3051//   * OperationFailureException
3052//   Lightsail throws this exception when an operation fails to execute.
3053//
3054//   * AccessDeniedException
3055//   Lightsail throws this exception when the user cannot be authenticated or
3056//   uses invalid credentials to access a resource.
3057//
3058//   * AccountSetupInProgressException
3059//   Lightsail throws this exception when an account is still in the setup in
3060//   progress state.
3061//
3062//   * UnauthenticatedException
3063//   Lightsail throws this exception when the user has not been authenticated.
3064//
3065// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
3066func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
3067	req, out := c.DeleteDiskSnapshotRequest(input)
3068	return out, req.Send()
3069}
3070
3071// DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
3072// the ability to pass a context and additional request options.
3073//
3074// See DeleteDiskSnapshot for details on how to use this API operation.
3075//
3076// The context must be non-nil and will be used for request cancellation. If
3077// the context is nil a panic will occur. In the future the SDK may create
3078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3079// for more information on using Contexts.
3080func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
3081	req, out := c.DeleteDiskSnapshotRequest(input)
3082	req.SetContext(ctx)
3083	req.ApplyOptions(opts...)
3084	return out, req.Send()
3085}
3086
3087const opDeleteDomain = "DeleteDomain"
3088
3089// DeleteDomainRequest generates a "aws/request.Request" representing the
3090// client's request for the DeleteDomain operation. The "output" return
3091// value will be populated with the request's response once the request completes
3092// successfully.
3093//
3094// Use "Send" method on the returned Request to send the API call to the service.
3095// the "output" return value is not valid until after Send returns without error.
3096//
3097// See DeleteDomain for more information on using the DeleteDomain
3098// API call, and error handling.
3099//
3100// This method is useful when you want to inject custom logic or configuration
3101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3102//
3103//
3104//    // Example sending a request using the DeleteDomainRequest method.
3105//    req, resp := client.DeleteDomainRequest(params)
3106//
3107//    err := req.Send()
3108//    if err == nil { // resp is now filled
3109//        fmt.Println(resp)
3110//    }
3111//
3112// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
3113func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
3114	op := &request.Operation{
3115		Name:       opDeleteDomain,
3116		HTTPMethod: "POST",
3117		HTTPPath:   "/",
3118	}
3119
3120	if input == nil {
3121		input = &DeleteDomainInput{}
3122	}
3123
3124	output = &DeleteDomainOutput{}
3125	req = c.newRequest(op, input, output)
3126	return
3127}
3128
3129// DeleteDomain API operation for Amazon Lightsail.
3130//
3131// Deletes the specified domain recordset and all of its domain records.
3132//
3133// The delete domain operation supports tag-based access control via resource
3134// tags applied to the resource identified by domain name. For more information,
3135// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3136//
3137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3138// with awserr.Error's Code and Message methods to get detailed information about
3139// the error.
3140//
3141// See the AWS API reference guide for Amazon Lightsail's
3142// API operation DeleteDomain for usage and error information.
3143//
3144// Returned Error Types:
3145//   * ServiceException
3146//   A general service exception.
3147//
3148//   * InvalidInputException
3149//   Lightsail throws this exception when user input does not conform to the validation
3150//   rules of an input field.
3151//
3152//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3153//   Please set your AWS Region configuration to us-east-1 to create, view, or
3154//   edit these resources.
3155//
3156//   * NotFoundException
3157//   Lightsail throws this exception when it cannot find a resource.
3158//
3159//   * OperationFailureException
3160//   Lightsail throws this exception when an operation fails to execute.
3161//
3162//   * AccessDeniedException
3163//   Lightsail throws this exception when the user cannot be authenticated or
3164//   uses invalid credentials to access a resource.
3165//
3166//   * AccountSetupInProgressException
3167//   Lightsail throws this exception when an account is still in the setup in
3168//   progress state.
3169//
3170//   * UnauthenticatedException
3171//   Lightsail throws this exception when the user has not been authenticated.
3172//
3173// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
3174func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
3175	req, out := c.DeleteDomainRequest(input)
3176	return out, req.Send()
3177}
3178
3179// DeleteDomainWithContext is the same as DeleteDomain with the addition of
3180// the ability to pass a context and additional request options.
3181//
3182// See DeleteDomain for details on how to use this API operation.
3183//
3184// The context must be non-nil and will be used for request cancellation. If
3185// the context is nil a panic will occur. In the future the SDK may create
3186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3187// for more information on using Contexts.
3188func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
3189	req, out := c.DeleteDomainRequest(input)
3190	req.SetContext(ctx)
3191	req.ApplyOptions(opts...)
3192	return out, req.Send()
3193}
3194
3195const opDeleteDomainEntry = "DeleteDomainEntry"
3196
3197// DeleteDomainEntryRequest generates a "aws/request.Request" representing the
3198// client's request for the DeleteDomainEntry operation. The "output" return
3199// value will be populated with the request's response once the request completes
3200// successfully.
3201//
3202// Use "Send" method on the returned Request to send the API call to the service.
3203// the "output" return value is not valid until after Send returns without error.
3204//
3205// See DeleteDomainEntry for more information on using the DeleteDomainEntry
3206// API call, and error handling.
3207//
3208// This method is useful when you want to inject custom logic or configuration
3209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3210//
3211//
3212//    // Example sending a request using the DeleteDomainEntryRequest method.
3213//    req, resp := client.DeleteDomainEntryRequest(params)
3214//
3215//    err := req.Send()
3216//    if err == nil { // resp is now filled
3217//        fmt.Println(resp)
3218//    }
3219//
3220// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
3221func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
3222	op := &request.Operation{
3223		Name:       opDeleteDomainEntry,
3224		HTTPMethod: "POST",
3225		HTTPPath:   "/",
3226	}
3227
3228	if input == nil {
3229		input = &DeleteDomainEntryInput{}
3230	}
3231
3232	output = &DeleteDomainEntryOutput{}
3233	req = c.newRequest(op, input, output)
3234	return
3235}
3236
3237// DeleteDomainEntry API operation for Amazon Lightsail.
3238//
3239// Deletes a specific domain entry.
3240//
3241// The delete domain entry operation supports tag-based access control via resource
3242// tags applied to the resource identified by domain name. For more information,
3243// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3244//
3245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3246// with awserr.Error's Code and Message methods to get detailed information about
3247// the error.
3248//
3249// See the AWS API reference guide for Amazon Lightsail's
3250// API operation DeleteDomainEntry for usage and error information.
3251//
3252// Returned Error Types:
3253//   * ServiceException
3254//   A general service exception.
3255//
3256//   * InvalidInputException
3257//   Lightsail throws this exception when user input does not conform to the validation
3258//   rules of an input field.
3259//
3260//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3261//   Please set your AWS Region configuration to us-east-1 to create, view, or
3262//   edit these resources.
3263//
3264//   * NotFoundException
3265//   Lightsail throws this exception when it cannot find a resource.
3266//
3267//   * OperationFailureException
3268//   Lightsail throws this exception when an operation fails to execute.
3269//
3270//   * AccessDeniedException
3271//   Lightsail throws this exception when the user cannot be authenticated or
3272//   uses invalid credentials to access a resource.
3273//
3274//   * AccountSetupInProgressException
3275//   Lightsail throws this exception when an account is still in the setup in
3276//   progress state.
3277//
3278//   * UnauthenticatedException
3279//   Lightsail throws this exception when the user has not been authenticated.
3280//
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
3282func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
3283	req, out := c.DeleteDomainEntryRequest(input)
3284	return out, req.Send()
3285}
3286
3287// DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See DeleteDomainEntry for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
3297	req, out := c.DeleteDomainEntryRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303const opDeleteInstance = "DeleteInstance"
3304
3305// DeleteInstanceRequest generates a "aws/request.Request" representing the
3306// client's request for the DeleteInstance operation. The "output" return
3307// value will be populated with the request's response once the request completes
3308// successfully.
3309//
3310// Use "Send" method on the returned Request to send the API call to the service.
3311// the "output" return value is not valid until after Send returns without error.
3312//
3313// See DeleteInstance for more information on using the DeleteInstance
3314// API call, and error handling.
3315//
3316// This method is useful when you want to inject custom logic or configuration
3317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3318//
3319//
3320//    // Example sending a request using the DeleteInstanceRequest method.
3321//    req, resp := client.DeleteInstanceRequest(params)
3322//
3323//    err := req.Send()
3324//    if err == nil { // resp is now filled
3325//        fmt.Println(resp)
3326//    }
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
3329func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
3330	op := &request.Operation{
3331		Name:       opDeleteInstance,
3332		HTTPMethod: "POST",
3333		HTTPPath:   "/",
3334	}
3335
3336	if input == nil {
3337		input = &DeleteInstanceInput{}
3338	}
3339
3340	output = &DeleteInstanceOutput{}
3341	req = c.newRequest(op, input, output)
3342	return
3343}
3344
3345// DeleteInstance API operation for Amazon Lightsail.
3346//
3347// Deletes an Amazon Lightsail instance.
3348//
3349// The delete instance operation supports tag-based access control via resource
3350// tags applied to the resource identified by instance name. For more information,
3351// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3352//
3353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3354// with awserr.Error's Code and Message methods to get detailed information about
3355// the error.
3356//
3357// See the AWS API reference guide for Amazon Lightsail's
3358// API operation DeleteInstance for usage and error information.
3359//
3360// Returned Error Types:
3361//   * ServiceException
3362//   A general service exception.
3363//
3364//   * InvalidInputException
3365//   Lightsail throws this exception when user input does not conform to the validation
3366//   rules of an input field.
3367//
3368//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3369//   Please set your AWS Region configuration to us-east-1 to create, view, or
3370//   edit these resources.
3371//
3372//   * NotFoundException
3373//   Lightsail throws this exception when it cannot find a resource.
3374//
3375//   * OperationFailureException
3376//   Lightsail throws this exception when an operation fails to execute.
3377//
3378//   * AccessDeniedException
3379//   Lightsail throws this exception when the user cannot be authenticated or
3380//   uses invalid credentials to access a resource.
3381//
3382//   * AccountSetupInProgressException
3383//   Lightsail throws this exception when an account is still in the setup in
3384//   progress state.
3385//
3386//   * UnauthenticatedException
3387//   Lightsail throws this exception when the user has not been authenticated.
3388//
3389// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
3390func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
3391	req, out := c.DeleteInstanceRequest(input)
3392	return out, req.Send()
3393}
3394
3395// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
3396// the ability to pass a context and additional request options.
3397//
3398// See DeleteInstance for details on how to use this API operation.
3399//
3400// The context must be non-nil and will be used for request cancellation. If
3401// the context is nil a panic will occur. In the future the SDK may create
3402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3403// for more information on using Contexts.
3404func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
3405	req, out := c.DeleteInstanceRequest(input)
3406	req.SetContext(ctx)
3407	req.ApplyOptions(opts...)
3408	return out, req.Send()
3409}
3410
3411const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
3412
3413// DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
3414// client's request for the DeleteInstanceSnapshot operation. The "output" return
3415// value will be populated with the request's response once the request completes
3416// successfully.
3417//
3418// Use "Send" method on the returned Request to send the API call to the service.
3419// the "output" return value is not valid until after Send returns without error.
3420//
3421// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
3422// API call, and error handling.
3423//
3424// This method is useful when you want to inject custom logic or configuration
3425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3426//
3427//
3428//    // Example sending a request using the DeleteInstanceSnapshotRequest method.
3429//    req, resp := client.DeleteInstanceSnapshotRequest(params)
3430//
3431//    err := req.Send()
3432//    if err == nil { // resp is now filled
3433//        fmt.Println(resp)
3434//    }
3435//
3436// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3437func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
3438	op := &request.Operation{
3439		Name:       opDeleteInstanceSnapshot,
3440		HTTPMethod: "POST",
3441		HTTPPath:   "/",
3442	}
3443
3444	if input == nil {
3445		input = &DeleteInstanceSnapshotInput{}
3446	}
3447
3448	output = &DeleteInstanceSnapshotOutput{}
3449	req = c.newRequest(op, input, output)
3450	return
3451}
3452
3453// DeleteInstanceSnapshot API operation for Amazon Lightsail.
3454//
3455// Deletes a specific snapshot of a virtual private server (or instance).
3456//
3457// The delete instance snapshot operation supports tag-based access control
3458// via resource tags applied to the resource identified by instance snapshot
3459// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3460//
3461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3462// with awserr.Error's Code and Message methods to get detailed information about
3463// the error.
3464//
3465// See the AWS API reference guide for Amazon Lightsail's
3466// API operation DeleteInstanceSnapshot for usage and error information.
3467//
3468// Returned Error Types:
3469//   * ServiceException
3470//   A general service exception.
3471//
3472//   * InvalidInputException
3473//   Lightsail throws this exception when user input does not conform to the validation
3474//   rules of an input field.
3475//
3476//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3477//   Please set your AWS Region configuration to us-east-1 to create, view, or
3478//   edit these resources.
3479//
3480//   * NotFoundException
3481//   Lightsail throws this exception when it cannot find a resource.
3482//
3483//   * OperationFailureException
3484//   Lightsail throws this exception when an operation fails to execute.
3485//
3486//   * AccessDeniedException
3487//   Lightsail throws this exception when the user cannot be authenticated or
3488//   uses invalid credentials to access a resource.
3489//
3490//   * AccountSetupInProgressException
3491//   Lightsail throws this exception when an account is still in the setup in
3492//   progress state.
3493//
3494//   * UnauthenticatedException
3495//   Lightsail throws this exception when the user has not been authenticated.
3496//
3497// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3498func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
3499	req, out := c.DeleteInstanceSnapshotRequest(input)
3500	return out, req.Send()
3501}
3502
3503// DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
3504// the ability to pass a context and additional request options.
3505//
3506// See DeleteInstanceSnapshot for details on how to use this API operation.
3507//
3508// The context must be non-nil and will be used for request cancellation. If
3509// the context is nil a panic will occur. In the future the SDK may create
3510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3511// for more information on using Contexts.
3512func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
3513	req, out := c.DeleteInstanceSnapshotRequest(input)
3514	req.SetContext(ctx)
3515	req.ApplyOptions(opts...)
3516	return out, req.Send()
3517}
3518
3519const opDeleteKeyPair = "DeleteKeyPair"
3520
3521// DeleteKeyPairRequest generates a "aws/request.Request" representing the
3522// client's request for the DeleteKeyPair operation. The "output" return
3523// value will be populated with the request's response once the request completes
3524// successfully.
3525//
3526// Use "Send" method on the returned Request to send the API call to the service.
3527// the "output" return value is not valid until after Send returns without error.
3528//
3529// See DeleteKeyPair for more information on using the DeleteKeyPair
3530// API call, and error handling.
3531//
3532// This method is useful when you want to inject custom logic or configuration
3533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3534//
3535//
3536//    // Example sending a request using the DeleteKeyPairRequest method.
3537//    req, resp := client.DeleteKeyPairRequest(params)
3538//
3539//    err := req.Send()
3540//    if err == nil { // resp is now filled
3541//        fmt.Println(resp)
3542//    }
3543//
3544// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
3545func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
3546	op := &request.Operation{
3547		Name:       opDeleteKeyPair,
3548		HTTPMethod: "POST",
3549		HTTPPath:   "/",
3550	}
3551
3552	if input == nil {
3553		input = &DeleteKeyPairInput{}
3554	}
3555
3556	output = &DeleteKeyPairOutput{}
3557	req = c.newRequest(op, input, output)
3558	return
3559}
3560
3561// DeleteKeyPair API operation for Amazon Lightsail.
3562//
3563// Deletes a specific SSH key pair.
3564//
3565// The delete key pair operation supports tag-based access control via resource
3566// tags applied to the resource identified by key pair name. For more information,
3567// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3568//
3569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3570// with awserr.Error's Code and Message methods to get detailed information about
3571// the error.
3572//
3573// See the AWS API reference guide for Amazon Lightsail's
3574// API operation DeleteKeyPair for usage and error information.
3575//
3576// Returned Error Types:
3577//   * ServiceException
3578//   A general service exception.
3579//
3580//   * InvalidInputException
3581//   Lightsail throws this exception when user input does not conform to the validation
3582//   rules of an input field.
3583//
3584//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3585//   Please set your AWS Region configuration to us-east-1 to create, view, or
3586//   edit these resources.
3587//
3588//   * NotFoundException
3589//   Lightsail throws this exception when it cannot find a resource.
3590//
3591//   * OperationFailureException
3592//   Lightsail throws this exception when an operation fails to execute.
3593//
3594//   * AccessDeniedException
3595//   Lightsail throws this exception when the user cannot be authenticated or
3596//   uses invalid credentials to access a resource.
3597//
3598//   * AccountSetupInProgressException
3599//   Lightsail throws this exception when an account is still in the setup in
3600//   progress state.
3601//
3602//   * UnauthenticatedException
3603//   Lightsail throws this exception when the user has not been authenticated.
3604//
3605// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
3606func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
3607	req, out := c.DeleteKeyPairRequest(input)
3608	return out, req.Send()
3609}
3610
3611// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
3612// the ability to pass a context and additional request options.
3613//
3614// See DeleteKeyPair for details on how to use this API operation.
3615//
3616// The context must be non-nil and will be used for request cancellation. If
3617// the context is nil a panic will occur. In the future the SDK may create
3618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3619// for more information on using Contexts.
3620func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
3621	req, out := c.DeleteKeyPairRequest(input)
3622	req.SetContext(ctx)
3623	req.ApplyOptions(opts...)
3624	return out, req.Send()
3625}
3626
3627const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
3628
3629// DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
3630// client's request for the DeleteKnownHostKeys operation. The "output" return
3631// value will be populated with the request's response once the request completes
3632// successfully.
3633//
3634// Use "Send" method on the returned Request to send the API call to the service.
3635// the "output" return value is not valid until after Send returns without error.
3636//
3637// See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
3638// API call, and error handling.
3639//
3640// This method is useful when you want to inject custom logic or configuration
3641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3642//
3643//
3644//    // Example sending a request using the DeleteKnownHostKeysRequest method.
3645//    req, resp := client.DeleteKnownHostKeysRequest(params)
3646//
3647//    err := req.Send()
3648//    if err == nil { // resp is now filled
3649//        fmt.Println(resp)
3650//    }
3651//
3652// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
3653func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
3654	op := &request.Operation{
3655		Name:       opDeleteKnownHostKeys,
3656		HTTPMethod: "POST",
3657		HTTPPath:   "/",
3658	}
3659
3660	if input == nil {
3661		input = &DeleteKnownHostKeysInput{}
3662	}
3663
3664	output = &DeleteKnownHostKeysOutput{}
3665	req = c.newRequest(op, input, output)
3666	return
3667}
3668
3669// DeleteKnownHostKeys API operation for Amazon Lightsail.
3670//
3671// Deletes the known host key or certificate used by the Amazon Lightsail browser-based
3672// SSH or RDP clients to authenticate an instance. This operation enables the
3673// Lightsail browser-based SSH or RDP clients to connect to the instance after
3674// a host key mismatch.
3675//
3676// Perform this operation only if you were expecting the host key or certificate
3677// mismatch or if you are familiar with the new host key or certificate on the
3678// instance. For more information, see Troubleshooting connection issues when
3679// 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).
3680//
3681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3682// with awserr.Error's Code and Message methods to get detailed information about
3683// the error.
3684//
3685// See the AWS API reference guide for Amazon Lightsail's
3686// API operation DeleteKnownHostKeys for usage and error information.
3687//
3688// Returned Error Types:
3689//   * ServiceException
3690//   A general service exception.
3691//
3692//   * InvalidInputException
3693//   Lightsail throws this exception when user input does not conform to the validation
3694//   rules of an input field.
3695//
3696//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3697//   Please set your AWS Region configuration to us-east-1 to create, view, or
3698//   edit these resources.
3699//
3700//   * NotFoundException
3701//   Lightsail throws this exception when it cannot find a resource.
3702//
3703//   * OperationFailureException
3704//   Lightsail throws this exception when an operation fails to execute.
3705//
3706//   * AccessDeniedException
3707//   Lightsail throws this exception when the user cannot be authenticated or
3708//   uses invalid credentials to access a resource.
3709//
3710//   * AccountSetupInProgressException
3711//   Lightsail throws this exception when an account is still in the setup in
3712//   progress state.
3713//
3714//   * UnauthenticatedException
3715//   Lightsail throws this exception when the user has not been authenticated.
3716//
3717// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
3718func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
3719	req, out := c.DeleteKnownHostKeysRequest(input)
3720	return out, req.Send()
3721}
3722
3723// DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
3724// the ability to pass a context and additional request options.
3725//
3726// See DeleteKnownHostKeys for details on how to use this API operation.
3727//
3728// The context must be non-nil and will be used for request cancellation. If
3729// the context is nil a panic will occur. In the future the SDK may create
3730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3731// for more information on using Contexts.
3732func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
3733	req, out := c.DeleteKnownHostKeysRequest(input)
3734	req.SetContext(ctx)
3735	req.ApplyOptions(opts...)
3736	return out, req.Send()
3737}
3738
3739const opDeleteLoadBalancer = "DeleteLoadBalancer"
3740
3741// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
3742// client's request for the DeleteLoadBalancer operation. The "output" return
3743// value will be populated with the request's response once the request completes
3744// successfully.
3745//
3746// Use "Send" method on the returned Request to send the API call to the service.
3747// the "output" return value is not valid until after Send returns without error.
3748//
3749// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
3750// API call, and error handling.
3751//
3752// This method is useful when you want to inject custom logic or configuration
3753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3754//
3755//
3756//    // Example sending a request using the DeleteLoadBalancerRequest method.
3757//    req, resp := client.DeleteLoadBalancerRequest(params)
3758//
3759//    err := req.Send()
3760//    if err == nil { // resp is now filled
3761//        fmt.Println(resp)
3762//    }
3763//
3764// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
3765func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
3766	op := &request.Operation{
3767		Name:       opDeleteLoadBalancer,
3768		HTTPMethod: "POST",
3769		HTTPPath:   "/",
3770	}
3771
3772	if input == nil {
3773		input = &DeleteLoadBalancerInput{}
3774	}
3775
3776	output = &DeleteLoadBalancerOutput{}
3777	req = c.newRequest(op, input, output)
3778	return
3779}
3780
3781// DeleteLoadBalancer API operation for Amazon Lightsail.
3782//
3783// Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
3784// Once the load balancer is deleted, you will need to create a new load balancer,
3785// create a new certificate, and verify domain ownership again.
3786//
3787// The delete load balancer operation supports tag-based access control via
3788// resource tags applied to the resource identified by load balancer name. For
3789// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3790//
3791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3792// with awserr.Error's Code and Message methods to get detailed information about
3793// the error.
3794//
3795// See the AWS API reference guide for Amazon Lightsail's
3796// API operation DeleteLoadBalancer for usage and error information.
3797//
3798// Returned Error Types:
3799//   * ServiceException
3800//   A general service exception.
3801//
3802//   * InvalidInputException
3803//   Lightsail throws this exception when user input does not conform to the validation
3804//   rules of an input field.
3805//
3806//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3807//   Please set your AWS Region configuration to us-east-1 to create, view, or
3808//   edit these resources.
3809//
3810//   * NotFoundException
3811//   Lightsail throws this exception when it cannot find a resource.
3812//
3813//   * OperationFailureException
3814//   Lightsail throws this exception when an operation fails to execute.
3815//
3816//   * AccessDeniedException
3817//   Lightsail throws this exception when the user cannot be authenticated or
3818//   uses invalid credentials to access a resource.
3819//
3820//   * AccountSetupInProgressException
3821//   Lightsail throws this exception when an account is still in the setup in
3822//   progress state.
3823//
3824//   * UnauthenticatedException
3825//   Lightsail throws this exception when the user has not been authenticated.
3826//
3827// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
3828func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
3829	req, out := c.DeleteLoadBalancerRequest(input)
3830	return out, req.Send()
3831}
3832
3833// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
3834// the ability to pass a context and additional request options.
3835//
3836// See DeleteLoadBalancer for details on how to use this API operation.
3837//
3838// The context must be non-nil and will be used for request cancellation. If
3839// the context is nil a panic will occur. In the future the SDK may create
3840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3841// for more information on using Contexts.
3842func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
3843	req, out := c.DeleteLoadBalancerRequest(input)
3844	req.SetContext(ctx)
3845	req.ApplyOptions(opts...)
3846	return out, req.Send()
3847}
3848
3849const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
3850
3851// DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
3852// client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
3853// value will be populated with the request's response once the request completes
3854// successfully.
3855//
3856// Use "Send" method on the returned Request to send the API call to the service.
3857// the "output" return value is not valid until after Send returns without error.
3858//
3859// See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
3860// API call, and error handling.
3861//
3862// This method is useful when you want to inject custom logic or configuration
3863// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3864//
3865//
3866//    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
3867//    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
3868//
3869//    err := req.Send()
3870//    if err == nil { // resp is now filled
3871//        fmt.Println(resp)
3872//    }
3873//
3874// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
3875func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
3876	op := &request.Operation{
3877		Name:       opDeleteLoadBalancerTlsCertificate,
3878		HTTPMethod: "POST",
3879		HTTPPath:   "/",
3880	}
3881
3882	if input == nil {
3883		input = &DeleteLoadBalancerTlsCertificateInput{}
3884	}
3885
3886	output = &DeleteLoadBalancerTlsCertificateOutput{}
3887	req = c.newRequest(op, input, output)
3888	return
3889}
3890
3891// DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
3892//
3893// Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
3894//
3895// The DeleteLoadBalancerTlsCertificate operation supports tag-based access
3896// control via resource tags applied to the resource identified by load balancer
3897// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3898//
3899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3900// with awserr.Error's Code and Message methods to get detailed information about
3901// the error.
3902//
3903// See the AWS API reference guide for Amazon Lightsail's
3904// API operation DeleteLoadBalancerTlsCertificate for usage and error information.
3905//
3906// Returned Error Types:
3907//   * ServiceException
3908//   A general service exception.
3909//
3910//   * InvalidInputException
3911//   Lightsail throws this exception when user input does not conform to the validation
3912//   rules of an input field.
3913//
3914//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3915//   Please set your AWS Region configuration to us-east-1 to create, view, or
3916//   edit these resources.
3917//
3918//   * NotFoundException
3919//   Lightsail throws this exception when it cannot find a resource.
3920//
3921//   * OperationFailureException
3922//   Lightsail throws this exception when an operation fails to execute.
3923//
3924//   * AccessDeniedException
3925//   Lightsail throws this exception when the user cannot be authenticated or
3926//   uses invalid credentials to access a resource.
3927//
3928//   * AccountSetupInProgressException
3929//   Lightsail throws this exception when an account is still in the setup in
3930//   progress state.
3931//
3932//   * UnauthenticatedException
3933//   Lightsail throws this exception when the user has not been authenticated.
3934//
3935// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
3936func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
3937	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
3938	return out, req.Send()
3939}
3940
3941// DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
3942// the ability to pass a context and additional request options.
3943//
3944// See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
3945//
3946// The context must be non-nil and will be used for request cancellation. If
3947// the context is nil a panic will occur. In the future the SDK may create
3948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3949// for more information on using Contexts.
3950func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
3951	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
3952	req.SetContext(ctx)
3953	req.ApplyOptions(opts...)
3954	return out, req.Send()
3955}
3956
3957const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
3958
3959// DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
3960// client's request for the DeleteRelationalDatabase operation. The "output" return
3961// value will be populated with the request's response once the request completes
3962// successfully.
3963//
3964// Use "Send" method on the returned Request to send the API call to the service.
3965// the "output" return value is not valid until after Send returns without error.
3966//
3967// See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
3968// API call, and error handling.
3969//
3970// This method is useful when you want to inject custom logic or configuration
3971// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3972//
3973//
3974//    // Example sending a request using the DeleteRelationalDatabaseRequest method.
3975//    req, resp := client.DeleteRelationalDatabaseRequest(params)
3976//
3977//    err := req.Send()
3978//    if err == nil { // resp is now filled
3979//        fmt.Println(resp)
3980//    }
3981//
3982// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
3983func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
3984	op := &request.Operation{
3985		Name:       opDeleteRelationalDatabase,
3986		HTTPMethod: "POST",
3987		HTTPPath:   "/",
3988	}
3989
3990	if input == nil {
3991		input = &DeleteRelationalDatabaseInput{}
3992	}
3993
3994	output = &DeleteRelationalDatabaseOutput{}
3995	req = c.newRequest(op, input, output)
3996	return
3997}
3998
3999// DeleteRelationalDatabase API operation for Amazon Lightsail.
4000//
4001// Deletes a database in Amazon Lightsail.
4002//
4003// The delete relational database operation supports tag-based access control
4004// via resource tags applied to the resource identified by relationalDatabaseName.
4005// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4006//
4007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4008// with awserr.Error's Code and Message methods to get detailed information about
4009// the error.
4010//
4011// See the AWS API reference guide for Amazon Lightsail's
4012// API operation DeleteRelationalDatabase for usage and error information.
4013//
4014// Returned Error Types:
4015//   * ServiceException
4016//   A general service exception.
4017//
4018//   * InvalidInputException
4019//   Lightsail throws this exception when user input does not conform to the validation
4020//   rules of an input field.
4021//
4022//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4023//   Please set your AWS Region configuration to us-east-1 to create, view, or
4024//   edit these resources.
4025//
4026//   * NotFoundException
4027//   Lightsail throws this exception when it cannot find a resource.
4028//
4029//   * OperationFailureException
4030//   Lightsail throws this exception when an operation fails to execute.
4031//
4032//   * AccessDeniedException
4033//   Lightsail throws this exception when the user cannot be authenticated or
4034//   uses invalid credentials to access a resource.
4035//
4036//   * AccountSetupInProgressException
4037//   Lightsail throws this exception when an account is still in the setup in
4038//   progress state.
4039//
4040//   * UnauthenticatedException
4041//   Lightsail throws this exception when the user has not been authenticated.
4042//
4043// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
4044func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
4045	req, out := c.DeleteRelationalDatabaseRequest(input)
4046	return out, req.Send()
4047}
4048
4049// DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
4050// the ability to pass a context and additional request options.
4051//
4052// See DeleteRelationalDatabase for details on how to use this API operation.
4053//
4054// The context must be non-nil and will be used for request cancellation. If
4055// the context is nil a panic will occur. In the future the SDK may create
4056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4057// for more information on using Contexts.
4058func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
4059	req, out := c.DeleteRelationalDatabaseRequest(input)
4060	req.SetContext(ctx)
4061	req.ApplyOptions(opts...)
4062	return out, req.Send()
4063}
4064
4065const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
4066
4067// DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
4068// client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
4069// value will be populated with the request's response once the request completes
4070// successfully.
4071//
4072// Use "Send" method on the returned Request to send the API call to the service.
4073// the "output" return value is not valid until after Send returns without error.
4074//
4075// See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
4076// API call, and error handling.
4077//
4078// This method is useful when you want to inject custom logic or configuration
4079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4080//
4081//
4082//    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
4083//    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
4084//
4085//    err := req.Send()
4086//    if err == nil { // resp is now filled
4087//        fmt.Println(resp)
4088//    }
4089//
4090// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
4091func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
4092	op := &request.Operation{
4093		Name:       opDeleteRelationalDatabaseSnapshot,
4094		HTTPMethod: "POST",
4095		HTTPPath:   "/",
4096	}
4097
4098	if input == nil {
4099		input = &DeleteRelationalDatabaseSnapshotInput{}
4100	}
4101
4102	output = &DeleteRelationalDatabaseSnapshotOutput{}
4103	req = c.newRequest(op, input, output)
4104	return
4105}
4106
4107// DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
4108//
4109// Deletes a database snapshot in Amazon Lightsail.
4110//
4111// The delete relational database snapshot operation supports tag-based access
4112// control via resource tags applied to the resource identified by relationalDatabaseName.
4113// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4114//
4115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4116// with awserr.Error's Code and Message methods to get detailed information about
4117// the error.
4118//
4119// See the AWS API reference guide for Amazon Lightsail's
4120// API operation DeleteRelationalDatabaseSnapshot for usage and error information.
4121//
4122// Returned Error Types:
4123//   * ServiceException
4124//   A general service exception.
4125//
4126//   * InvalidInputException
4127//   Lightsail throws this exception when user input does not conform to the validation
4128//   rules of an input field.
4129//
4130//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4131//   Please set your AWS Region configuration to us-east-1 to create, view, or
4132//   edit these resources.
4133//
4134//   * NotFoundException
4135//   Lightsail throws this exception when it cannot find a resource.
4136//
4137//   * OperationFailureException
4138//   Lightsail throws this exception when an operation fails to execute.
4139//
4140//   * AccessDeniedException
4141//   Lightsail throws this exception when the user cannot be authenticated or
4142//   uses invalid credentials to access a resource.
4143//
4144//   * AccountSetupInProgressException
4145//   Lightsail throws this exception when an account is still in the setup in
4146//   progress state.
4147//
4148//   * UnauthenticatedException
4149//   Lightsail throws this exception when the user has not been authenticated.
4150//
4151// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
4152func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
4153	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
4154	return out, req.Send()
4155}
4156
4157// DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
4158// the ability to pass a context and additional request options.
4159//
4160// See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
4161//
4162// The context must be non-nil and will be used for request cancellation. If
4163// the context is nil a panic will occur. In the future the SDK may create
4164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4165// for more information on using Contexts.
4166func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
4167	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
4168	req.SetContext(ctx)
4169	req.ApplyOptions(opts...)
4170	return out, req.Send()
4171}
4172
4173const opDetachDisk = "DetachDisk"
4174
4175// DetachDiskRequest generates a "aws/request.Request" representing the
4176// client's request for the DetachDisk operation. The "output" return
4177// value will be populated with the request's response once the request completes
4178// successfully.
4179//
4180// Use "Send" method on the returned Request to send the API call to the service.
4181// the "output" return value is not valid until after Send returns without error.
4182//
4183// See DetachDisk for more information on using the DetachDisk
4184// API call, and error handling.
4185//
4186// This method is useful when you want to inject custom logic or configuration
4187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4188//
4189//
4190//    // Example sending a request using the DetachDiskRequest method.
4191//    req, resp := client.DetachDiskRequest(params)
4192//
4193//    err := req.Send()
4194//    if err == nil { // resp is now filled
4195//        fmt.Println(resp)
4196//    }
4197//
4198// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
4199func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
4200	op := &request.Operation{
4201		Name:       opDetachDisk,
4202		HTTPMethod: "POST",
4203		HTTPPath:   "/",
4204	}
4205
4206	if input == nil {
4207		input = &DetachDiskInput{}
4208	}
4209
4210	output = &DetachDiskOutput{}
4211	req = c.newRequest(op, input, output)
4212	return
4213}
4214
4215// DetachDisk API operation for Amazon Lightsail.
4216//
4217// Detaches a stopped block storage disk from a Lightsail instance. Make sure
4218// to unmount any file systems on the device within your operating system before
4219// stopping the instance and detaching the disk.
4220//
4221// The detach disk operation supports tag-based access control via resource
4222// tags applied to the resource identified by disk name. For more information,
4223// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4224//
4225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4226// with awserr.Error's Code and Message methods to get detailed information about
4227// the error.
4228//
4229// See the AWS API reference guide for Amazon Lightsail's
4230// API operation DetachDisk for usage and error information.
4231//
4232// Returned Error Types:
4233//   * ServiceException
4234//   A general service exception.
4235//
4236//   * InvalidInputException
4237//   Lightsail throws this exception when user input does not conform to the validation
4238//   rules of an input field.
4239//
4240//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4241//   Please set your AWS Region configuration to us-east-1 to create, view, or
4242//   edit these resources.
4243//
4244//   * NotFoundException
4245//   Lightsail throws this exception when it cannot find a resource.
4246//
4247//   * OperationFailureException
4248//   Lightsail throws this exception when an operation fails to execute.
4249//
4250//   * AccessDeniedException
4251//   Lightsail throws this exception when the user cannot be authenticated or
4252//   uses invalid credentials to access a resource.
4253//
4254//   * AccountSetupInProgressException
4255//   Lightsail throws this exception when an account is still in the setup in
4256//   progress state.
4257//
4258//   * UnauthenticatedException
4259//   Lightsail throws this exception when the user has not been authenticated.
4260//
4261// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
4262func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
4263	req, out := c.DetachDiskRequest(input)
4264	return out, req.Send()
4265}
4266
4267// DetachDiskWithContext is the same as DetachDisk with the addition of
4268// the ability to pass a context and additional request options.
4269//
4270// See DetachDisk for details on how to use this API operation.
4271//
4272// The context must be non-nil and will be used for request cancellation. If
4273// the context is nil a panic will occur. In the future the SDK may create
4274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4275// for more information on using Contexts.
4276func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
4277	req, out := c.DetachDiskRequest(input)
4278	req.SetContext(ctx)
4279	req.ApplyOptions(opts...)
4280	return out, req.Send()
4281}
4282
4283const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
4284
4285// DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
4286// client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
4287// value will be populated with the request's response once the request completes
4288// successfully.
4289//
4290// Use "Send" method on the returned Request to send the API call to the service.
4291// the "output" return value is not valid until after Send returns without error.
4292//
4293// See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
4294// API call, and error handling.
4295//
4296// This method is useful when you want to inject custom logic or configuration
4297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4298//
4299//
4300//    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
4301//    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
4302//
4303//    err := req.Send()
4304//    if err == nil { // resp is now filled
4305//        fmt.Println(resp)
4306//    }
4307//
4308// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
4309func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
4310	op := &request.Operation{
4311		Name:       opDetachInstancesFromLoadBalancer,
4312		HTTPMethod: "POST",
4313		HTTPPath:   "/",
4314	}
4315
4316	if input == nil {
4317		input = &DetachInstancesFromLoadBalancerInput{}
4318	}
4319
4320	output = &DetachInstancesFromLoadBalancerOutput{}
4321	req = c.newRequest(op, input, output)
4322	return
4323}
4324
4325// DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
4326//
4327// Detaches the specified instances from a Lightsail load balancer.
4328//
4329// This operation waits until the instances are no longer needed before they
4330// are detached from the load balancer.
4331//
4332// The detach instances from load balancer operation supports tag-based access
4333// control via resource tags applied to the resource identified by load balancer
4334// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4335//
4336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4337// with awserr.Error's Code and Message methods to get detailed information about
4338// the error.
4339//
4340// See the AWS API reference guide for Amazon Lightsail's
4341// API operation DetachInstancesFromLoadBalancer for usage and error information.
4342//
4343// Returned Error Types:
4344//   * ServiceException
4345//   A general service exception.
4346//
4347//   * InvalidInputException
4348//   Lightsail throws this exception when user input does not conform to the validation
4349//   rules of an input field.
4350//
4351//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4352//   Please set your AWS Region configuration to us-east-1 to create, view, or
4353//   edit these resources.
4354//
4355//   * NotFoundException
4356//   Lightsail throws this exception when it cannot find a resource.
4357//
4358//   * OperationFailureException
4359//   Lightsail throws this exception when an operation fails to execute.
4360//
4361//   * AccessDeniedException
4362//   Lightsail throws this exception when the user cannot be authenticated or
4363//   uses invalid credentials to access a resource.
4364//
4365//   * AccountSetupInProgressException
4366//   Lightsail throws this exception when an account is still in the setup in
4367//   progress state.
4368//
4369//   * UnauthenticatedException
4370//   Lightsail throws this exception when the user has not been authenticated.
4371//
4372// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
4373func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
4374	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
4375	return out, req.Send()
4376}
4377
4378// DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
4379// the ability to pass a context and additional request options.
4380//
4381// See DetachInstancesFromLoadBalancer for details on how to use this API operation.
4382//
4383// The context must be non-nil and will be used for request cancellation. If
4384// the context is nil a panic will occur. In the future the SDK may create
4385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4386// for more information on using Contexts.
4387func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
4388	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
4389	req.SetContext(ctx)
4390	req.ApplyOptions(opts...)
4391	return out, req.Send()
4392}
4393
4394const opDetachStaticIp = "DetachStaticIp"
4395
4396// DetachStaticIpRequest generates a "aws/request.Request" representing the
4397// client's request for the DetachStaticIp operation. The "output" return
4398// value will be populated with the request's response once the request completes
4399// successfully.
4400//
4401// Use "Send" method on the returned Request to send the API call to the service.
4402// the "output" return value is not valid until after Send returns without error.
4403//
4404// See DetachStaticIp for more information on using the DetachStaticIp
4405// API call, and error handling.
4406//
4407// This method is useful when you want to inject custom logic or configuration
4408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4409//
4410//
4411//    // Example sending a request using the DetachStaticIpRequest method.
4412//    req, resp := client.DetachStaticIpRequest(params)
4413//
4414//    err := req.Send()
4415//    if err == nil { // resp is now filled
4416//        fmt.Println(resp)
4417//    }
4418//
4419// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
4420func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
4421	op := &request.Operation{
4422		Name:       opDetachStaticIp,
4423		HTTPMethod: "POST",
4424		HTTPPath:   "/",
4425	}
4426
4427	if input == nil {
4428		input = &DetachStaticIpInput{}
4429	}
4430
4431	output = &DetachStaticIpOutput{}
4432	req = c.newRequest(op, input, output)
4433	return
4434}
4435
4436// DetachStaticIp API operation for Amazon Lightsail.
4437//
4438// Detaches a static IP from the Amazon Lightsail instance to which it is attached.
4439//
4440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4441// with awserr.Error's Code and Message methods to get detailed information about
4442// the error.
4443//
4444// See the AWS API reference guide for Amazon Lightsail's
4445// API operation DetachStaticIp for usage and error information.
4446//
4447// Returned Error Types:
4448//   * ServiceException
4449//   A general service exception.
4450//
4451//   * InvalidInputException
4452//   Lightsail throws this exception when user input does not conform to the validation
4453//   rules of an input field.
4454//
4455//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4456//   Please set your AWS Region configuration to us-east-1 to create, view, or
4457//   edit these resources.
4458//
4459//   * NotFoundException
4460//   Lightsail throws this exception when it cannot find a resource.
4461//
4462//   * OperationFailureException
4463//   Lightsail throws this exception when an operation fails to execute.
4464//
4465//   * AccessDeniedException
4466//   Lightsail throws this exception when the user cannot be authenticated or
4467//   uses invalid credentials to access a resource.
4468//
4469//   * AccountSetupInProgressException
4470//   Lightsail throws this exception when an account is still in the setup in
4471//   progress state.
4472//
4473//   * UnauthenticatedException
4474//   Lightsail throws this exception when the user has not been authenticated.
4475//
4476// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
4477func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
4478	req, out := c.DetachStaticIpRequest(input)
4479	return out, req.Send()
4480}
4481
4482// DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
4483// the ability to pass a context and additional request options.
4484//
4485// See DetachStaticIp for details on how to use this API operation.
4486//
4487// The context must be non-nil and will be used for request cancellation. If
4488// the context is nil a panic will occur. In the future the SDK may create
4489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4490// for more information on using Contexts.
4491func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
4492	req, out := c.DetachStaticIpRequest(input)
4493	req.SetContext(ctx)
4494	req.ApplyOptions(opts...)
4495	return out, req.Send()
4496}
4497
4498const opDisableAddOn = "DisableAddOn"
4499
4500// DisableAddOnRequest generates a "aws/request.Request" representing the
4501// client's request for the DisableAddOn operation. The "output" return
4502// value will be populated with the request's response once the request completes
4503// successfully.
4504//
4505// Use "Send" method on the returned Request to send the API call to the service.
4506// the "output" return value is not valid until after Send returns without error.
4507//
4508// See DisableAddOn for more information on using the DisableAddOn
4509// API call, and error handling.
4510//
4511// This method is useful when you want to inject custom logic or configuration
4512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4513//
4514//
4515//    // Example sending a request using the DisableAddOnRequest method.
4516//    req, resp := client.DisableAddOnRequest(params)
4517//
4518//    err := req.Send()
4519//    if err == nil { // resp is now filled
4520//        fmt.Println(resp)
4521//    }
4522//
4523// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
4524func (c *Lightsail) DisableAddOnRequest(input *DisableAddOnInput) (req *request.Request, output *DisableAddOnOutput) {
4525	op := &request.Operation{
4526		Name:       opDisableAddOn,
4527		HTTPMethod: "POST",
4528		HTTPPath:   "/",
4529	}
4530
4531	if input == nil {
4532		input = &DisableAddOnInput{}
4533	}
4534
4535	output = &DisableAddOnOutput{}
4536	req = c.newRequest(op, input, output)
4537	return
4538}
4539
4540// DisableAddOn API operation for Amazon Lightsail.
4541//
4542// Disables an add-on for an Amazon Lightsail resource. For more information,
4543// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
4544//
4545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4546// with awserr.Error's Code and Message methods to get detailed information about
4547// the error.
4548//
4549// See the AWS API reference guide for Amazon Lightsail's
4550// API operation DisableAddOn for usage and error information.
4551//
4552// Returned Error Types:
4553//   * ServiceException
4554//   A general service exception.
4555//
4556//   * InvalidInputException
4557//   Lightsail throws this exception when user input does not conform to the validation
4558//   rules of an input field.
4559//
4560//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4561//   Please set your AWS Region configuration to us-east-1 to create, view, or
4562//   edit these resources.
4563//
4564//   * NotFoundException
4565//   Lightsail throws this exception when it cannot find a resource.
4566//
4567//   * OperationFailureException
4568//   Lightsail throws this exception when an operation fails to execute.
4569//
4570//   * AccessDeniedException
4571//   Lightsail throws this exception when the user cannot be authenticated or
4572//   uses invalid credentials to access a resource.
4573//
4574//   * UnauthenticatedException
4575//   Lightsail throws this exception when the user has not been authenticated.
4576//
4577// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
4578func (c *Lightsail) DisableAddOn(input *DisableAddOnInput) (*DisableAddOnOutput, error) {
4579	req, out := c.DisableAddOnRequest(input)
4580	return out, req.Send()
4581}
4582
4583// DisableAddOnWithContext is the same as DisableAddOn with the addition of
4584// the ability to pass a context and additional request options.
4585//
4586// See DisableAddOn for details on how to use this API operation.
4587//
4588// The context must be non-nil and will be used for request cancellation. If
4589// the context is nil a panic will occur. In the future the SDK may create
4590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4591// for more information on using Contexts.
4592func (c *Lightsail) DisableAddOnWithContext(ctx aws.Context, input *DisableAddOnInput, opts ...request.Option) (*DisableAddOnOutput, error) {
4593	req, out := c.DisableAddOnRequest(input)
4594	req.SetContext(ctx)
4595	req.ApplyOptions(opts...)
4596	return out, req.Send()
4597}
4598
4599const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
4600
4601// DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
4602// client's request for the DownloadDefaultKeyPair operation. The "output" return
4603// value will be populated with the request's response once the request completes
4604// successfully.
4605//
4606// Use "Send" method on the returned Request to send the API call to the service.
4607// the "output" return value is not valid until after Send returns without error.
4608//
4609// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
4610// API call, and error handling.
4611//
4612// This method is useful when you want to inject custom logic or configuration
4613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4614//
4615//
4616//    // Example sending a request using the DownloadDefaultKeyPairRequest method.
4617//    req, resp := client.DownloadDefaultKeyPairRequest(params)
4618//
4619//    err := req.Send()
4620//    if err == nil { // resp is now filled
4621//        fmt.Println(resp)
4622//    }
4623//
4624// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
4625func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
4626	op := &request.Operation{
4627		Name:       opDownloadDefaultKeyPair,
4628		HTTPMethod: "POST",
4629		HTTPPath:   "/",
4630	}
4631
4632	if input == nil {
4633		input = &DownloadDefaultKeyPairInput{}
4634	}
4635
4636	output = &DownloadDefaultKeyPairOutput{}
4637	req = c.newRequest(op, input, output)
4638	return
4639}
4640
4641// DownloadDefaultKeyPair API operation for Amazon Lightsail.
4642//
4643// Downloads the default SSH key pair from the user's account.
4644//
4645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4646// with awserr.Error's Code and Message methods to get detailed information about
4647// the error.
4648//
4649// See the AWS API reference guide for Amazon Lightsail's
4650// API operation DownloadDefaultKeyPair for usage and error information.
4651//
4652// Returned Error Types:
4653//   * ServiceException
4654//   A general service exception.
4655//
4656//   * InvalidInputException
4657//   Lightsail throws this exception when user input does not conform to the validation
4658//   rules of an input field.
4659//
4660//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4661//   Please set your AWS Region configuration to us-east-1 to create, view, or
4662//   edit these resources.
4663//
4664//   * NotFoundException
4665//   Lightsail throws this exception when it cannot find a resource.
4666//
4667//   * OperationFailureException
4668//   Lightsail throws this exception when an operation fails to execute.
4669//
4670//   * AccessDeniedException
4671//   Lightsail throws this exception when the user cannot be authenticated or
4672//   uses invalid credentials to access a resource.
4673//
4674//   * AccountSetupInProgressException
4675//   Lightsail throws this exception when an account is still in the setup in
4676//   progress state.
4677//
4678//   * UnauthenticatedException
4679//   Lightsail throws this exception when the user has not been authenticated.
4680//
4681// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
4682func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
4683	req, out := c.DownloadDefaultKeyPairRequest(input)
4684	return out, req.Send()
4685}
4686
4687// DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
4688// the ability to pass a context and additional request options.
4689//
4690// See DownloadDefaultKeyPair for details on how to use this API operation.
4691//
4692// The context must be non-nil and will be used for request cancellation. If
4693// the context is nil a panic will occur. In the future the SDK may create
4694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4695// for more information on using Contexts.
4696func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
4697	req, out := c.DownloadDefaultKeyPairRequest(input)
4698	req.SetContext(ctx)
4699	req.ApplyOptions(opts...)
4700	return out, req.Send()
4701}
4702
4703const opEnableAddOn = "EnableAddOn"
4704
4705// EnableAddOnRequest generates a "aws/request.Request" representing the
4706// client's request for the EnableAddOn operation. The "output" return
4707// value will be populated with the request's response once the request completes
4708// successfully.
4709//
4710// Use "Send" method on the returned Request to send the API call to the service.
4711// the "output" return value is not valid until after Send returns without error.
4712//
4713// See EnableAddOn for more information on using the EnableAddOn
4714// API call, and error handling.
4715//
4716// This method is useful when you want to inject custom logic or configuration
4717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4718//
4719//
4720//    // Example sending a request using the EnableAddOnRequest method.
4721//    req, resp := client.EnableAddOnRequest(params)
4722//
4723//    err := req.Send()
4724//    if err == nil { // resp is now filled
4725//        fmt.Println(resp)
4726//    }
4727//
4728// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
4729func (c *Lightsail) EnableAddOnRequest(input *EnableAddOnInput) (req *request.Request, output *EnableAddOnOutput) {
4730	op := &request.Operation{
4731		Name:       opEnableAddOn,
4732		HTTPMethod: "POST",
4733		HTTPPath:   "/",
4734	}
4735
4736	if input == nil {
4737		input = &EnableAddOnInput{}
4738	}
4739
4740	output = &EnableAddOnOutput{}
4741	req = c.newRequest(op, input, output)
4742	return
4743}
4744
4745// EnableAddOn API operation for Amazon Lightsail.
4746//
4747// Enables or modifies an add-on for an Amazon Lightsail resource. For more
4748// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
4749//
4750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4751// with awserr.Error's Code and Message methods to get detailed information about
4752// the error.
4753//
4754// See the AWS API reference guide for Amazon Lightsail's
4755// API operation EnableAddOn for usage and error information.
4756//
4757// Returned Error Types:
4758//   * ServiceException
4759//   A general service exception.
4760//
4761//   * InvalidInputException
4762//   Lightsail throws this exception when user input does not conform to the validation
4763//   rules of an input field.
4764//
4765//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4766//   Please set your AWS Region configuration to us-east-1 to create, view, or
4767//   edit these resources.
4768//
4769//   * NotFoundException
4770//   Lightsail throws this exception when it cannot find a resource.
4771//
4772//   * OperationFailureException
4773//   Lightsail throws this exception when an operation fails to execute.
4774//
4775//   * AccessDeniedException
4776//   Lightsail throws this exception when the user cannot be authenticated or
4777//   uses invalid credentials to access a resource.
4778//
4779//   * UnauthenticatedException
4780//   Lightsail throws this exception when the user has not been authenticated.
4781//
4782// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
4783func (c *Lightsail) EnableAddOn(input *EnableAddOnInput) (*EnableAddOnOutput, error) {
4784	req, out := c.EnableAddOnRequest(input)
4785	return out, req.Send()
4786}
4787
4788// EnableAddOnWithContext is the same as EnableAddOn with the addition of
4789// the ability to pass a context and additional request options.
4790//
4791// See EnableAddOn for details on how to use this API operation.
4792//
4793// The context must be non-nil and will be used for request cancellation. If
4794// the context is nil a panic will occur. In the future the SDK may create
4795// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4796// for more information on using Contexts.
4797func (c *Lightsail) EnableAddOnWithContext(ctx aws.Context, input *EnableAddOnInput, opts ...request.Option) (*EnableAddOnOutput, error) {
4798	req, out := c.EnableAddOnRequest(input)
4799	req.SetContext(ctx)
4800	req.ApplyOptions(opts...)
4801	return out, req.Send()
4802}
4803
4804const opExportSnapshot = "ExportSnapshot"
4805
4806// ExportSnapshotRequest generates a "aws/request.Request" representing the
4807// client's request for the ExportSnapshot operation. The "output" return
4808// value will be populated with the request's response once the request completes
4809// successfully.
4810//
4811// Use "Send" method on the returned Request to send the API call to the service.
4812// the "output" return value is not valid until after Send returns without error.
4813//
4814// See ExportSnapshot for more information on using the ExportSnapshot
4815// API call, and error handling.
4816//
4817// This method is useful when you want to inject custom logic or configuration
4818// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4819//
4820//
4821//    // Example sending a request using the ExportSnapshotRequest method.
4822//    req, resp := client.ExportSnapshotRequest(params)
4823//
4824//    err := req.Send()
4825//    if err == nil { // resp is now filled
4826//        fmt.Println(resp)
4827//    }
4828//
4829// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
4830func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
4831	op := &request.Operation{
4832		Name:       opExportSnapshot,
4833		HTTPMethod: "POST",
4834		HTTPPath:   "/",
4835	}
4836
4837	if input == nil {
4838		input = &ExportSnapshotInput{}
4839	}
4840
4841	output = &ExportSnapshotOutput{}
4842	req = c.newRequest(op, input, output)
4843	return
4844}
4845
4846// ExportSnapshot API operation for Amazon Lightsail.
4847//
4848// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
4849// Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
4850// record that can be used with the create cloud formation stack operation to
4851// create new Amazon EC2 instances.
4852//
4853// Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
4854// (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
4855// (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
4856// EBS volumes. Snapshots are exported to the same Amazon Web Services Region
4857// in Amazon EC2 as the source Lightsail snapshot.
4858//
4859// The export snapshot operation supports tag-based access control via resource
4860// tags applied to the resource identified by source snapshot name. For more
4861// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4862//
4863// Use the get instance snapshots or get disk snapshots operations to get a
4864// list of snapshots that you can export to Amazon EC2.
4865//
4866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4867// with awserr.Error's Code and Message methods to get detailed information about
4868// the error.
4869//
4870// See the AWS API reference guide for Amazon Lightsail's
4871// API operation ExportSnapshot for usage and error information.
4872//
4873// Returned Error Types:
4874//   * ServiceException
4875//   A general service exception.
4876//
4877//   * InvalidInputException
4878//   Lightsail throws this exception when user input does not conform to the validation
4879//   rules of an input field.
4880//
4881//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4882//   Please set your AWS Region configuration to us-east-1 to create, view, or
4883//   edit these resources.
4884//
4885//   * NotFoundException
4886//   Lightsail throws this exception when it cannot find a resource.
4887//
4888//   * OperationFailureException
4889//   Lightsail throws this exception when an operation fails to execute.
4890//
4891//   * AccessDeniedException
4892//   Lightsail throws this exception when the user cannot be authenticated or
4893//   uses invalid credentials to access a resource.
4894//
4895//   * AccountSetupInProgressException
4896//   Lightsail throws this exception when an account is still in the setup in
4897//   progress state.
4898//
4899//   * UnauthenticatedException
4900//   Lightsail throws this exception when the user has not been authenticated.
4901//
4902// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
4903func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
4904	req, out := c.ExportSnapshotRequest(input)
4905	return out, req.Send()
4906}
4907
4908// ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
4909// the ability to pass a context and additional request options.
4910//
4911// See ExportSnapshot for details on how to use this API operation.
4912//
4913// The context must be non-nil and will be used for request cancellation. If
4914// the context is nil a panic will occur. In the future the SDK may create
4915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4916// for more information on using Contexts.
4917func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
4918	req, out := c.ExportSnapshotRequest(input)
4919	req.SetContext(ctx)
4920	req.ApplyOptions(opts...)
4921	return out, req.Send()
4922}
4923
4924const opGetActiveNames = "GetActiveNames"
4925
4926// GetActiveNamesRequest generates a "aws/request.Request" representing the
4927// client's request for the GetActiveNames operation. The "output" return
4928// value will be populated with the request's response once the request completes
4929// successfully.
4930//
4931// Use "Send" method on the returned Request to send the API call to the service.
4932// the "output" return value is not valid until after Send returns without error.
4933//
4934// See GetActiveNames for more information on using the GetActiveNames
4935// API call, and error handling.
4936//
4937// This method is useful when you want to inject custom logic or configuration
4938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4939//
4940//
4941//    // Example sending a request using the GetActiveNamesRequest method.
4942//    req, resp := client.GetActiveNamesRequest(params)
4943//
4944//    err := req.Send()
4945//    if err == nil { // resp is now filled
4946//        fmt.Println(resp)
4947//    }
4948//
4949// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
4950func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
4951	op := &request.Operation{
4952		Name:       opGetActiveNames,
4953		HTTPMethod: "POST",
4954		HTTPPath:   "/",
4955	}
4956
4957	if input == nil {
4958		input = &GetActiveNamesInput{}
4959	}
4960
4961	output = &GetActiveNamesOutput{}
4962	req = c.newRequest(op, input, output)
4963	return
4964}
4965
4966// GetActiveNames API operation for Amazon Lightsail.
4967//
4968// Returns the names of all active (not deleted) resources.
4969//
4970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4971// with awserr.Error's Code and Message methods to get detailed information about
4972// the error.
4973//
4974// See the AWS API reference guide for Amazon Lightsail's
4975// API operation GetActiveNames for usage and error information.
4976//
4977// Returned Error Types:
4978//   * ServiceException
4979//   A general service exception.
4980//
4981//   * InvalidInputException
4982//   Lightsail throws this exception when user input does not conform to the validation
4983//   rules of an input field.
4984//
4985//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4986//   Please set your AWS Region configuration to us-east-1 to create, view, or
4987//   edit these resources.
4988//
4989//   * NotFoundException
4990//   Lightsail throws this exception when it cannot find a resource.
4991//
4992//   * OperationFailureException
4993//   Lightsail throws this exception when an operation fails to execute.
4994//
4995//   * AccessDeniedException
4996//   Lightsail throws this exception when the user cannot be authenticated or
4997//   uses invalid credentials to access a resource.
4998//
4999//   * AccountSetupInProgressException
5000//   Lightsail throws this exception when an account is still in the setup in
5001//   progress state.
5002//
5003//   * UnauthenticatedException
5004//   Lightsail throws this exception when the user has not been authenticated.
5005//
5006// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
5007func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
5008	req, out := c.GetActiveNamesRequest(input)
5009	return out, req.Send()
5010}
5011
5012// GetActiveNamesWithContext is the same as GetActiveNames with the addition of
5013// the ability to pass a context and additional request options.
5014//
5015// See GetActiveNames for details on how to use this API operation.
5016//
5017// The context must be non-nil and will be used for request cancellation. If
5018// the context is nil a panic will occur. In the future the SDK may create
5019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5020// for more information on using Contexts.
5021func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
5022	req, out := c.GetActiveNamesRequest(input)
5023	req.SetContext(ctx)
5024	req.ApplyOptions(opts...)
5025	return out, req.Send()
5026}
5027
5028const opGetAlarms = "GetAlarms"
5029
5030// GetAlarmsRequest generates a "aws/request.Request" representing the
5031// client's request for the GetAlarms operation. The "output" return
5032// value will be populated with the request's response once the request completes
5033// successfully.
5034//
5035// Use "Send" method on the returned Request to send the API call to the service.
5036// the "output" return value is not valid until after Send returns without error.
5037//
5038// See GetAlarms for more information on using the GetAlarms
5039// API call, and error handling.
5040//
5041// This method is useful when you want to inject custom logic or configuration
5042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5043//
5044//
5045//    // Example sending a request using the GetAlarmsRequest method.
5046//    req, resp := client.GetAlarmsRequest(params)
5047//
5048//    err := req.Send()
5049//    if err == nil { // resp is now filled
5050//        fmt.Println(resp)
5051//    }
5052//
5053// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
5054func (c *Lightsail) GetAlarmsRequest(input *GetAlarmsInput) (req *request.Request, output *GetAlarmsOutput) {
5055	op := &request.Operation{
5056		Name:       opGetAlarms,
5057		HTTPMethod: "POST",
5058		HTTPPath:   "/",
5059	}
5060
5061	if input == nil {
5062		input = &GetAlarmsInput{}
5063	}
5064
5065	output = &GetAlarmsOutput{}
5066	req = c.newRequest(op, input, output)
5067	return
5068}
5069
5070// GetAlarms API operation for Amazon Lightsail.
5071//
5072// Returns information about the configured alarms. Specify an alarm name in
5073// your request to return information about a specific alarm, or specify a monitored
5074// resource name to return information about all alarms for a specific resource.
5075//
5076// An alarm is used to monitor a single metric for one of your resources. When
5077// a metric condition is met, the alarm can notify you by email, SMS text message,
5078// and a banner displayed on the Amazon Lightsail console. For more information,
5079// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
5080//
5081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5082// with awserr.Error's Code and Message methods to get detailed information about
5083// the error.
5084//
5085// See the AWS API reference guide for Amazon Lightsail's
5086// API operation GetAlarms for usage and error information.
5087//
5088// Returned Error Types:
5089//   * ServiceException
5090//   A general service exception.
5091//
5092//   * InvalidInputException
5093//   Lightsail throws this exception when user input does not conform to the validation
5094//   rules of an input field.
5095//
5096//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5097//   Please set your AWS Region configuration to us-east-1 to create, view, or
5098//   edit these resources.
5099//
5100//   * OperationFailureException
5101//   Lightsail throws this exception when an operation fails to execute.
5102//
5103//   * UnauthenticatedException
5104//   Lightsail throws this exception when the user has not been authenticated.
5105//
5106//   * AccessDeniedException
5107//   Lightsail throws this exception when the user cannot be authenticated or
5108//   uses invalid credentials to access a resource.
5109//
5110//   * NotFoundException
5111//   Lightsail throws this exception when it cannot find a resource.
5112//
5113// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
5114func (c *Lightsail) GetAlarms(input *GetAlarmsInput) (*GetAlarmsOutput, error) {
5115	req, out := c.GetAlarmsRequest(input)
5116	return out, req.Send()
5117}
5118
5119// GetAlarmsWithContext is the same as GetAlarms with the addition of
5120// the ability to pass a context and additional request options.
5121//
5122// See GetAlarms for details on how to use this API operation.
5123//
5124// The context must be non-nil and will be used for request cancellation. If
5125// the context is nil a panic will occur. In the future the SDK may create
5126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5127// for more information on using Contexts.
5128func (c *Lightsail) GetAlarmsWithContext(ctx aws.Context, input *GetAlarmsInput, opts ...request.Option) (*GetAlarmsOutput, error) {
5129	req, out := c.GetAlarmsRequest(input)
5130	req.SetContext(ctx)
5131	req.ApplyOptions(opts...)
5132	return out, req.Send()
5133}
5134
5135const opGetAutoSnapshots = "GetAutoSnapshots"
5136
5137// GetAutoSnapshotsRequest generates a "aws/request.Request" representing the
5138// client's request for the GetAutoSnapshots operation. The "output" return
5139// value will be populated with the request's response once the request completes
5140// successfully.
5141//
5142// Use "Send" method on the returned Request to send the API call to the service.
5143// the "output" return value is not valid until after Send returns without error.
5144//
5145// See GetAutoSnapshots for more information on using the GetAutoSnapshots
5146// API call, and error handling.
5147//
5148// This method is useful when you want to inject custom logic or configuration
5149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5150//
5151//
5152//    // Example sending a request using the GetAutoSnapshotsRequest method.
5153//    req, resp := client.GetAutoSnapshotsRequest(params)
5154//
5155//    err := req.Send()
5156//    if err == nil { // resp is now filled
5157//        fmt.Println(resp)
5158//    }
5159//
5160// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
5161func (c *Lightsail) GetAutoSnapshotsRequest(input *GetAutoSnapshotsInput) (req *request.Request, output *GetAutoSnapshotsOutput) {
5162	op := &request.Operation{
5163		Name:       opGetAutoSnapshots,
5164		HTTPMethod: "POST",
5165		HTTPPath:   "/",
5166	}
5167
5168	if input == nil {
5169		input = &GetAutoSnapshotsInput{}
5170	}
5171
5172	output = &GetAutoSnapshotsOutput{}
5173	req = c.newRequest(op, input, output)
5174	return
5175}
5176
5177// GetAutoSnapshots API operation for Amazon Lightsail.
5178//
5179// Returns the available automatic snapshots for an instance or disk. For more
5180// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
5181//
5182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5183// with awserr.Error's Code and Message methods to get detailed information about
5184// the error.
5185//
5186// See the AWS API reference guide for Amazon Lightsail's
5187// API operation GetAutoSnapshots for usage and error information.
5188//
5189// Returned Error Types:
5190//   * ServiceException
5191//   A general service exception.
5192//
5193//   * InvalidInputException
5194//   Lightsail throws this exception when user input does not conform to the validation
5195//   rules of an input field.
5196//
5197//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5198//   Please set your AWS Region configuration to us-east-1 to create, view, or
5199//   edit these resources.
5200//
5201//   * NotFoundException
5202//   Lightsail throws this exception when it cannot find a resource.
5203//
5204//   * OperationFailureException
5205//   Lightsail throws this exception when an operation fails to execute.
5206//
5207//   * AccessDeniedException
5208//   Lightsail throws this exception when the user cannot be authenticated or
5209//   uses invalid credentials to access a resource.
5210//
5211//   * UnauthenticatedException
5212//   Lightsail throws this exception when the user has not been authenticated.
5213//
5214// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
5215func (c *Lightsail) GetAutoSnapshots(input *GetAutoSnapshotsInput) (*GetAutoSnapshotsOutput, error) {
5216	req, out := c.GetAutoSnapshotsRequest(input)
5217	return out, req.Send()
5218}
5219
5220// GetAutoSnapshotsWithContext is the same as GetAutoSnapshots with the addition of
5221// the ability to pass a context and additional request options.
5222//
5223// See GetAutoSnapshots for details on how to use this API operation.
5224//
5225// The context must be non-nil and will be used for request cancellation. If
5226// the context is nil a panic will occur. In the future the SDK may create
5227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5228// for more information on using Contexts.
5229func (c *Lightsail) GetAutoSnapshotsWithContext(ctx aws.Context, input *GetAutoSnapshotsInput, opts ...request.Option) (*GetAutoSnapshotsOutput, error) {
5230	req, out := c.GetAutoSnapshotsRequest(input)
5231	req.SetContext(ctx)
5232	req.ApplyOptions(opts...)
5233	return out, req.Send()
5234}
5235
5236const opGetBlueprints = "GetBlueprints"
5237
5238// GetBlueprintsRequest generates a "aws/request.Request" representing the
5239// client's request for the GetBlueprints operation. The "output" return
5240// value will be populated with the request's response once the request completes
5241// successfully.
5242//
5243// Use "Send" method on the returned Request to send the API call to the service.
5244// the "output" return value is not valid until after Send returns without error.
5245//
5246// See GetBlueprints for more information on using the GetBlueprints
5247// API call, and error handling.
5248//
5249// This method is useful when you want to inject custom logic or configuration
5250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5251//
5252//
5253//    // Example sending a request using the GetBlueprintsRequest method.
5254//    req, resp := client.GetBlueprintsRequest(params)
5255//
5256//    err := req.Send()
5257//    if err == nil { // resp is now filled
5258//        fmt.Println(resp)
5259//    }
5260//
5261// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
5262func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
5263	op := &request.Operation{
5264		Name:       opGetBlueprints,
5265		HTTPMethod: "POST",
5266		HTTPPath:   "/",
5267	}
5268
5269	if input == nil {
5270		input = &GetBlueprintsInput{}
5271	}
5272
5273	output = &GetBlueprintsOutput{}
5274	req = c.newRequest(op, input, output)
5275	return
5276}
5277
5278// GetBlueprints API operation for Amazon Lightsail.
5279//
5280// Returns the list of available instance images, or blueprints. You can use
5281// a blueprint to create a new instance already running a specific operating
5282// system, as well as a preinstalled app or development stack. The software
5283// each instance is running depends on the blueprint image you choose.
5284//
5285// Use active blueprints when creating new instances. Inactive blueprints are
5286// listed to support customers with existing instances and are not necessarily
5287// available to create new instances. Blueprints are marked inactive when they
5288// become outdated due to operating system updates or new application releases.
5289//
5290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5291// with awserr.Error's Code and Message methods to get detailed information about
5292// the error.
5293//
5294// See the AWS API reference guide for Amazon Lightsail's
5295// API operation GetBlueprints for usage and error information.
5296//
5297// Returned Error Types:
5298//   * ServiceException
5299//   A general service exception.
5300//
5301//   * InvalidInputException
5302//   Lightsail throws this exception when user input does not conform to the validation
5303//   rules of an input field.
5304//
5305//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5306//   Please set your AWS Region configuration to us-east-1 to create, view, or
5307//   edit these resources.
5308//
5309//   * NotFoundException
5310//   Lightsail throws this exception when it cannot find a resource.
5311//
5312//   * OperationFailureException
5313//   Lightsail throws this exception when an operation fails to execute.
5314//
5315//   * AccessDeniedException
5316//   Lightsail throws this exception when the user cannot be authenticated or
5317//   uses invalid credentials to access a resource.
5318//
5319//   * AccountSetupInProgressException
5320//   Lightsail throws this exception when an account is still in the setup in
5321//   progress state.
5322//
5323//   * UnauthenticatedException
5324//   Lightsail throws this exception when the user has not been authenticated.
5325//
5326// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
5327func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
5328	req, out := c.GetBlueprintsRequest(input)
5329	return out, req.Send()
5330}
5331
5332// GetBlueprintsWithContext is the same as GetBlueprints with the addition of
5333// the ability to pass a context and additional request options.
5334//
5335// See GetBlueprints for details on how to use this API operation.
5336//
5337// The context must be non-nil and will be used for request cancellation. If
5338// the context is nil a panic will occur. In the future the SDK may create
5339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5340// for more information on using Contexts.
5341func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
5342	req, out := c.GetBlueprintsRequest(input)
5343	req.SetContext(ctx)
5344	req.ApplyOptions(opts...)
5345	return out, req.Send()
5346}
5347
5348const opGetBundles = "GetBundles"
5349
5350// GetBundlesRequest generates a "aws/request.Request" representing the
5351// client's request for the GetBundles operation. The "output" return
5352// value will be populated with the request's response once the request completes
5353// successfully.
5354//
5355// Use "Send" method on the returned Request to send the API call to the service.
5356// the "output" return value is not valid until after Send returns without error.
5357//
5358// See GetBundles for more information on using the GetBundles
5359// API call, and error handling.
5360//
5361// This method is useful when you want to inject custom logic or configuration
5362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5363//
5364//
5365//    // Example sending a request using the GetBundlesRequest method.
5366//    req, resp := client.GetBundlesRequest(params)
5367//
5368//    err := req.Send()
5369//    if err == nil { // resp is now filled
5370//        fmt.Println(resp)
5371//    }
5372//
5373// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
5374func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
5375	op := &request.Operation{
5376		Name:       opGetBundles,
5377		HTTPMethod: "POST",
5378		HTTPPath:   "/",
5379	}
5380
5381	if input == nil {
5382		input = &GetBundlesInput{}
5383	}
5384
5385	output = &GetBundlesOutput{}
5386	req = c.newRequest(op, input, output)
5387	return
5388}
5389
5390// GetBundles API operation for Amazon Lightsail.
5391//
5392// Returns the list of bundles that are available for purchase. A bundle describes
5393// the specs for your virtual private server (or instance).
5394//
5395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5396// with awserr.Error's Code and Message methods to get detailed information about
5397// the error.
5398//
5399// See the AWS API reference guide for Amazon Lightsail's
5400// API operation GetBundles for usage and error information.
5401//
5402// Returned Error Types:
5403//   * ServiceException
5404//   A general service exception.
5405//
5406//   * InvalidInputException
5407//   Lightsail throws this exception when user input does not conform to the validation
5408//   rules of an input field.
5409//
5410//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5411//   Please set your AWS Region configuration to us-east-1 to create, view, or
5412//   edit these resources.
5413//
5414//   * NotFoundException
5415//   Lightsail throws this exception when it cannot find a resource.
5416//
5417//   * OperationFailureException
5418//   Lightsail throws this exception when an operation fails to execute.
5419//
5420//   * AccessDeniedException
5421//   Lightsail throws this exception when the user cannot be authenticated or
5422//   uses invalid credentials to access a resource.
5423//
5424//   * AccountSetupInProgressException
5425//   Lightsail throws this exception when an account is still in the setup in
5426//   progress state.
5427//
5428//   * UnauthenticatedException
5429//   Lightsail throws this exception when the user has not been authenticated.
5430//
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
5432func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
5433	req, out := c.GetBundlesRequest(input)
5434	return out, req.Send()
5435}
5436
5437// GetBundlesWithContext is the same as GetBundles with the addition of
5438// the ability to pass a context and additional request options.
5439//
5440// See GetBundles for details on how to use this API operation.
5441//
5442// The context must be non-nil and will be used for request cancellation. If
5443// the context is nil a panic will occur. In the future the SDK may create
5444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5445// for more information on using Contexts.
5446func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
5447	req, out := c.GetBundlesRequest(input)
5448	req.SetContext(ctx)
5449	req.ApplyOptions(opts...)
5450	return out, req.Send()
5451}
5452
5453const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
5454
5455// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
5456// client's request for the GetCloudFormationStackRecords operation. The "output" return
5457// value will be populated with the request's response once the request completes
5458// successfully.
5459//
5460// Use "Send" method on the returned Request to send the API call to the service.
5461// the "output" return value is not valid until after Send returns without error.
5462//
5463// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
5464// API call, and error handling.
5465//
5466// This method is useful when you want to inject custom logic or configuration
5467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5468//
5469//
5470//    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
5471//    req, resp := client.GetCloudFormationStackRecordsRequest(params)
5472//
5473//    err := req.Send()
5474//    if err == nil { // resp is now filled
5475//        fmt.Println(resp)
5476//    }
5477//
5478// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
5479func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
5480	op := &request.Operation{
5481		Name:       opGetCloudFormationStackRecords,
5482		HTTPMethod: "POST",
5483		HTTPPath:   "/",
5484	}
5485
5486	if input == nil {
5487		input = &GetCloudFormationStackRecordsInput{}
5488	}
5489
5490	output = &GetCloudFormationStackRecordsOutput{}
5491	req = c.newRequest(op, input, output)
5492	return
5493}
5494
5495// GetCloudFormationStackRecords API operation for Amazon Lightsail.
5496//
5497// Returns the CloudFormation stack record created as a result of the create
5498// cloud formation stack operation.
5499//
5500// An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
5501// an exported Lightsail snapshot.
5502//
5503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5504// with awserr.Error's Code and Message methods to get detailed information about
5505// the error.
5506//
5507// See the AWS API reference guide for Amazon Lightsail's
5508// API operation GetCloudFormationStackRecords for usage and error information.
5509//
5510// Returned Error Types:
5511//   * ServiceException
5512//   A general service exception.
5513//
5514//   * InvalidInputException
5515//   Lightsail throws this exception when user input does not conform to the validation
5516//   rules of an input field.
5517//
5518//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5519//   Please set your AWS Region configuration to us-east-1 to create, view, or
5520//   edit these resources.
5521//
5522//   * NotFoundException
5523//   Lightsail throws this exception when it cannot find a resource.
5524//
5525//   * OperationFailureException
5526//   Lightsail throws this exception when an operation fails to execute.
5527//
5528//   * AccessDeniedException
5529//   Lightsail throws this exception when the user cannot be authenticated or
5530//   uses invalid credentials to access a resource.
5531//
5532//   * AccountSetupInProgressException
5533//   Lightsail throws this exception when an account is still in the setup in
5534//   progress state.
5535//
5536//   * UnauthenticatedException
5537//   Lightsail throws this exception when the user has not been authenticated.
5538//
5539// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
5540func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
5541	req, out := c.GetCloudFormationStackRecordsRequest(input)
5542	return out, req.Send()
5543}
5544
5545// GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
5546// the ability to pass a context and additional request options.
5547//
5548// See GetCloudFormationStackRecords for details on how to use this API operation.
5549//
5550// The context must be non-nil and will be used for request cancellation. If
5551// the context is nil a panic will occur. In the future the SDK may create
5552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5553// for more information on using Contexts.
5554func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
5555	req, out := c.GetCloudFormationStackRecordsRequest(input)
5556	req.SetContext(ctx)
5557	req.ApplyOptions(opts...)
5558	return out, req.Send()
5559}
5560
5561const opGetContactMethods = "GetContactMethods"
5562
5563// GetContactMethodsRequest generates a "aws/request.Request" representing the
5564// client's request for the GetContactMethods operation. The "output" return
5565// value will be populated with the request's response once the request completes
5566// successfully.
5567//
5568// Use "Send" method on the returned Request to send the API call to the service.
5569// the "output" return value is not valid until after Send returns without error.
5570//
5571// See GetContactMethods for more information on using the GetContactMethods
5572// API call, and error handling.
5573//
5574// This method is useful when you want to inject custom logic or configuration
5575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5576//
5577//
5578//    // Example sending a request using the GetContactMethodsRequest method.
5579//    req, resp := client.GetContactMethodsRequest(params)
5580//
5581//    err := req.Send()
5582//    if err == nil { // resp is now filled
5583//        fmt.Println(resp)
5584//    }
5585//
5586// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
5587func (c *Lightsail) GetContactMethodsRequest(input *GetContactMethodsInput) (req *request.Request, output *GetContactMethodsOutput) {
5588	op := &request.Operation{
5589		Name:       opGetContactMethods,
5590		HTTPMethod: "POST",
5591		HTTPPath:   "/",
5592	}
5593
5594	if input == nil {
5595		input = &GetContactMethodsInput{}
5596	}
5597
5598	output = &GetContactMethodsOutput{}
5599	req = c.newRequest(op, input, output)
5600	return
5601}
5602
5603// GetContactMethods API operation for Amazon Lightsail.
5604//
5605// Returns information about the configured contact methods. Specify a protocol
5606// in your request to return information about a specific contact method.
5607//
5608// A contact method is used to send you notifications about your Amazon Lightsail
5609// resources. You can add one email address and one mobile phone number contact
5610// method in each AWS Region. However, SMS text messaging is not supported in
5611// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
5612// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
5613//
5614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5615// with awserr.Error's Code and Message methods to get detailed information about
5616// the error.
5617//
5618// See the AWS API reference guide for Amazon Lightsail's
5619// API operation GetContactMethods for usage and error information.
5620//
5621// Returned Error Types:
5622//   * ServiceException
5623//   A general service exception.
5624//
5625//   * InvalidInputException
5626//   Lightsail throws this exception when user input does not conform to the validation
5627//   rules of an input field.
5628//
5629//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5630//   Please set your AWS Region configuration to us-east-1 to create, view, or
5631//   edit these resources.
5632//
5633//   * NotFoundException
5634//   Lightsail throws this exception when it cannot find a resource.
5635//
5636//   * OperationFailureException
5637//   Lightsail throws this exception when an operation fails to execute.
5638//
5639//   * AccessDeniedException
5640//   Lightsail throws this exception when the user cannot be authenticated or
5641//   uses invalid credentials to access a resource.
5642//
5643//   * UnauthenticatedException
5644//   Lightsail throws this exception when the user has not been authenticated.
5645//
5646// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
5647func (c *Lightsail) GetContactMethods(input *GetContactMethodsInput) (*GetContactMethodsOutput, error) {
5648	req, out := c.GetContactMethodsRequest(input)
5649	return out, req.Send()
5650}
5651
5652// GetContactMethodsWithContext is the same as GetContactMethods with the addition of
5653// the ability to pass a context and additional request options.
5654//
5655// See GetContactMethods for details on how to use this API operation.
5656//
5657// The context must be non-nil and will be used for request cancellation. If
5658// the context is nil a panic will occur. In the future the SDK may create
5659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5660// for more information on using Contexts.
5661func (c *Lightsail) GetContactMethodsWithContext(ctx aws.Context, input *GetContactMethodsInput, opts ...request.Option) (*GetContactMethodsOutput, error) {
5662	req, out := c.GetContactMethodsRequest(input)
5663	req.SetContext(ctx)
5664	req.ApplyOptions(opts...)
5665	return out, req.Send()
5666}
5667
5668const opGetDisk = "GetDisk"
5669
5670// GetDiskRequest generates a "aws/request.Request" representing the
5671// client's request for the GetDisk operation. The "output" return
5672// value will be populated with the request's response once the request completes
5673// successfully.
5674//
5675// Use "Send" method on the returned Request to send the API call to the service.
5676// the "output" return value is not valid until after Send returns without error.
5677//
5678// See GetDisk for more information on using the GetDisk
5679// API call, and error handling.
5680//
5681// This method is useful when you want to inject custom logic or configuration
5682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5683//
5684//
5685//    // Example sending a request using the GetDiskRequest method.
5686//    req, resp := client.GetDiskRequest(params)
5687//
5688//    err := req.Send()
5689//    if err == nil { // resp is now filled
5690//        fmt.Println(resp)
5691//    }
5692//
5693// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
5694func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
5695	op := &request.Operation{
5696		Name:       opGetDisk,
5697		HTTPMethod: "POST",
5698		HTTPPath:   "/",
5699	}
5700
5701	if input == nil {
5702		input = &GetDiskInput{}
5703	}
5704
5705	output = &GetDiskOutput{}
5706	req = c.newRequest(op, input, output)
5707	return
5708}
5709
5710// GetDisk API operation for Amazon Lightsail.
5711//
5712// Returns information about a specific block storage disk.
5713//
5714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5715// with awserr.Error's Code and Message methods to get detailed information about
5716// the error.
5717//
5718// See the AWS API reference guide for Amazon Lightsail's
5719// API operation GetDisk for usage and error information.
5720//
5721// Returned Error Types:
5722//   * ServiceException
5723//   A general service exception.
5724//
5725//   * InvalidInputException
5726//   Lightsail throws this exception when user input does not conform to the validation
5727//   rules of an input field.
5728//
5729//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5730//   Please set your AWS Region configuration to us-east-1 to create, view, or
5731//   edit these resources.
5732//
5733//   * NotFoundException
5734//   Lightsail throws this exception when it cannot find a resource.
5735//
5736//   * OperationFailureException
5737//   Lightsail throws this exception when an operation fails to execute.
5738//
5739//   * AccessDeniedException
5740//   Lightsail throws this exception when the user cannot be authenticated or
5741//   uses invalid credentials to access a resource.
5742//
5743//   * AccountSetupInProgressException
5744//   Lightsail throws this exception when an account is still in the setup in
5745//   progress state.
5746//
5747//   * UnauthenticatedException
5748//   Lightsail throws this exception when the user has not been authenticated.
5749//
5750// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
5751func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
5752	req, out := c.GetDiskRequest(input)
5753	return out, req.Send()
5754}
5755
5756// GetDiskWithContext is the same as GetDisk with the addition of
5757// the ability to pass a context and additional request options.
5758//
5759// See GetDisk for details on how to use this API operation.
5760//
5761// The context must be non-nil and will be used for request cancellation. If
5762// the context is nil a panic will occur. In the future the SDK may create
5763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5764// for more information on using Contexts.
5765func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
5766	req, out := c.GetDiskRequest(input)
5767	req.SetContext(ctx)
5768	req.ApplyOptions(opts...)
5769	return out, req.Send()
5770}
5771
5772const opGetDiskSnapshot = "GetDiskSnapshot"
5773
5774// GetDiskSnapshotRequest generates a "aws/request.Request" representing the
5775// client's request for the GetDiskSnapshot operation. The "output" return
5776// value will be populated with the request's response once the request completes
5777// successfully.
5778//
5779// Use "Send" method on the returned Request to send the API call to the service.
5780// the "output" return value is not valid until after Send returns without error.
5781//
5782// See GetDiskSnapshot for more information on using the GetDiskSnapshot
5783// API call, and error handling.
5784//
5785// This method is useful when you want to inject custom logic or configuration
5786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5787//
5788//
5789//    // Example sending a request using the GetDiskSnapshotRequest method.
5790//    req, resp := client.GetDiskSnapshotRequest(params)
5791//
5792//    err := req.Send()
5793//    if err == nil { // resp is now filled
5794//        fmt.Println(resp)
5795//    }
5796//
5797// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
5798func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
5799	op := &request.Operation{
5800		Name:       opGetDiskSnapshot,
5801		HTTPMethod: "POST",
5802		HTTPPath:   "/",
5803	}
5804
5805	if input == nil {
5806		input = &GetDiskSnapshotInput{}
5807	}
5808
5809	output = &GetDiskSnapshotOutput{}
5810	req = c.newRequest(op, input, output)
5811	return
5812}
5813
5814// GetDiskSnapshot API operation for Amazon Lightsail.
5815//
5816// Returns information about a specific block storage disk snapshot.
5817//
5818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5819// with awserr.Error's Code and Message methods to get detailed information about
5820// the error.
5821//
5822// See the AWS API reference guide for Amazon Lightsail's
5823// API operation GetDiskSnapshot for usage and error information.
5824//
5825// Returned Error Types:
5826//   * ServiceException
5827//   A general service exception.
5828//
5829//   * InvalidInputException
5830//   Lightsail throws this exception when user input does not conform to the validation
5831//   rules of an input field.
5832//
5833//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5834//   Please set your AWS Region configuration to us-east-1 to create, view, or
5835//   edit these resources.
5836//
5837//   * NotFoundException
5838//   Lightsail throws this exception when it cannot find a resource.
5839//
5840//   * OperationFailureException
5841//   Lightsail throws this exception when an operation fails to execute.
5842//
5843//   * AccessDeniedException
5844//   Lightsail throws this exception when the user cannot be authenticated or
5845//   uses invalid credentials to access a resource.
5846//
5847//   * AccountSetupInProgressException
5848//   Lightsail throws this exception when an account is still in the setup in
5849//   progress state.
5850//
5851//   * UnauthenticatedException
5852//   Lightsail throws this exception when the user has not been authenticated.
5853//
5854// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
5855func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
5856	req, out := c.GetDiskSnapshotRequest(input)
5857	return out, req.Send()
5858}
5859
5860// GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
5861// the ability to pass a context and additional request options.
5862//
5863// See GetDiskSnapshot for details on how to use this API operation.
5864//
5865// The context must be non-nil and will be used for request cancellation. If
5866// the context is nil a panic will occur. In the future the SDK may create
5867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5868// for more information on using Contexts.
5869func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
5870	req, out := c.GetDiskSnapshotRequest(input)
5871	req.SetContext(ctx)
5872	req.ApplyOptions(opts...)
5873	return out, req.Send()
5874}
5875
5876const opGetDiskSnapshots = "GetDiskSnapshots"
5877
5878// GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
5879// client's request for the GetDiskSnapshots operation. The "output" return
5880// value will be populated with the request's response once the request completes
5881// successfully.
5882//
5883// Use "Send" method on the returned Request to send the API call to the service.
5884// the "output" return value is not valid until after Send returns without error.
5885//
5886// See GetDiskSnapshots for more information on using the GetDiskSnapshots
5887// API call, and error handling.
5888//
5889// This method is useful when you want to inject custom logic or configuration
5890// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5891//
5892//
5893//    // Example sending a request using the GetDiskSnapshotsRequest method.
5894//    req, resp := client.GetDiskSnapshotsRequest(params)
5895//
5896//    err := req.Send()
5897//    if err == nil { // resp is now filled
5898//        fmt.Println(resp)
5899//    }
5900//
5901// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
5902func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
5903	op := &request.Operation{
5904		Name:       opGetDiskSnapshots,
5905		HTTPMethod: "POST",
5906		HTTPPath:   "/",
5907	}
5908
5909	if input == nil {
5910		input = &GetDiskSnapshotsInput{}
5911	}
5912
5913	output = &GetDiskSnapshotsOutput{}
5914	req = c.newRequest(op, input, output)
5915	return
5916}
5917
5918// GetDiskSnapshots API operation for Amazon Lightsail.
5919//
5920// Returns information about all block storage disk snapshots in your AWS account
5921// and region.
5922//
5923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5924// with awserr.Error's Code and Message methods to get detailed information about
5925// the error.
5926//
5927// See the AWS API reference guide for Amazon Lightsail's
5928// API operation GetDiskSnapshots for usage and error information.
5929//
5930// Returned Error Types:
5931//   * ServiceException
5932//   A general service exception.
5933//
5934//   * InvalidInputException
5935//   Lightsail throws this exception when user input does not conform to the validation
5936//   rules of an input field.
5937//
5938//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5939//   Please set your AWS Region configuration to us-east-1 to create, view, or
5940//   edit these resources.
5941//
5942//   * NotFoundException
5943//   Lightsail throws this exception when it cannot find a resource.
5944//
5945//   * OperationFailureException
5946//   Lightsail throws this exception when an operation fails to execute.
5947//
5948//   * AccessDeniedException
5949//   Lightsail throws this exception when the user cannot be authenticated or
5950//   uses invalid credentials to access a resource.
5951//
5952//   * AccountSetupInProgressException
5953//   Lightsail throws this exception when an account is still in the setup in
5954//   progress state.
5955//
5956//   * UnauthenticatedException
5957//   Lightsail throws this exception when the user has not been authenticated.
5958//
5959// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
5960func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
5961	req, out := c.GetDiskSnapshotsRequest(input)
5962	return out, req.Send()
5963}
5964
5965// GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
5966// the ability to pass a context and additional request options.
5967//
5968// See GetDiskSnapshots for details on how to use this API operation.
5969//
5970// The context must be non-nil and will be used for request cancellation. If
5971// the context is nil a panic will occur. In the future the SDK may create
5972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5973// for more information on using Contexts.
5974func (c *Lightsail) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
5975	req, out := c.GetDiskSnapshotsRequest(input)
5976	req.SetContext(ctx)
5977	req.ApplyOptions(opts...)
5978	return out, req.Send()
5979}
5980
5981const opGetDisks = "GetDisks"
5982
5983// GetDisksRequest generates a "aws/request.Request" representing the
5984// client's request for the GetDisks operation. The "output" return
5985// value will be populated with the request's response once the request completes
5986// successfully.
5987//
5988// Use "Send" method on the returned Request to send the API call to the service.
5989// the "output" return value is not valid until after Send returns without error.
5990//
5991// See GetDisks for more information on using the GetDisks
5992// API call, and error handling.
5993//
5994// This method is useful when you want to inject custom logic or configuration
5995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5996//
5997//
5998//    // Example sending a request using the GetDisksRequest method.
5999//    req, resp := client.GetDisksRequest(params)
6000//
6001//    err := req.Send()
6002//    if err == nil { // resp is now filled
6003//        fmt.Println(resp)
6004//    }
6005//
6006// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
6007func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
6008	op := &request.Operation{
6009		Name:       opGetDisks,
6010		HTTPMethod: "POST",
6011		HTTPPath:   "/",
6012	}
6013
6014	if input == nil {
6015		input = &GetDisksInput{}
6016	}
6017
6018	output = &GetDisksOutput{}
6019	req = c.newRequest(op, input, output)
6020	return
6021}
6022
6023// GetDisks API operation for Amazon Lightsail.
6024//
6025// Returns information about all block storage disks in your AWS account and
6026// region.
6027//
6028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6029// with awserr.Error's Code and Message methods to get detailed information about
6030// the error.
6031//
6032// See the AWS API reference guide for Amazon Lightsail's
6033// API operation GetDisks for usage and error information.
6034//
6035// Returned Error Types:
6036//   * ServiceException
6037//   A general service exception.
6038//
6039//   * InvalidInputException
6040//   Lightsail throws this exception when user input does not conform to the validation
6041//   rules of an input field.
6042//
6043//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6044//   Please set your AWS Region configuration to us-east-1 to create, view, or
6045//   edit these resources.
6046//
6047//   * NotFoundException
6048//   Lightsail throws this exception when it cannot find a resource.
6049//
6050//   * OperationFailureException
6051//   Lightsail throws this exception when an operation fails to execute.
6052//
6053//   * AccessDeniedException
6054//   Lightsail throws this exception when the user cannot be authenticated or
6055//   uses invalid credentials to access a resource.
6056//
6057//   * AccountSetupInProgressException
6058//   Lightsail throws this exception when an account is still in the setup in
6059//   progress state.
6060//
6061//   * UnauthenticatedException
6062//   Lightsail throws this exception when the user has not been authenticated.
6063//
6064// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
6065func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
6066	req, out := c.GetDisksRequest(input)
6067	return out, req.Send()
6068}
6069
6070// GetDisksWithContext is the same as GetDisks with the addition of
6071// the ability to pass a context and additional request options.
6072//
6073// See GetDisks for details on how to use this API operation.
6074//
6075// The context must be non-nil and will be used for request cancellation. If
6076// the context is nil a panic will occur. In the future the SDK may create
6077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6078// for more information on using Contexts.
6079func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
6080	req, out := c.GetDisksRequest(input)
6081	req.SetContext(ctx)
6082	req.ApplyOptions(opts...)
6083	return out, req.Send()
6084}
6085
6086const opGetDomain = "GetDomain"
6087
6088// GetDomainRequest generates a "aws/request.Request" representing the
6089// client's request for the GetDomain operation. The "output" return
6090// value will be populated with the request's response once the request completes
6091// successfully.
6092//
6093// Use "Send" method on the returned Request to send the API call to the service.
6094// the "output" return value is not valid until after Send returns without error.
6095//
6096// See GetDomain for more information on using the GetDomain
6097// API call, and error handling.
6098//
6099// This method is useful when you want to inject custom logic or configuration
6100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6101//
6102//
6103//    // Example sending a request using the GetDomainRequest method.
6104//    req, resp := client.GetDomainRequest(params)
6105//
6106//    err := req.Send()
6107//    if err == nil { // resp is now filled
6108//        fmt.Println(resp)
6109//    }
6110//
6111// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
6112func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
6113	op := &request.Operation{
6114		Name:       opGetDomain,
6115		HTTPMethod: "POST",
6116		HTTPPath:   "/",
6117	}
6118
6119	if input == nil {
6120		input = &GetDomainInput{}
6121	}
6122
6123	output = &GetDomainOutput{}
6124	req = c.newRequest(op, input, output)
6125	return
6126}
6127
6128// GetDomain API operation for Amazon Lightsail.
6129//
6130// Returns information about a specific domain recordset.
6131//
6132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6133// with awserr.Error's Code and Message methods to get detailed information about
6134// the error.
6135//
6136// See the AWS API reference guide for Amazon Lightsail's
6137// API operation GetDomain for usage and error information.
6138//
6139// Returned Error Types:
6140//   * ServiceException
6141//   A general service exception.
6142//
6143//   * InvalidInputException
6144//   Lightsail throws this exception when user input does not conform to the validation
6145//   rules of an input field.
6146//
6147//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6148//   Please set your AWS Region configuration to us-east-1 to create, view, or
6149//   edit these resources.
6150//
6151//   * NotFoundException
6152//   Lightsail throws this exception when it cannot find a resource.
6153//
6154//   * OperationFailureException
6155//   Lightsail throws this exception when an operation fails to execute.
6156//
6157//   * AccessDeniedException
6158//   Lightsail throws this exception when the user cannot be authenticated or
6159//   uses invalid credentials to access a resource.
6160//
6161//   * AccountSetupInProgressException
6162//   Lightsail throws this exception when an account is still in the setup in
6163//   progress state.
6164//
6165//   * UnauthenticatedException
6166//   Lightsail throws this exception when the user has not been authenticated.
6167//
6168// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
6169func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
6170	req, out := c.GetDomainRequest(input)
6171	return out, req.Send()
6172}
6173
6174// GetDomainWithContext is the same as GetDomain with the addition of
6175// the ability to pass a context and additional request options.
6176//
6177// See GetDomain for details on how to use this API operation.
6178//
6179// The context must be non-nil and will be used for request cancellation. If
6180// the context is nil a panic will occur. In the future the SDK may create
6181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6182// for more information on using Contexts.
6183func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
6184	req, out := c.GetDomainRequest(input)
6185	req.SetContext(ctx)
6186	req.ApplyOptions(opts...)
6187	return out, req.Send()
6188}
6189
6190const opGetDomains = "GetDomains"
6191
6192// GetDomainsRequest generates a "aws/request.Request" representing the
6193// client's request for the GetDomains operation. The "output" return
6194// value will be populated with the request's response once the request completes
6195// successfully.
6196//
6197// Use "Send" method on the returned Request to send the API call to the service.
6198// the "output" return value is not valid until after Send returns without error.
6199//
6200// See GetDomains for more information on using the GetDomains
6201// API call, and error handling.
6202//
6203// This method is useful when you want to inject custom logic or configuration
6204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6205//
6206//
6207//    // Example sending a request using the GetDomainsRequest method.
6208//    req, resp := client.GetDomainsRequest(params)
6209//
6210//    err := req.Send()
6211//    if err == nil { // resp is now filled
6212//        fmt.Println(resp)
6213//    }
6214//
6215// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
6216func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
6217	op := &request.Operation{
6218		Name:       opGetDomains,
6219		HTTPMethod: "POST",
6220		HTTPPath:   "/",
6221	}
6222
6223	if input == nil {
6224		input = &GetDomainsInput{}
6225	}
6226
6227	output = &GetDomainsOutput{}
6228	req = c.newRequest(op, input, output)
6229	return
6230}
6231
6232// GetDomains API operation for Amazon Lightsail.
6233//
6234// Returns a list of all domains in the user's account.
6235//
6236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6237// with awserr.Error's Code and Message methods to get detailed information about
6238// the error.
6239//
6240// See the AWS API reference guide for Amazon Lightsail's
6241// API operation GetDomains for usage and error information.
6242//
6243// Returned Error Types:
6244//   * ServiceException
6245//   A general service exception.
6246//
6247//   * InvalidInputException
6248//   Lightsail throws this exception when user input does not conform to the validation
6249//   rules of an input field.
6250//
6251//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6252//   Please set your AWS Region configuration to us-east-1 to create, view, or
6253//   edit these resources.
6254//
6255//   * NotFoundException
6256//   Lightsail throws this exception when it cannot find a resource.
6257//
6258//   * OperationFailureException
6259//   Lightsail throws this exception when an operation fails to execute.
6260//
6261//   * AccessDeniedException
6262//   Lightsail throws this exception when the user cannot be authenticated or
6263//   uses invalid credentials to access a resource.
6264//
6265//   * AccountSetupInProgressException
6266//   Lightsail throws this exception when an account is still in the setup in
6267//   progress state.
6268//
6269//   * UnauthenticatedException
6270//   Lightsail throws this exception when the user has not been authenticated.
6271//
6272// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
6273func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
6274	req, out := c.GetDomainsRequest(input)
6275	return out, req.Send()
6276}
6277
6278// GetDomainsWithContext is the same as GetDomains with the addition of
6279// the ability to pass a context and additional request options.
6280//
6281// See GetDomains for details on how to use this API operation.
6282//
6283// The context must be non-nil and will be used for request cancellation. If
6284// the context is nil a panic will occur. In the future the SDK may create
6285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6286// for more information on using Contexts.
6287func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
6288	req, out := c.GetDomainsRequest(input)
6289	req.SetContext(ctx)
6290	req.ApplyOptions(opts...)
6291	return out, req.Send()
6292}
6293
6294const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
6295
6296// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
6297// client's request for the GetExportSnapshotRecords operation. The "output" return
6298// value will be populated with the request's response once the request completes
6299// successfully.
6300//
6301// Use "Send" method on the returned Request to send the API call to the service.
6302// the "output" return value is not valid until after Send returns without error.
6303//
6304// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
6305// API call, and error handling.
6306//
6307// This method is useful when you want to inject custom logic or configuration
6308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6309//
6310//
6311//    // Example sending a request using the GetExportSnapshotRecordsRequest method.
6312//    req, resp := client.GetExportSnapshotRecordsRequest(params)
6313//
6314//    err := req.Send()
6315//    if err == nil { // resp is now filled
6316//        fmt.Println(resp)
6317//    }
6318//
6319// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
6320func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
6321	op := &request.Operation{
6322		Name:       opGetExportSnapshotRecords,
6323		HTTPMethod: "POST",
6324		HTTPPath:   "/",
6325	}
6326
6327	if input == nil {
6328		input = &GetExportSnapshotRecordsInput{}
6329	}
6330
6331	output = &GetExportSnapshotRecordsOutput{}
6332	req = c.newRequest(op, input, output)
6333	return
6334}
6335
6336// GetExportSnapshotRecords API operation for Amazon Lightsail.
6337//
6338// Returns the export snapshot record created as a result of the export snapshot
6339// operation.
6340//
6341// An export snapshot record can be used to create a new Amazon EC2 instance
6342// and its related resources with the create cloud formation stack operation.
6343//
6344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6345// with awserr.Error's Code and Message methods to get detailed information about
6346// the error.
6347//
6348// See the AWS API reference guide for Amazon Lightsail's
6349// API operation GetExportSnapshotRecords for usage and error information.
6350//
6351// Returned Error Types:
6352//   * ServiceException
6353//   A general service exception.
6354//
6355//   * InvalidInputException
6356//   Lightsail throws this exception when user input does not conform to the validation
6357//   rules of an input field.
6358//
6359//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6360//   Please set your AWS Region configuration to us-east-1 to create, view, or
6361//   edit these resources.
6362//
6363//   * NotFoundException
6364//   Lightsail throws this exception when it cannot find a resource.
6365//
6366//   * OperationFailureException
6367//   Lightsail throws this exception when an operation fails to execute.
6368//
6369//   * AccessDeniedException
6370//   Lightsail throws this exception when the user cannot be authenticated or
6371//   uses invalid credentials to access a resource.
6372//
6373//   * AccountSetupInProgressException
6374//   Lightsail throws this exception when an account is still in the setup in
6375//   progress state.
6376//
6377//   * UnauthenticatedException
6378//   Lightsail throws this exception when the user has not been authenticated.
6379//
6380// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
6381func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
6382	req, out := c.GetExportSnapshotRecordsRequest(input)
6383	return out, req.Send()
6384}
6385
6386// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
6387// the ability to pass a context and additional request options.
6388//
6389// See GetExportSnapshotRecords for details on how to use this API operation.
6390//
6391// The context must be non-nil and will be used for request cancellation. If
6392// the context is nil a panic will occur. In the future the SDK may create
6393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6394// for more information on using Contexts.
6395func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
6396	req, out := c.GetExportSnapshotRecordsRequest(input)
6397	req.SetContext(ctx)
6398	req.ApplyOptions(opts...)
6399	return out, req.Send()
6400}
6401
6402const opGetInstance = "GetInstance"
6403
6404// GetInstanceRequest generates a "aws/request.Request" representing the
6405// client's request for the GetInstance operation. The "output" return
6406// value will be populated with the request's response once the request completes
6407// successfully.
6408//
6409// Use "Send" method on the returned Request to send the API call to the service.
6410// the "output" return value is not valid until after Send returns without error.
6411//
6412// See GetInstance for more information on using the GetInstance
6413// API call, and error handling.
6414//
6415// This method is useful when you want to inject custom logic or configuration
6416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6417//
6418//
6419//    // Example sending a request using the GetInstanceRequest method.
6420//    req, resp := client.GetInstanceRequest(params)
6421//
6422//    err := req.Send()
6423//    if err == nil { // resp is now filled
6424//        fmt.Println(resp)
6425//    }
6426//
6427// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
6428func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
6429	op := &request.Operation{
6430		Name:       opGetInstance,
6431		HTTPMethod: "POST",
6432		HTTPPath:   "/",
6433	}
6434
6435	if input == nil {
6436		input = &GetInstanceInput{}
6437	}
6438
6439	output = &GetInstanceOutput{}
6440	req = c.newRequest(op, input, output)
6441	return
6442}
6443
6444// GetInstance API operation for Amazon Lightsail.
6445//
6446// Returns information about a specific Amazon Lightsail instance, which is
6447// a virtual private server.
6448//
6449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6450// with awserr.Error's Code and Message methods to get detailed information about
6451// the error.
6452//
6453// See the AWS API reference guide for Amazon Lightsail's
6454// API operation GetInstance for usage and error information.
6455//
6456// Returned Error Types:
6457//   * ServiceException
6458//   A general service exception.
6459//
6460//   * InvalidInputException
6461//   Lightsail throws this exception when user input does not conform to the validation
6462//   rules of an input field.
6463//
6464//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6465//   Please set your AWS Region configuration to us-east-1 to create, view, or
6466//   edit these resources.
6467//
6468//   * NotFoundException
6469//   Lightsail throws this exception when it cannot find a resource.
6470//
6471//   * OperationFailureException
6472//   Lightsail throws this exception when an operation fails to execute.
6473//
6474//   * AccessDeniedException
6475//   Lightsail throws this exception when the user cannot be authenticated or
6476//   uses invalid credentials to access a resource.
6477//
6478//   * AccountSetupInProgressException
6479//   Lightsail throws this exception when an account is still in the setup in
6480//   progress state.
6481//
6482//   * UnauthenticatedException
6483//   Lightsail throws this exception when the user has not been authenticated.
6484//
6485// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
6486func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
6487	req, out := c.GetInstanceRequest(input)
6488	return out, req.Send()
6489}
6490
6491// GetInstanceWithContext is the same as GetInstance with the addition of
6492// the ability to pass a context and additional request options.
6493//
6494// See GetInstance for details on how to use this API operation.
6495//
6496// The context must be non-nil and will be used for request cancellation. If
6497// the context is nil a panic will occur. In the future the SDK may create
6498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6499// for more information on using Contexts.
6500func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
6501	req, out := c.GetInstanceRequest(input)
6502	req.SetContext(ctx)
6503	req.ApplyOptions(opts...)
6504	return out, req.Send()
6505}
6506
6507const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
6508
6509// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
6510// client's request for the GetInstanceAccessDetails operation. The "output" return
6511// value will be populated with the request's response once the request completes
6512// successfully.
6513//
6514// Use "Send" method on the returned Request to send the API call to the service.
6515// the "output" return value is not valid until after Send returns without error.
6516//
6517// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
6518// API call, and error handling.
6519//
6520// This method is useful when you want to inject custom logic or configuration
6521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6522//
6523//
6524//    // Example sending a request using the GetInstanceAccessDetailsRequest method.
6525//    req, resp := client.GetInstanceAccessDetailsRequest(params)
6526//
6527//    err := req.Send()
6528//    if err == nil { // resp is now filled
6529//        fmt.Println(resp)
6530//    }
6531//
6532// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
6533func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
6534	op := &request.Operation{
6535		Name:       opGetInstanceAccessDetails,
6536		HTTPMethod: "POST",
6537		HTTPPath:   "/",
6538	}
6539
6540	if input == nil {
6541		input = &GetInstanceAccessDetailsInput{}
6542	}
6543
6544	output = &GetInstanceAccessDetailsOutput{}
6545	req = c.newRequest(op, input, output)
6546	return
6547}
6548
6549// GetInstanceAccessDetails API operation for Amazon Lightsail.
6550//
6551// Returns temporary SSH keys you can use to connect to a specific virtual private
6552// server, or instance.
6553//
6554// The get instance access details operation supports tag-based access control
6555// via resource tags applied to the resource identified by instance name. For
6556// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
6557//
6558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6559// with awserr.Error's Code and Message methods to get detailed information about
6560// the error.
6561//
6562// See the AWS API reference guide for Amazon Lightsail's
6563// API operation GetInstanceAccessDetails for usage and error information.
6564//
6565// Returned Error Types:
6566//   * ServiceException
6567//   A general service exception.
6568//
6569//   * InvalidInputException
6570//   Lightsail throws this exception when user input does not conform to the validation
6571//   rules of an input field.
6572//
6573//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6574//   Please set your AWS Region configuration to us-east-1 to create, view, or
6575//   edit these resources.
6576//
6577//   * NotFoundException
6578//   Lightsail throws this exception when it cannot find a resource.
6579//
6580//   * OperationFailureException
6581//   Lightsail throws this exception when an operation fails to execute.
6582//
6583//   * AccessDeniedException
6584//   Lightsail throws this exception when the user cannot be authenticated or
6585//   uses invalid credentials to access a resource.
6586//
6587//   * AccountSetupInProgressException
6588//   Lightsail throws this exception when an account is still in the setup in
6589//   progress state.
6590//
6591//   * UnauthenticatedException
6592//   Lightsail throws this exception when the user has not been authenticated.
6593//
6594// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
6595func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
6596	req, out := c.GetInstanceAccessDetailsRequest(input)
6597	return out, req.Send()
6598}
6599
6600// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
6601// the ability to pass a context and additional request options.
6602//
6603// See GetInstanceAccessDetails for details on how to use this API operation.
6604//
6605// The context must be non-nil and will be used for request cancellation. If
6606// the context is nil a panic will occur. In the future the SDK may create
6607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6608// for more information on using Contexts.
6609func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
6610	req, out := c.GetInstanceAccessDetailsRequest(input)
6611	req.SetContext(ctx)
6612	req.ApplyOptions(opts...)
6613	return out, req.Send()
6614}
6615
6616const opGetInstanceMetricData = "GetInstanceMetricData"
6617
6618// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
6619// client's request for the GetInstanceMetricData operation. The "output" return
6620// value will be populated with the request's response once the request completes
6621// successfully.
6622//
6623// Use "Send" method on the returned Request to send the API call to the service.
6624// the "output" return value is not valid until after Send returns without error.
6625//
6626// See GetInstanceMetricData for more information on using the GetInstanceMetricData
6627// API call, and error handling.
6628//
6629// This method is useful when you want to inject custom logic or configuration
6630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6631//
6632//
6633//    // Example sending a request using the GetInstanceMetricDataRequest method.
6634//    req, resp := client.GetInstanceMetricDataRequest(params)
6635//
6636//    err := req.Send()
6637//    if err == nil { // resp is now filled
6638//        fmt.Println(resp)
6639//    }
6640//
6641// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
6642func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
6643	op := &request.Operation{
6644		Name:       opGetInstanceMetricData,
6645		HTTPMethod: "POST",
6646		HTTPPath:   "/",
6647	}
6648
6649	if input == nil {
6650		input = &GetInstanceMetricDataInput{}
6651	}
6652
6653	output = &GetInstanceMetricDataOutput{}
6654	req = c.newRequest(op, input, output)
6655	return
6656}
6657
6658// GetInstanceMetricData API operation for Amazon Lightsail.
6659//
6660// Returns the data points for the specified Amazon Lightsail instance metric,
6661// given an instance name.
6662//
6663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6664// with awserr.Error's Code and Message methods to get detailed information about
6665// the error.
6666//
6667// See the AWS API reference guide for Amazon Lightsail's
6668// API operation GetInstanceMetricData for usage and error information.
6669//
6670// Returned Error Types:
6671//   * ServiceException
6672//   A general service exception.
6673//
6674//   * InvalidInputException
6675//   Lightsail throws this exception when user input does not conform to the validation
6676//   rules of an input field.
6677//
6678//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6679//   Please set your AWS Region configuration to us-east-1 to create, view, or
6680//   edit these resources.
6681//
6682//   * NotFoundException
6683//   Lightsail throws this exception when it cannot find a resource.
6684//
6685//   * OperationFailureException
6686//   Lightsail throws this exception when an operation fails to execute.
6687//
6688//   * AccessDeniedException
6689//   Lightsail throws this exception when the user cannot be authenticated or
6690//   uses invalid credentials to access a resource.
6691//
6692//   * AccountSetupInProgressException
6693//   Lightsail throws this exception when an account is still in the setup in
6694//   progress state.
6695//
6696//   * UnauthenticatedException
6697//   Lightsail throws this exception when the user has not been authenticated.
6698//
6699// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
6700func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
6701	req, out := c.GetInstanceMetricDataRequest(input)
6702	return out, req.Send()
6703}
6704
6705// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
6706// the ability to pass a context and additional request options.
6707//
6708// See GetInstanceMetricData for details on how to use this API operation.
6709//
6710// The context must be non-nil and will be used for request cancellation. If
6711// the context is nil a panic will occur. In the future the SDK may create
6712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6713// for more information on using Contexts.
6714func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
6715	req, out := c.GetInstanceMetricDataRequest(input)
6716	req.SetContext(ctx)
6717	req.ApplyOptions(opts...)
6718	return out, req.Send()
6719}
6720
6721const opGetInstancePortStates = "GetInstancePortStates"
6722
6723// GetInstancePortStatesRequest generates a "aws/request.Request" representing the
6724// client's request for the GetInstancePortStates operation. The "output" return
6725// value will be populated with the request's response once the request completes
6726// successfully.
6727//
6728// Use "Send" method on the returned Request to send the API call to the service.
6729// the "output" return value is not valid until after Send returns without error.
6730//
6731// See GetInstancePortStates for more information on using the GetInstancePortStates
6732// API call, and error handling.
6733//
6734// This method is useful when you want to inject custom logic or configuration
6735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6736//
6737//
6738//    // Example sending a request using the GetInstancePortStatesRequest method.
6739//    req, resp := client.GetInstancePortStatesRequest(params)
6740//
6741//    err := req.Send()
6742//    if err == nil { // resp is now filled
6743//        fmt.Println(resp)
6744//    }
6745//
6746// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
6747func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
6748	op := &request.Operation{
6749		Name:       opGetInstancePortStates,
6750		HTTPMethod: "POST",
6751		HTTPPath:   "/",
6752	}
6753
6754	if input == nil {
6755		input = &GetInstancePortStatesInput{}
6756	}
6757
6758	output = &GetInstancePortStatesOutput{}
6759	req = c.newRequest(op, input, output)
6760	return
6761}
6762
6763// GetInstancePortStates API operation for Amazon Lightsail.
6764//
6765// Returns the port states for a specific virtual private server, or instance.
6766//
6767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6768// with awserr.Error's Code and Message methods to get detailed information about
6769// the error.
6770//
6771// See the AWS API reference guide for Amazon Lightsail's
6772// API operation GetInstancePortStates for usage and error information.
6773//
6774// Returned Error Types:
6775//   * ServiceException
6776//   A general service exception.
6777//
6778//   * InvalidInputException
6779//   Lightsail throws this exception when user input does not conform to the validation
6780//   rules of an input field.
6781//
6782//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6783//   Please set your AWS Region configuration to us-east-1 to create, view, or
6784//   edit these resources.
6785//
6786//   * NotFoundException
6787//   Lightsail throws this exception when it cannot find a resource.
6788//
6789//   * OperationFailureException
6790//   Lightsail throws this exception when an operation fails to execute.
6791//
6792//   * AccessDeniedException
6793//   Lightsail throws this exception when the user cannot be authenticated or
6794//   uses invalid credentials to access a resource.
6795//
6796//   * AccountSetupInProgressException
6797//   Lightsail throws this exception when an account is still in the setup in
6798//   progress state.
6799//
6800//   * UnauthenticatedException
6801//   Lightsail throws this exception when the user has not been authenticated.
6802//
6803// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
6804func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
6805	req, out := c.GetInstancePortStatesRequest(input)
6806	return out, req.Send()
6807}
6808
6809// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
6810// the ability to pass a context and additional request options.
6811//
6812// See GetInstancePortStates for details on how to use this API operation.
6813//
6814// The context must be non-nil and will be used for request cancellation. If
6815// the context is nil a panic will occur. In the future the SDK may create
6816// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6817// for more information on using Contexts.
6818func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
6819	req, out := c.GetInstancePortStatesRequest(input)
6820	req.SetContext(ctx)
6821	req.ApplyOptions(opts...)
6822	return out, req.Send()
6823}
6824
6825const opGetInstanceSnapshot = "GetInstanceSnapshot"
6826
6827// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
6828// client's request for the GetInstanceSnapshot operation. The "output" return
6829// value will be populated with the request's response once the request completes
6830// successfully.
6831//
6832// Use "Send" method on the returned Request to send the API call to the service.
6833// the "output" return value is not valid until after Send returns without error.
6834//
6835// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
6836// API call, and error handling.
6837//
6838// This method is useful when you want to inject custom logic or configuration
6839// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6840//
6841//
6842//    // Example sending a request using the GetInstanceSnapshotRequest method.
6843//    req, resp := client.GetInstanceSnapshotRequest(params)
6844//
6845//    err := req.Send()
6846//    if err == nil { // resp is now filled
6847//        fmt.Println(resp)
6848//    }
6849//
6850// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
6851func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
6852	op := &request.Operation{
6853		Name:       opGetInstanceSnapshot,
6854		HTTPMethod: "POST",
6855		HTTPPath:   "/",
6856	}
6857
6858	if input == nil {
6859		input = &GetInstanceSnapshotInput{}
6860	}
6861
6862	output = &GetInstanceSnapshotOutput{}
6863	req = c.newRequest(op, input, output)
6864	return
6865}
6866
6867// GetInstanceSnapshot API operation for Amazon Lightsail.
6868//
6869// Returns information about a specific instance snapshot.
6870//
6871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6872// with awserr.Error's Code and Message methods to get detailed information about
6873// the error.
6874//
6875// See the AWS API reference guide for Amazon Lightsail's
6876// API operation GetInstanceSnapshot for usage and error information.
6877//
6878// Returned Error Types:
6879//   * ServiceException
6880//   A general service exception.
6881//
6882//   * InvalidInputException
6883//   Lightsail throws this exception when user input does not conform to the validation
6884//   rules of an input field.
6885//
6886//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6887//   Please set your AWS Region configuration to us-east-1 to create, view, or
6888//   edit these resources.
6889//
6890//   * NotFoundException
6891//   Lightsail throws this exception when it cannot find a resource.
6892//
6893//   * OperationFailureException
6894//   Lightsail throws this exception when an operation fails to execute.
6895//
6896//   * AccessDeniedException
6897//   Lightsail throws this exception when the user cannot be authenticated or
6898//   uses invalid credentials to access a resource.
6899//
6900//   * AccountSetupInProgressException
6901//   Lightsail throws this exception when an account is still in the setup in
6902//   progress state.
6903//
6904//   * UnauthenticatedException
6905//   Lightsail throws this exception when the user has not been authenticated.
6906//
6907// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
6908func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
6909	req, out := c.GetInstanceSnapshotRequest(input)
6910	return out, req.Send()
6911}
6912
6913// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
6914// the ability to pass a context and additional request options.
6915//
6916// See GetInstanceSnapshot for details on how to use this API operation.
6917//
6918// The context must be non-nil and will be used for request cancellation. If
6919// the context is nil a panic will occur. In the future the SDK may create
6920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6921// for more information on using Contexts.
6922func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
6923	req, out := c.GetInstanceSnapshotRequest(input)
6924	req.SetContext(ctx)
6925	req.ApplyOptions(opts...)
6926	return out, req.Send()
6927}
6928
6929const opGetInstanceSnapshots = "GetInstanceSnapshots"
6930
6931// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
6932// client's request for the GetInstanceSnapshots operation. The "output" return
6933// value will be populated with the request's response once the request completes
6934// successfully.
6935//
6936// Use "Send" method on the returned Request to send the API call to the service.
6937// the "output" return value is not valid until after Send returns without error.
6938//
6939// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
6940// API call, and error handling.
6941//
6942// This method is useful when you want to inject custom logic or configuration
6943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6944//
6945//
6946//    // Example sending a request using the GetInstanceSnapshotsRequest method.
6947//    req, resp := client.GetInstanceSnapshotsRequest(params)
6948//
6949//    err := req.Send()
6950//    if err == nil { // resp is now filled
6951//        fmt.Println(resp)
6952//    }
6953//
6954// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
6955func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
6956	op := &request.Operation{
6957		Name:       opGetInstanceSnapshots,
6958		HTTPMethod: "POST",
6959		HTTPPath:   "/",
6960	}
6961
6962	if input == nil {
6963		input = &GetInstanceSnapshotsInput{}
6964	}
6965
6966	output = &GetInstanceSnapshotsOutput{}
6967	req = c.newRequest(op, input, output)
6968	return
6969}
6970
6971// GetInstanceSnapshots API operation for Amazon Lightsail.
6972//
6973// Returns all instance snapshots for the user's account.
6974//
6975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6976// with awserr.Error's Code and Message methods to get detailed information about
6977// the error.
6978//
6979// See the AWS API reference guide for Amazon Lightsail's
6980// API operation GetInstanceSnapshots for usage and error information.
6981//
6982// Returned Error Types:
6983//   * ServiceException
6984//   A general service exception.
6985//
6986//   * InvalidInputException
6987//   Lightsail throws this exception when user input does not conform to the validation
6988//   rules of an input field.
6989//
6990//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6991//   Please set your AWS Region configuration to us-east-1 to create, view, or
6992//   edit these resources.
6993//
6994//   * NotFoundException
6995//   Lightsail throws this exception when it cannot find a resource.
6996//
6997//   * OperationFailureException
6998//   Lightsail throws this exception when an operation fails to execute.
6999//
7000//   * AccessDeniedException
7001//   Lightsail throws this exception when the user cannot be authenticated or
7002//   uses invalid credentials to access a resource.
7003//
7004//   * AccountSetupInProgressException
7005//   Lightsail throws this exception when an account is still in the setup in
7006//   progress state.
7007//
7008//   * UnauthenticatedException
7009//   Lightsail throws this exception when the user has not been authenticated.
7010//
7011// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
7012func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
7013	req, out := c.GetInstanceSnapshotsRequest(input)
7014	return out, req.Send()
7015}
7016
7017// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
7018// the ability to pass a context and additional request options.
7019//
7020// See GetInstanceSnapshots for details on how to use this API operation.
7021//
7022// The context must be non-nil and will be used for request cancellation. If
7023// the context is nil a panic will occur. In the future the SDK may create
7024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7025// for more information on using Contexts.
7026func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
7027	req, out := c.GetInstanceSnapshotsRequest(input)
7028	req.SetContext(ctx)
7029	req.ApplyOptions(opts...)
7030	return out, req.Send()
7031}
7032
7033const opGetInstanceState = "GetInstanceState"
7034
7035// GetInstanceStateRequest generates a "aws/request.Request" representing the
7036// client's request for the GetInstanceState operation. The "output" return
7037// value will be populated with the request's response once the request completes
7038// successfully.
7039//
7040// Use "Send" method on the returned Request to send the API call to the service.
7041// the "output" return value is not valid until after Send returns without error.
7042//
7043// See GetInstanceState for more information on using the GetInstanceState
7044// API call, and error handling.
7045//
7046// This method is useful when you want to inject custom logic or configuration
7047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7048//
7049//
7050//    // Example sending a request using the GetInstanceStateRequest method.
7051//    req, resp := client.GetInstanceStateRequest(params)
7052//
7053//    err := req.Send()
7054//    if err == nil { // resp is now filled
7055//        fmt.Println(resp)
7056//    }
7057//
7058// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
7059func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
7060	op := &request.Operation{
7061		Name:       opGetInstanceState,
7062		HTTPMethod: "POST",
7063		HTTPPath:   "/",
7064	}
7065
7066	if input == nil {
7067		input = &GetInstanceStateInput{}
7068	}
7069
7070	output = &GetInstanceStateOutput{}
7071	req = c.newRequest(op, input, output)
7072	return
7073}
7074
7075// GetInstanceState API operation for Amazon Lightsail.
7076//
7077// Returns the state of a specific instance. Works on one instance at a time.
7078//
7079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7080// with awserr.Error's Code and Message methods to get detailed information about
7081// the error.
7082//
7083// See the AWS API reference guide for Amazon Lightsail's
7084// API operation GetInstanceState for usage and error information.
7085//
7086// Returned Error Types:
7087//   * ServiceException
7088//   A general service exception.
7089//
7090//   * InvalidInputException
7091//   Lightsail throws this exception when user input does not conform to the validation
7092//   rules of an input field.
7093//
7094//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7095//   Please set your AWS Region configuration to us-east-1 to create, view, or
7096//   edit these resources.
7097//
7098//   * NotFoundException
7099//   Lightsail throws this exception when it cannot find a resource.
7100//
7101//   * OperationFailureException
7102//   Lightsail throws this exception when an operation fails to execute.
7103//
7104//   * AccessDeniedException
7105//   Lightsail throws this exception when the user cannot be authenticated or
7106//   uses invalid credentials to access a resource.
7107//
7108//   * AccountSetupInProgressException
7109//   Lightsail throws this exception when an account is still in the setup in
7110//   progress state.
7111//
7112//   * UnauthenticatedException
7113//   Lightsail throws this exception when the user has not been authenticated.
7114//
7115// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
7116func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
7117	req, out := c.GetInstanceStateRequest(input)
7118	return out, req.Send()
7119}
7120
7121// GetInstanceStateWithContext is the same as GetInstanceState with the addition of
7122// the ability to pass a context and additional request options.
7123//
7124// See GetInstanceState for details on how to use this API operation.
7125//
7126// The context must be non-nil and will be used for request cancellation. If
7127// the context is nil a panic will occur. In the future the SDK may create
7128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7129// for more information on using Contexts.
7130func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
7131	req, out := c.GetInstanceStateRequest(input)
7132	req.SetContext(ctx)
7133	req.ApplyOptions(opts...)
7134	return out, req.Send()
7135}
7136
7137const opGetInstances = "GetInstances"
7138
7139// GetInstancesRequest generates a "aws/request.Request" representing the
7140// client's request for the GetInstances operation. The "output" return
7141// value will be populated with the request's response once the request completes
7142// successfully.
7143//
7144// Use "Send" method on the returned Request to send the API call to the service.
7145// the "output" return value is not valid until after Send returns without error.
7146//
7147// See GetInstances for more information on using the GetInstances
7148// API call, and error handling.
7149//
7150// This method is useful when you want to inject custom logic or configuration
7151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7152//
7153//
7154//    // Example sending a request using the GetInstancesRequest method.
7155//    req, resp := client.GetInstancesRequest(params)
7156//
7157//    err := req.Send()
7158//    if err == nil { // resp is now filled
7159//        fmt.Println(resp)
7160//    }
7161//
7162// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
7163func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
7164	op := &request.Operation{
7165		Name:       opGetInstances,
7166		HTTPMethod: "POST",
7167		HTTPPath:   "/",
7168	}
7169
7170	if input == nil {
7171		input = &GetInstancesInput{}
7172	}
7173
7174	output = &GetInstancesOutput{}
7175	req = c.newRequest(op, input, output)
7176	return
7177}
7178
7179// GetInstances API operation for Amazon Lightsail.
7180//
7181// Returns information about all Amazon Lightsail virtual private servers, or
7182// instances.
7183//
7184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7185// with awserr.Error's Code and Message methods to get detailed information about
7186// the error.
7187//
7188// See the AWS API reference guide for Amazon Lightsail's
7189// API operation GetInstances for usage and error information.
7190//
7191// Returned Error Types:
7192//   * ServiceException
7193//   A general service exception.
7194//
7195//   * InvalidInputException
7196//   Lightsail throws this exception when user input does not conform to the validation
7197//   rules of an input field.
7198//
7199//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7200//   Please set your AWS Region configuration to us-east-1 to create, view, or
7201//   edit these resources.
7202//
7203//   * NotFoundException
7204//   Lightsail throws this exception when it cannot find a resource.
7205//
7206//   * OperationFailureException
7207//   Lightsail throws this exception when an operation fails to execute.
7208//
7209//   * AccessDeniedException
7210//   Lightsail throws this exception when the user cannot be authenticated or
7211//   uses invalid credentials to access a resource.
7212//
7213//   * AccountSetupInProgressException
7214//   Lightsail throws this exception when an account is still in the setup in
7215//   progress state.
7216//
7217//   * UnauthenticatedException
7218//   Lightsail throws this exception when the user has not been authenticated.
7219//
7220// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
7221func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
7222	req, out := c.GetInstancesRequest(input)
7223	return out, req.Send()
7224}
7225
7226// GetInstancesWithContext is the same as GetInstances with the addition of
7227// the ability to pass a context and additional request options.
7228//
7229// See GetInstances for details on how to use this API operation.
7230//
7231// The context must be non-nil and will be used for request cancellation. If
7232// the context is nil a panic will occur. In the future the SDK may create
7233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7234// for more information on using Contexts.
7235func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
7236	req, out := c.GetInstancesRequest(input)
7237	req.SetContext(ctx)
7238	req.ApplyOptions(opts...)
7239	return out, req.Send()
7240}
7241
7242const opGetKeyPair = "GetKeyPair"
7243
7244// GetKeyPairRequest generates a "aws/request.Request" representing the
7245// client's request for the GetKeyPair operation. The "output" return
7246// value will be populated with the request's response once the request completes
7247// successfully.
7248//
7249// Use "Send" method on the returned Request to send the API call to the service.
7250// the "output" return value is not valid until after Send returns without error.
7251//
7252// See GetKeyPair for more information on using the GetKeyPair
7253// API call, and error handling.
7254//
7255// This method is useful when you want to inject custom logic or configuration
7256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7257//
7258//
7259//    // Example sending a request using the GetKeyPairRequest method.
7260//    req, resp := client.GetKeyPairRequest(params)
7261//
7262//    err := req.Send()
7263//    if err == nil { // resp is now filled
7264//        fmt.Println(resp)
7265//    }
7266//
7267// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
7268func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
7269	op := &request.Operation{
7270		Name:       opGetKeyPair,
7271		HTTPMethod: "POST",
7272		HTTPPath:   "/",
7273	}
7274
7275	if input == nil {
7276		input = &GetKeyPairInput{}
7277	}
7278
7279	output = &GetKeyPairOutput{}
7280	req = c.newRequest(op, input, output)
7281	return
7282}
7283
7284// GetKeyPair API operation for Amazon Lightsail.
7285//
7286// Returns information about a specific key pair.
7287//
7288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7289// with awserr.Error's Code and Message methods to get detailed information about
7290// the error.
7291//
7292// See the AWS API reference guide for Amazon Lightsail's
7293// API operation GetKeyPair for usage and error information.
7294//
7295// Returned Error Types:
7296//   * ServiceException
7297//   A general service exception.
7298//
7299//   * InvalidInputException
7300//   Lightsail throws this exception when user input does not conform to the validation
7301//   rules of an input field.
7302//
7303//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7304//   Please set your AWS Region configuration to us-east-1 to create, view, or
7305//   edit these resources.
7306//
7307//   * NotFoundException
7308//   Lightsail throws this exception when it cannot find a resource.
7309//
7310//   * OperationFailureException
7311//   Lightsail throws this exception when an operation fails to execute.
7312//
7313//   * AccessDeniedException
7314//   Lightsail throws this exception when the user cannot be authenticated or
7315//   uses invalid credentials to access a resource.
7316//
7317//   * AccountSetupInProgressException
7318//   Lightsail throws this exception when an account is still in the setup in
7319//   progress state.
7320//
7321//   * UnauthenticatedException
7322//   Lightsail throws this exception when the user has not been authenticated.
7323//
7324// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
7325func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
7326	req, out := c.GetKeyPairRequest(input)
7327	return out, req.Send()
7328}
7329
7330// GetKeyPairWithContext is the same as GetKeyPair with the addition of
7331// the ability to pass a context and additional request options.
7332//
7333// See GetKeyPair for details on how to use this API operation.
7334//
7335// The context must be non-nil and will be used for request cancellation. If
7336// the context is nil a panic will occur. In the future the SDK may create
7337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7338// for more information on using Contexts.
7339func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
7340	req, out := c.GetKeyPairRequest(input)
7341	req.SetContext(ctx)
7342	req.ApplyOptions(opts...)
7343	return out, req.Send()
7344}
7345
7346const opGetKeyPairs = "GetKeyPairs"
7347
7348// GetKeyPairsRequest generates a "aws/request.Request" representing the
7349// client's request for the GetKeyPairs operation. The "output" return
7350// value will be populated with the request's response once the request completes
7351// successfully.
7352//
7353// Use "Send" method on the returned Request to send the API call to the service.
7354// the "output" return value is not valid until after Send returns without error.
7355//
7356// See GetKeyPairs for more information on using the GetKeyPairs
7357// API call, and error handling.
7358//
7359// This method is useful when you want to inject custom logic or configuration
7360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7361//
7362//
7363//    // Example sending a request using the GetKeyPairsRequest method.
7364//    req, resp := client.GetKeyPairsRequest(params)
7365//
7366//    err := req.Send()
7367//    if err == nil { // resp is now filled
7368//        fmt.Println(resp)
7369//    }
7370//
7371// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
7372func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
7373	op := &request.Operation{
7374		Name:       opGetKeyPairs,
7375		HTTPMethod: "POST",
7376		HTTPPath:   "/",
7377	}
7378
7379	if input == nil {
7380		input = &GetKeyPairsInput{}
7381	}
7382
7383	output = &GetKeyPairsOutput{}
7384	req = c.newRequest(op, input, output)
7385	return
7386}
7387
7388// GetKeyPairs API operation for Amazon Lightsail.
7389//
7390// Returns information about all key pairs in the user's account.
7391//
7392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7393// with awserr.Error's Code and Message methods to get detailed information about
7394// the error.
7395//
7396// See the AWS API reference guide for Amazon Lightsail's
7397// API operation GetKeyPairs for usage and error information.
7398//
7399// Returned Error Types:
7400//   * ServiceException
7401//   A general service exception.
7402//
7403//   * InvalidInputException
7404//   Lightsail throws this exception when user input does not conform to the validation
7405//   rules of an input field.
7406//
7407//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7408//   Please set your AWS Region configuration to us-east-1 to create, view, or
7409//   edit these resources.
7410//
7411//   * NotFoundException
7412//   Lightsail throws this exception when it cannot find a resource.
7413//
7414//   * OperationFailureException
7415//   Lightsail throws this exception when an operation fails to execute.
7416//
7417//   * AccessDeniedException
7418//   Lightsail throws this exception when the user cannot be authenticated or
7419//   uses invalid credentials to access a resource.
7420//
7421//   * AccountSetupInProgressException
7422//   Lightsail throws this exception when an account is still in the setup in
7423//   progress state.
7424//
7425//   * UnauthenticatedException
7426//   Lightsail throws this exception when the user has not been authenticated.
7427//
7428// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
7429func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
7430	req, out := c.GetKeyPairsRequest(input)
7431	return out, req.Send()
7432}
7433
7434// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
7435// the ability to pass a context and additional request options.
7436//
7437// See GetKeyPairs for details on how to use this API operation.
7438//
7439// The context must be non-nil and will be used for request cancellation. If
7440// the context is nil a panic will occur. In the future the SDK may create
7441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7442// for more information on using Contexts.
7443func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
7444	req, out := c.GetKeyPairsRequest(input)
7445	req.SetContext(ctx)
7446	req.ApplyOptions(opts...)
7447	return out, req.Send()
7448}
7449
7450const opGetLoadBalancer = "GetLoadBalancer"
7451
7452// GetLoadBalancerRequest generates a "aws/request.Request" representing the
7453// client's request for the GetLoadBalancer operation. The "output" return
7454// value will be populated with the request's response once the request completes
7455// successfully.
7456//
7457// Use "Send" method on the returned Request to send the API call to the service.
7458// the "output" return value is not valid until after Send returns without error.
7459//
7460// See GetLoadBalancer for more information on using the GetLoadBalancer
7461// API call, and error handling.
7462//
7463// This method is useful when you want to inject custom logic or configuration
7464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7465//
7466//
7467//    // Example sending a request using the GetLoadBalancerRequest method.
7468//    req, resp := client.GetLoadBalancerRequest(params)
7469//
7470//    err := req.Send()
7471//    if err == nil { // resp is now filled
7472//        fmt.Println(resp)
7473//    }
7474//
7475// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
7476func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
7477	op := &request.Operation{
7478		Name:       opGetLoadBalancer,
7479		HTTPMethod: "POST",
7480		HTTPPath:   "/",
7481	}
7482
7483	if input == nil {
7484		input = &GetLoadBalancerInput{}
7485	}
7486
7487	output = &GetLoadBalancerOutput{}
7488	req = c.newRequest(op, input, output)
7489	return
7490}
7491
7492// GetLoadBalancer API operation for Amazon Lightsail.
7493//
7494// Returns information about the specified Lightsail load balancer.
7495//
7496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7497// with awserr.Error's Code and Message methods to get detailed information about
7498// the error.
7499//
7500// See the AWS API reference guide for Amazon Lightsail's
7501// API operation GetLoadBalancer for usage and error information.
7502//
7503// Returned Error Types:
7504//   * ServiceException
7505//   A general service exception.
7506//
7507//   * InvalidInputException
7508//   Lightsail throws this exception when user input does not conform to the validation
7509//   rules of an input field.
7510//
7511//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7512//   Please set your AWS Region configuration to us-east-1 to create, view, or
7513//   edit these resources.
7514//
7515//   * NotFoundException
7516//   Lightsail throws this exception when it cannot find a resource.
7517//
7518//   * OperationFailureException
7519//   Lightsail throws this exception when an operation fails to execute.
7520//
7521//   * AccessDeniedException
7522//   Lightsail throws this exception when the user cannot be authenticated or
7523//   uses invalid credentials to access a resource.
7524//
7525//   * AccountSetupInProgressException
7526//   Lightsail throws this exception when an account is still in the setup in
7527//   progress state.
7528//
7529//   * UnauthenticatedException
7530//   Lightsail throws this exception when the user has not been authenticated.
7531//
7532// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
7533func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
7534	req, out := c.GetLoadBalancerRequest(input)
7535	return out, req.Send()
7536}
7537
7538// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
7539// the ability to pass a context and additional request options.
7540//
7541// See GetLoadBalancer for details on how to use this API operation.
7542//
7543// The context must be non-nil and will be used for request cancellation. If
7544// the context is nil a panic will occur. In the future the SDK may create
7545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7546// for more information on using Contexts.
7547func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
7548	req, out := c.GetLoadBalancerRequest(input)
7549	req.SetContext(ctx)
7550	req.ApplyOptions(opts...)
7551	return out, req.Send()
7552}
7553
7554const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
7555
7556// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
7557// client's request for the GetLoadBalancerMetricData operation. The "output" return
7558// value will be populated with the request's response once the request completes
7559// successfully.
7560//
7561// Use "Send" method on the returned Request to send the API call to the service.
7562// the "output" return value is not valid until after Send returns without error.
7563//
7564// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
7565// API call, and error handling.
7566//
7567// This method is useful when you want to inject custom logic or configuration
7568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7569//
7570//
7571//    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
7572//    req, resp := client.GetLoadBalancerMetricDataRequest(params)
7573//
7574//    err := req.Send()
7575//    if err == nil { // resp is now filled
7576//        fmt.Println(resp)
7577//    }
7578//
7579// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
7580func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
7581	op := &request.Operation{
7582		Name:       opGetLoadBalancerMetricData,
7583		HTTPMethod: "POST",
7584		HTTPPath:   "/",
7585	}
7586
7587	if input == nil {
7588		input = &GetLoadBalancerMetricDataInput{}
7589	}
7590
7591	output = &GetLoadBalancerMetricDataOutput{}
7592	req = c.newRequest(op, input, output)
7593	return
7594}
7595
7596// GetLoadBalancerMetricData API operation for Amazon Lightsail.
7597//
7598// Returns information about health metrics for your Lightsail load balancer.
7599//
7600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7601// with awserr.Error's Code and Message methods to get detailed information about
7602// the error.
7603//
7604// See the AWS API reference guide for Amazon Lightsail's
7605// API operation GetLoadBalancerMetricData for usage and error information.
7606//
7607// Returned Error Types:
7608//   * ServiceException
7609//   A general service exception.
7610//
7611//   * InvalidInputException
7612//   Lightsail throws this exception when user input does not conform to the validation
7613//   rules of an input field.
7614//
7615//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7616//   Please set your AWS Region configuration to us-east-1 to create, view, or
7617//   edit these resources.
7618//
7619//   * NotFoundException
7620//   Lightsail throws this exception when it cannot find a resource.
7621//
7622//   * OperationFailureException
7623//   Lightsail throws this exception when an operation fails to execute.
7624//
7625//   * AccessDeniedException
7626//   Lightsail throws this exception when the user cannot be authenticated or
7627//   uses invalid credentials to access a resource.
7628//
7629//   * AccountSetupInProgressException
7630//   Lightsail throws this exception when an account is still in the setup in
7631//   progress state.
7632//
7633//   * UnauthenticatedException
7634//   Lightsail throws this exception when the user has not been authenticated.
7635//
7636// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
7637func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
7638	req, out := c.GetLoadBalancerMetricDataRequest(input)
7639	return out, req.Send()
7640}
7641
7642// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
7643// the ability to pass a context and additional request options.
7644//
7645// See GetLoadBalancerMetricData for details on how to use this API operation.
7646//
7647// The context must be non-nil and will be used for request cancellation. If
7648// the context is nil a panic will occur. In the future the SDK may create
7649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7650// for more information on using Contexts.
7651func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
7652	req, out := c.GetLoadBalancerMetricDataRequest(input)
7653	req.SetContext(ctx)
7654	req.ApplyOptions(opts...)
7655	return out, req.Send()
7656}
7657
7658const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
7659
7660// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
7661// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
7662// value will be populated with the request's response once the request completes
7663// successfully.
7664//
7665// Use "Send" method on the returned Request to send the API call to the service.
7666// the "output" return value is not valid until after Send returns without error.
7667//
7668// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
7669// API call, and error handling.
7670//
7671// This method is useful when you want to inject custom logic or configuration
7672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7673//
7674//
7675//    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
7676//    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
7677//
7678//    err := req.Send()
7679//    if err == nil { // resp is now filled
7680//        fmt.Println(resp)
7681//    }
7682//
7683// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
7684func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
7685	op := &request.Operation{
7686		Name:       opGetLoadBalancerTlsCertificates,
7687		HTTPMethod: "POST",
7688		HTTPPath:   "/",
7689	}
7690
7691	if input == nil {
7692		input = &GetLoadBalancerTlsCertificatesInput{}
7693	}
7694
7695	output = &GetLoadBalancerTlsCertificatesOutput{}
7696	req = c.newRequest(op, input, output)
7697	return
7698}
7699
7700// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
7701//
7702// Returns information about the TLS certificates that are associated with the
7703// specified Lightsail load balancer.
7704//
7705// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
7706//
7707// You can have a maximum of 2 certificates associated with a Lightsail load
7708// balancer. One is active and the other is inactive.
7709//
7710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7711// with awserr.Error's Code and Message methods to get detailed information about
7712// the error.
7713//
7714// See the AWS API reference guide for Amazon Lightsail's
7715// API operation GetLoadBalancerTlsCertificates for usage and error information.
7716//
7717// Returned Error Types:
7718//   * ServiceException
7719//   A general service exception.
7720//
7721//   * InvalidInputException
7722//   Lightsail throws this exception when user input does not conform to the validation
7723//   rules of an input field.
7724//
7725//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7726//   Please set your AWS Region configuration to us-east-1 to create, view, or
7727//   edit these resources.
7728//
7729//   * NotFoundException
7730//   Lightsail throws this exception when it cannot find a resource.
7731//
7732//   * OperationFailureException
7733//   Lightsail throws this exception when an operation fails to execute.
7734//
7735//   * AccessDeniedException
7736//   Lightsail throws this exception when the user cannot be authenticated or
7737//   uses invalid credentials to access a resource.
7738//
7739//   * AccountSetupInProgressException
7740//   Lightsail throws this exception when an account is still in the setup in
7741//   progress state.
7742//
7743//   * UnauthenticatedException
7744//   Lightsail throws this exception when the user has not been authenticated.
7745//
7746// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
7747func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
7748	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
7749	return out, req.Send()
7750}
7751
7752// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
7753// the ability to pass a context and additional request options.
7754//
7755// See GetLoadBalancerTlsCertificates for details on how to use this API operation.
7756//
7757// The context must be non-nil and will be used for request cancellation. If
7758// the context is nil a panic will occur. In the future the SDK may create
7759// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7760// for more information on using Contexts.
7761func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
7762	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
7763	req.SetContext(ctx)
7764	req.ApplyOptions(opts...)
7765	return out, req.Send()
7766}
7767
7768const opGetLoadBalancers = "GetLoadBalancers"
7769
7770// GetLoadBalancersRequest generates a "aws/request.Request" representing the
7771// client's request for the GetLoadBalancers operation. The "output" return
7772// value will be populated with the request's response once the request completes
7773// successfully.
7774//
7775// Use "Send" method on the returned Request to send the API call to the service.
7776// the "output" return value is not valid until after Send returns without error.
7777//
7778// See GetLoadBalancers for more information on using the GetLoadBalancers
7779// API call, and error handling.
7780//
7781// This method is useful when you want to inject custom logic or configuration
7782// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7783//
7784//
7785//    // Example sending a request using the GetLoadBalancersRequest method.
7786//    req, resp := client.GetLoadBalancersRequest(params)
7787//
7788//    err := req.Send()
7789//    if err == nil { // resp is now filled
7790//        fmt.Println(resp)
7791//    }
7792//
7793// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
7794func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
7795	op := &request.Operation{
7796		Name:       opGetLoadBalancers,
7797		HTTPMethod: "POST",
7798		HTTPPath:   "/",
7799	}
7800
7801	if input == nil {
7802		input = &GetLoadBalancersInput{}
7803	}
7804
7805	output = &GetLoadBalancersOutput{}
7806	req = c.newRequest(op, input, output)
7807	return
7808}
7809
7810// GetLoadBalancers API operation for Amazon Lightsail.
7811//
7812// Returns information about all load balancers in an account.
7813//
7814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7815// with awserr.Error's Code and Message methods to get detailed information about
7816// the error.
7817//
7818// See the AWS API reference guide for Amazon Lightsail's
7819// API operation GetLoadBalancers for usage and error information.
7820//
7821// Returned Error Types:
7822//   * ServiceException
7823//   A general service exception.
7824//
7825//   * InvalidInputException
7826//   Lightsail throws this exception when user input does not conform to the validation
7827//   rules of an input field.
7828//
7829//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7830//   Please set your AWS Region configuration to us-east-1 to create, view, or
7831//   edit these resources.
7832//
7833//   * NotFoundException
7834//   Lightsail throws this exception when it cannot find a resource.
7835//
7836//   * OperationFailureException
7837//   Lightsail throws this exception when an operation fails to execute.
7838//
7839//   * AccessDeniedException
7840//   Lightsail throws this exception when the user cannot be authenticated or
7841//   uses invalid credentials to access a resource.
7842//
7843//   * AccountSetupInProgressException
7844//   Lightsail throws this exception when an account is still in the setup in
7845//   progress state.
7846//
7847//   * UnauthenticatedException
7848//   Lightsail throws this exception when the user has not been authenticated.
7849//
7850// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
7851func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
7852	req, out := c.GetLoadBalancersRequest(input)
7853	return out, req.Send()
7854}
7855
7856// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
7857// the ability to pass a context and additional request options.
7858//
7859// See GetLoadBalancers for details on how to use this API operation.
7860//
7861// The context must be non-nil and will be used for request cancellation. If
7862// the context is nil a panic will occur. In the future the SDK may create
7863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7864// for more information on using Contexts.
7865func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
7866	req, out := c.GetLoadBalancersRequest(input)
7867	req.SetContext(ctx)
7868	req.ApplyOptions(opts...)
7869	return out, req.Send()
7870}
7871
7872const opGetOperation = "GetOperation"
7873
7874// GetOperationRequest generates a "aws/request.Request" representing the
7875// client's request for the GetOperation operation. The "output" return
7876// value will be populated with the request's response once the request completes
7877// successfully.
7878//
7879// Use "Send" method on the returned Request to send the API call to the service.
7880// the "output" return value is not valid until after Send returns without error.
7881//
7882// See GetOperation for more information on using the GetOperation
7883// API call, and error handling.
7884//
7885// This method is useful when you want to inject custom logic or configuration
7886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7887//
7888//
7889//    // Example sending a request using the GetOperationRequest method.
7890//    req, resp := client.GetOperationRequest(params)
7891//
7892//    err := req.Send()
7893//    if err == nil { // resp is now filled
7894//        fmt.Println(resp)
7895//    }
7896//
7897// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
7898func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
7899	op := &request.Operation{
7900		Name:       opGetOperation,
7901		HTTPMethod: "POST",
7902		HTTPPath:   "/",
7903	}
7904
7905	if input == nil {
7906		input = &GetOperationInput{}
7907	}
7908
7909	output = &GetOperationOutput{}
7910	req = c.newRequest(op, input, output)
7911	return
7912}
7913
7914// GetOperation API operation for Amazon Lightsail.
7915//
7916// Returns information about a specific operation. Operations include events
7917// such as when you create an instance, allocate a static IP, attach a static
7918// IP, and so on.
7919//
7920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7921// with awserr.Error's Code and Message methods to get detailed information about
7922// the error.
7923//
7924// See the AWS API reference guide for Amazon Lightsail's
7925// API operation GetOperation for usage and error information.
7926//
7927// Returned Error Types:
7928//   * ServiceException
7929//   A general service exception.
7930//
7931//   * InvalidInputException
7932//   Lightsail throws this exception when user input does not conform to the validation
7933//   rules of an input field.
7934//
7935//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7936//   Please set your AWS Region configuration to us-east-1 to create, view, or
7937//   edit these resources.
7938//
7939//   * NotFoundException
7940//   Lightsail throws this exception when it cannot find a resource.
7941//
7942//   * OperationFailureException
7943//   Lightsail throws this exception when an operation fails to execute.
7944//
7945//   * AccessDeniedException
7946//   Lightsail throws this exception when the user cannot be authenticated or
7947//   uses invalid credentials to access a resource.
7948//
7949//   * AccountSetupInProgressException
7950//   Lightsail throws this exception when an account is still in the setup in
7951//   progress state.
7952//
7953//   * UnauthenticatedException
7954//   Lightsail throws this exception when the user has not been authenticated.
7955//
7956// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
7957func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
7958	req, out := c.GetOperationRequest(input)
7959	return out, req.Send()
7960}
7961
7962// GetOperationWithContext is the same as GetOperation with the addition of
7963// the ability to pass a context and additional request options.
7964//
7965// See GetOperation for details on how to use this API operation.
7966//
7967// The context must be non-nil and will be used for request cancellation. If
7968// the context is nil a panic will occur. In the future the SDK may create
7969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7970// for more information on using Contexts.
7971func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
7972	req, out := c.GetOperationRequest(input)
7973	req.SetContext(ctx)
7974	req.ApplyOptions(opts...)
7975	return out, req.Send()
7976}
7977
7978const opGetOperations = "GetOperations"
7979
7980// GetOperationsRequest generates a "aws/request.Request" representing the
7981// client's request for the GetOperations operation. The "output" return
7982// value will be populated with the request's response once the request completes
7983// successfully.
7984//
7985// Use "Send" method on the returned Request to send the API call to the service.
7986// the "output" return value is not valid until after Send returns without error.
7987//
7988// See GetOperations for more information on using the GetOperations
7989// API call, and error handling.
7990//
7991// This method is useful when you want to inject custom logic or configuration
7992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7993//
7994//
7995//    // Example sending a request using the GetOperationsRequest method.
7996//    req, resp := client.GetOperationsRequest(params)
7997//
7998//    err := req.Send()
7999//    if err == nil { // resp is now filled
8000//        fmt.Println(resp)
8001//    }
8002//
8003// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
8004func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
8005	op := &request.Operation{
8006		Name:       opGetOperations,
8007		HTTPMethod: "POST",
8008		HTTPPath:   "/",
8009	}
8010
8011	if input == nil {
8012		input = &GetOperationsInput{}
8013	}
8014
8015	output = &GetOperationsOutput{}
8016	req = c.newRequest(op, input, output)
8017	return
8018}
8019
8020// GetOperations API operation for Amazon Lightsail.
8021//
8022// Returns information about all operations.
8023//
8024// Results are returned from oldest to newest, up to a maximum of 200. Results
8025// can be paged by making each subsequent call to GetOperations use the maximum
8026// (last) statusChangedAt value from the previous request.
8027//
8028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8029// with awserr.Error's Code and Message methods to get detailed information about
8030// the error.
8031//
8032// See the AWS API reference guide for Amazon Lightsail's
8033// API operation GetOperations for usage and error information.
8034//
8035// Returned Error Types:
8036//   * ServiceException
8037//   A general service exception.
8038//
8039//   * InvalidInputException
8040//   Lightsail throws this exception when user input does not conform to the validation
8041//   rules of an input field.
8042//
8043//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8044//   Please set your AWS Region configuration to us-east-1 to create, view, or
8045//   edit these resources.
8046//
8047//   * NotFoundException
8048//   Lightsail throws this exception when it cannot find a resource.
8049//
8050//   * OperationFailureException
8051//   Lightsail throws this exception when an operation fails to execute.
8052//
8053//   * AccessDeniedException
8054//   Lightsail throws this exception when the user cannot be authenticated or
8055//   uses invalid credentials to access a resource.
8056//
8057//   * AccountSetupInProgressException
8058//   Lightsail throws this exception when an account is still in the setup in
8059//   progress state.
8060//
8061//   * UnauthenticatedException
8062//   Lightsail throws this exception when the user has not been authenticated.
8063//
8064// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
8065func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
8066	req, out := c.GetOperationsRequest(input)
8067	return out, req.Send()
8068}
8069
8070// GetOperationsWithContext is the same as GetOperations with the addition of
8071// the ability to pass a context and additional request options.
8072//
8073// See GetOperations for details on how to use this API operation.
8074//
8075// The context must be non-nil and will be used for request cancellation. If
8076// the context is nil a panic will occur. In the future the SDK may create
8077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8078// for more information on using Contexts.
8079func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
8080	req, out := c.GetOperationsRequest(input)
8081	req.SetContext(ctx)
8082	req.ApplyOptions(opts...)
8083	return out, req.Send()
8084}
8085
8086const opGetOperationsForResource = "GetOperationsForResource"
8087
8088// GetOperationsForResourceRequest generates a "aws/request.Request" representing the
8089// client's request for the GetOperationsForResource operation. The "output" return
8090// value will be populated with the request's response once the request completes
8091// successfully.
8092//
8093// Use "Send" method on the returned Request to send the API call to the service.
8094// the "output" return value is not valid until after Send returns without error.
8095//
8096// See GetOperationsForResource for more information on using the GetOperationsForResource
8097// API call, and error handling.
8098//
8099// This method is useful when you want to inject custom logic or configuration
8100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8101//
8102//
8103//    // Example sending a request using the GetOperationsForResourceRequest method.
8104//    req, resp := client.GetOperationsForResourceRequest(params)
8105//
8106//    err := req.Send()
8107//    if err == nil { // resp is now filled
8108//        fmt.Println(resp)
8109//    }
8110//
8111// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
8112func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
8113	op := &request.Operation{
8114		Name:       opGetOperationsForResource,
8115		HTTPMethod: "POST",
8116		HTTPPath:   "/",
8117	}
8118
8119	if input == nil {
8120		input = &GetOperationsForResourceInput{}
8121	}
8122
8123	output = &GetOperationsForResourceOutput{}
8124	req = c.newRequest(op, input, output)
8125	return
8126}
8127
8128// GetOperationsForResource API operation for Amazon Lightsail.
8129//
8130// Gets operations for a specific resource (e.g., an instance or a static IP).
8131//
8132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8133// with awserr.Error's Code and Message methods to get detailed information about
8134// the error.
8135//
8136// See the AWS API reference guide for Amazon Lightsail's
8137// API operation GetOperationsForResource for usage and error information.
8138//
8139// Returned Error Types:
8140//   * ServiceException
8141//   A general service exception.
8142//
8143//   * InvalidInputException
8144//   Lightsail throws this exception when user input does not conform to the validation
8145//   rules of an input field.
8146//
8147//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8148//   Please set your AWS Region configuration to us-east-1 to create, view, or
8149//   edit these resources.
8150//
8151//   * NotFoundException
8152//   Lightsail throws this exception when it cannot find a resource.
8153//
8154//   * OperationFailureException
8155//   Lightsail throws this exception when an operation fails to execute.
8156//
8157//   * AccessDeniedException
8158//   Lightsail throws this exception when the user cannot be authenticated or
8159//   uses invalid credentials to access a resource.
8160//
8161//   * AccountSetupInProgressException
8162//   Lightsail throws this exception when an account is still in the setup in
8163//   progress state.
8164//
8165//   * UnauthenticatedException
8166//   Lightsail throws this exception when the user has not been authenticated.
8167//
8168// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
8169func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
8170	req, out := c.GetOperationsForResourceRequest(input)
8171	return out, req.Send()
8172}
8173
8174// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
8175// the ability to pass a context and additional request options.
8176//
8177// See GetOperationsForResource for details on how to use this API operation.
8178//
8179// The context must be non-nil and will be used for request cancellation. If
8180// the context is nil a panic will occur. In the future the SDK may create
8181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8182// for more information on using Contexts.
8183func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
8184	req, out := c.GetOperationsForResourceRequest(input)
8185	req.SetContext(ctx)
8186	req.ApplyOptions(opts...)
8187	return out, req.Send()
8188}
8189
8190const opGetRegions = "GetRegions"
8191
8192// GetRegionsRequest generates a "aws/request.Request" representing the
8193// client's request for the GetRegions operation. The "output" return
8194// value will be populated with the request's response once the request completes
8195// successfully.
8196//
8197// Use "Send" method on the returned Request to send the API call to the service.
8198// the "output" return value is not valid until after Send returns without error.
8199//
8200// See GetRegions for more information on using the GetRegions
8201// API call, and error handling.
8202//
8203// This method is useful when you want to inject custom logic or configuration
8204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8205//
8206//
8207//    // Example sending a request using the GetRegionsRequest method.
8208//    req, resp := client.GetRegionsRequest(params)
8209//
8210//    err := req.Send()
8211//    if err == nil { // resp is now filled
8212//        fmt.Println(resp)
8213//    }
8214//
8215// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
8216func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
8217	op := &request.Operation{
8218		Name:       opGetRegions,
8219		HTTPMethod: "POST",
8220		HTTPPath:   "/",
8221	}
8222
8223	if input == nil {
8224		input = &GetRegionsInput{}
8225	}
8226
8227	output = &GetRegionsOutput{}
8228	req = c.newRequest(op, input, output)
8229	return
8230}
8231
8232// GetRegions API operation for Amazon Lightsail.
8233//
8234// Returns a list of all valid regions for Amazon Lightsail. Use the include
8235// availability zones parameter to also return the Availability Zones in a region.
8236//
8237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8238// with awserr.Error's Code and Message methods to get detailed information about
8239// the error.
8240//
8241// See the AWS API reference guide for Amazon Lightsail's
8242// API operation GetRegions for usage and error information.
8243//
8244// Returned Error Types:
8245//   * ServiceException
8246//   A general service exception.
8247//
8248//   * InvalidInputException
8249//   Lightsail throws this exception when user input does not conform to the validation
8250//   rules of an input field.
8251//
8252//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8253//   Please set your AWS Region configuration to us-east-1 to create, view, or
8254//   edit these resources.
8255//
8256//   * NotFoundException
8257//   Lightsail throws this exception when it cannot find a resource.
8258//
8259//   * OperationFailureException
8260//   Lightsail throws this exception when an operation fails to execute.
8261//
8262//   * AccessDeniedException
8263//   Lightsail throws this exception when the user cannot be authenticated or
8264//   uses invalid credentials to access a resource.
8265//
8266//   * AccountSetupInProgressException
8267//   Lightsail throws this exception when an account is still in the setup in
8268//   progress state.
8269//
8270//   * UnauthenticatedException
8271//   Lightsail throws this exception when the user has not been authenticated.
8272//
8273// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
8274func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
8275	req, out := c.GetRegionsRequest(input)
8276	return out, req.Send()
8277}
8278
8279// GetRegionsWithContext is the same as GetRegions with the addition of
8280// the ability to pass a context and additional request options.
8281//
8282// See GetRegions for details on how to use this API operation.
8283//
8284// The context must be non-nil and will be used for request cancellation. If
8285// the context is nil a panic will occur. In the future the SDK may create
8286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8287// for more information on using Contexts.
8288func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
8289	req, out := c.GetRegionsRequest(input)
8290	req.SetContext(ctx)
8291	req.ApplyOptions(opts...)
8292	return out, req.Send()
8293}
8294
8295const opGetRelationalDatabase = "GetRelationalDatabase"
8296
8297// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
8298// client's request for the GetRelationalDatabase operation. The "output" return
8299// value will be populated with the request's response once the request completes
8300// successfully.
8301//
8302// Use "Send" method on the returned Request to send the API call to the service.
8303// the "output" return value is not valid until after Send returns without error.
8304//
8305// See GetRelationalDatabase for more information on using the GetRelationalDatabase
8306// API call, and error handling.
8307//
8308// This method is useful when you want to inject custom logic or configuration
8309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8310//
8311//
8312//    // Example sending a request using the GetRelationalDatabaseRequest method.
8313//    req, resp := client.GetRelationalDatabaseRequest(params)
8314//
8315//    err := req.Send()
8316//    if err == nil { // resp is now filled
8317//        fmt.Println(resp)
8318//    }
8319//
8320// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
8321func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
8322	op := &request.Operation{
8323		Name:       opGetRelationalDatabase,
8324		HTTPMethod: "POST",
8325		HTTPPath:   "/",
8326	}
8327
8328	if input == nil {
8329		input = &GetRelationalDatabaseInput{}
8330	}
8331
8332	output = &GetRelationalDatabaseOutput{}
8333	req = c.newRequest(op, input, output)
8334	return
8335}
8336
8337// GetRelationalDatabase API operation for Amazon Lightsail.
8338//
8339// Returns information about a specific database in Amazon Lightsail.
8340//
8341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8342// with awserr.Error's Code and Message methods to get detailed information about
8343// the error.
8344//
8345// See the AWS API reference guide for Amazon Lightsail's
8346// API operation GetRelationalDatabase for usage and error information.
8347//
8348// Returned Error Types:
8349//   * ServiceException
8350//   A general service exception.
8351//
8352//   * InvalidInputException
8353//   Lightsail throws this exception when user input does not conform to the validation
8354//   rules of an input field.
8355//
8356//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8357//   Please set your AWS Region configuration to us-east-1 to create, view, or
8358//   edit these resources.
8359//
8360//   * NotFoundException
8361//   Lightsail throws this exception when it cannot find a resource.
8362//
8363//   * OperationFailureException
8364//   Lightsail throws this exception when an operation fails to execute.
8365//
8366//   * AccessDeniedException
8367//   Lightsail throws this exception when the user cannot be authenticated or
8368//   uses invalid credentials to access a resource.
8369//
8370//   * AccountSetupInProgressException
8371//   Lightsail throws this exception when an account is still in the setup in
8372//   progress state.
8373//
8374//   * UnauthenticatedException
8375//   Lightsail throws this exception when the user has not been authenticated.
8376//
8377// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
8378func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
8379	req, out := c.GetRelationalDatabaseRequest(input)
8380	return out, req.Send()
8381}
8382
8383// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
8384// the ability to pass a context and additional request options.
8385//
8386// See GetRelationalDatabase for details on how to use this API operation.
8387//
8388// The context must be non-nil and will be used for request cancellation. If
8389// the context is nil a panic will occur. In the future the SDK may create
8390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8391// for more information on using Contexts.
8392func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
8393	req, out := c.GetRelationalDatabaseRequest(input)
8394	req.SetContext(ctx)
8395	req.ApplyOptions(opts...)
8396	return out, req.Send()
8397}
8398
8399const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
8400
8401// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
8402// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
8403// value will be populated with the request's response once the request completes
8404// successfully.
8405//
8406// Use "Send" method on the returned Request to send the API call to the service.
8407// the "output" return value is not valid until after Send returns without error.
8408//
8409// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
8410// API call, and error handling.
8411//
8412// This method is useful when you want to inject custom logic or configuration
8413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8414//
8415//
8416//    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
8417//    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
8418//
8419//    err := req.Send()
8420//    if err == nil { // resp is now filled
8421//        fmt.Println(resp)
8422//    }
8423//
8424// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
8425func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
8426	op := &request.Operation{
8427		Name:       opGetRelationalDatabaseBlueprints,
8428		HTTPMethod: "POST",
8429		HTTPPath:   "/",
8430	}
8431
8432	if input == nil {
8433		input = &GetRelationalDatabaseBlueprintsInput{}
8434	}
8435
8436	output = &GetRelationalDatabaseBlueprintsOutput{}
8437	req = c.newRequest(op, input, output)
8438	return
8439}
8440
8441// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
8442//
8443// Returns a list of available database blueprints in Amazon Lightsail. A blueprint
8444// describes the major engine version of a database.
8445//
8446// You can use a blueprint ID to create a new database that runs a specific
8447// database engine.
8448//
8449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8450// with awserr.Error's Code and Message methods to get detailed information about
8451// the error.
8452//
8453// See the AWS API reference guide for Amazon Lightsail's
8454// API operation GetRelationalDatabaseBlueprints for usage and error information.
8455//
8456// Returned Error Types:
8457//   * ServiceException
8458//   A general service exception.
8459//
8460//   * InvalidInputException
8461//   Lightsail throws this exception when user input does not conform to the validation
8462//   rules of an input field.
8463//
8464//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8465//   Please set your AWS Region configuration to us-east-1 to create, view, or
8466//   edit these resources.
8467//
8468//   * NotFoundException
8469//   Lightsail throws this exception when it cannot find a resource.
8470//
8471//   * OperationFailureException
8472//   Lightsail throws this exception when an operation fails to execute.
8473//
8474//   * AccessDeniedException
8475//   Lightsail throws this exception when the user cannot be authenticated or
8476//   uses invalid credentials to access a resource.
8477//
8478//   * AccountSetupInProgressException
8479//   Lightsail throws this exception when an account is still in the setup in
8480//   progress state.
8481//
8482//   * UnauthenticatedException
8483//   Lightsail throws this exception when the user has not been authenticated.
8484//
8485// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
8486func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
8487	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
8488	return out, req.Send()
8489}
8490
8491// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
8492// the ability to pass a context and additional request options.
8493//
8494// See GetRelationalDatabaseBlueprints for details on how to use this API operation.
8495//
8496// The context must be non-nil and will be used for request cancellation. If
8497// the context is nil a panic will occur. In the future the SDK may create
8498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8499// for more information on using Contexts.
8500func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
8501	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
8502	req.SetContext(ctx)
8503	req.ApplyOptions(opts...)
8504	return out, req.Send()
8505}
8506
8507const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
8508
8509// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
8510// client's request for the GetRelationalDatabaseBundles operation. The "output" return
8511// value will be populated with the request's response once the request completes
8512// successfully.
8513//
8514// Use "Send" method on the returned Request to send the API call to the service.
8515// the "output" return value is not valid until after Send returns without error.
8516//
8517// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
8518// API call, and error handling.
8519//
8520// This method is useful when you want to inject custom logic or configuration
8521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8522//
8523//
8524//    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
8525//    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
8526//
8527//    err := req.Send()
8528//    if err == nil { // resp is now filled
8529//        fmt.Println(resp)
8530//    }
8531//
8532// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
8533func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
8534	op := &request.Operation{
8535		Name:       opGetRelationalDatabaseBundles,
8536		HTTPMethod: "POST",
8537		HTTPPath:   "/",
8538	}
8539
8540	if input == nil {
8541		input = &GetRelationalDatabaseBundlesInput{}
8542	}
8543
8544	output = &GetRelationalDatabaseBundlesOutput{}
8545	req = c.newRequest(op, input, output)
8546	return
8547}
8548
8549// GetRelationalDatabaseBundles API operation for Amazon Lightsail.
8550//
8551// Returns the list of bundles that are available in Amazon Lightsail. A bundle
8552// describes the performance specifications for a database.
8553//
8554// You can use a bundle ID to create a new database with explicit performance
8555// specifications.
8556//
8557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8558// with awserr.Error's Code and Message methods to get detailed information about
8559// the error.
8560//
8561// See the AWS API reference guide for Amazon Lightsail's
8562// API operation GetRelationalDatabaseBundles for usage and error information.
8563//
8564// Returned Error Types:
8565//   * ServiceException
8566//   A general service exception.
8567//
8568//   * InvalidInputException
8569//   Lightsail throws this exception when user input does not conform to the validation
8570//   rules of an input field.
8571//
8572//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8573//   Please set your AWS Region configuration to us-east-1 to create, view, or
8574//   edit these resources.
8575//
8576//   * NotFoundException
8577//   Lightsail throws this exception when it cannot find a resource.
8578//
8579//   * OperationFailureException
8580//   Lightsail throws this exception when an operation fails to execute.
8581//
8582//   * AccessDeniedException
8583//   Lightsail throws this exception when the user cannot be authenticated or
8584//   uses invalid credentials to access a resource.
8585//
8586//   * AccountSetupInProgressException
8587//   Lightsail throws this exception when an account is still in the setup in
8588//   progress state.
8589//
8590//   * UnauthenticatedException
8591//   Lightsail throws this exception when the user has not been authenticated.
8592//
8593// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
8594func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
8595	req, out := c.GetRelationalDatabaseBundlesRequest(input)
8596	return out, req.Send()
8597}
8598
8599// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
8600// the ability to pass a context and additional request options.
8601//
8602// See GetRelationalDatabaseBundles for details on how to use this API operation.
8603//
8604// The context must be non-nil and will be used for request cancellation. If
8605// the context is nil a panic will occur. In the future the SDK may create
8606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8607// for more information on using Contexts.
8608func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
8609	req, out := c.GetRelationalDatabaseBundlesRequest(input)
8610	req.SetContext(ctx)
8611	req.ApplyOptions(opts...)
8612	return out, req.Send()
8613}
8614
8615const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
8616
8617// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
8618// client's request for the GetRelationalDatabaseEvents operation. The "output" return
8619// value will be populated with the request's response once the request completes
8620// successfully.
8621//
8622// Use "Send" method on the returned Request to send the API call to the service.
8623// the "output" return value is not valid until after Send returns without error.
8624//
8625// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
8626// API call, and error handling.
8627//
8628// This method is useful when you want to inject custom logic or configuration
8629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8630//
8631//
8632//    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
8633//    req, resp := client.GetRelationalDatabaseEventsRequest(params)
8634//
8635//    err := req.Send()
8636//    if err == nil { // resp is now filled
8637//        fmt.Println(resp)
8638//    }
8639//
8640// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
8641func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
8642	op := &request.Operation{
8643		Name:       opGetRelationalDatabaseEvents,
8644		HTTPMethod: "POST",
8645		HTTPPath:   "/",
8646	}
8647
8648	if input == nil {
8649		input = &GetRelationalDatabaseEventsInput{}
8650	}
8651
8652	output = &GetRelationalDatabaseEventsOutput{}
8653	req = c.newRequest(op, input, output)
8654	return
8655}
8656
8657// GetRelationalDatabaseEvents API operation for Amazon Lightsail.
8658//
8659// Returns a list of events for a specific database in Amazon Lightsail.
8660//
8661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8662// with awserr.Error's Code and Message methods to get detailed information about
8663// the error.
8664//
8665// See the AWS API reference guide for Amazon Lightsail's
8666// API operation GetRelationalDatabaseEvents for usage and error information.
8667//
8668// Returned Error Types:
8669//   * ServiceException
8670//   A general service exception.
8671//
8672//   * InvalidInputException
8673//   Lightsail throws this exception when user input does not conform to the validation
8674//   rules of an input field.
8675//
8676//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8677//   Please set your AWS Region configuration to us-east-1 to create, view, or
8678//   edit these resources.
8679//
8680//   * NotFoundException
8681//   Lightsail throws this exception when it cannot find a resource.
8682//
8683//   * OperationFailureException
8684//   Lightsail throws this exception when an operation fails to execute.
8685//
8686//   * AccessDeniedException
8687//   Lightsail throws this exception when the user cannot be authenticated or
8688//   uses invalid credentials to access a resource.
8689//
8690//   * AccountSetupInProgressException
8691//   Lightsail throws this exception when an account is still in the setup in
8692//   progress state.
8693//
8694//   * UnauthenticatedException
8695//   Lightsail throws this exception when the user has not been authenticated.
8696//
8697// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
8698func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
8699	req, out := c.GetRelationalDatabaseEventsRequest(input)
8700	return out, req.Send()
8701}
8702
8703// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
8704// the ability to pass a context and additional request options.
8705//
8706// See GetRelationalDatabaseEvents for details on how to use this API operation.
8707//
8708// The context must be non-nil and will be used for request cancellation. If
8709// the context is nil a panic will occur. In the future the SDK may create
8710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8711// for more information on using Contexts.
8712func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
8713	req, out := c.GetRelationalDatabaseEventsRequest(input)
8714	req.SetContext(ctx)
8715	req.ApplyOptions(opts...)
8716	return out, req.Send()
8717}
8718
8719const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
8720
8721// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
8722// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
8723// value will be populated with the request's response once the request completes
8724// successfully.
8725//
8726// Use "Send" method on the returned Request to send the API call to the service.
8727// the "output" return value is not valid until after Send returns without error.
8728//
8729// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
8730// API call, and error handling.
8731//
8732// This method is useful when you want to inject custom logic or configuration
8733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8734//
8735//
8736//    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
8737//    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
8738//
8739//    err := req.Send()
8740//    if err == nil { // resp is now filled
8741//        fmt.Println(resp)
8742//    }
8743//
8744// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
8745func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
8746	op := &request.Operation{
8747		Name:       opGetRelationalDatabaseLogEvents,
8748		HTTPMethod: "POST",
8749		HTTPPath:   "/",
8750	}
8751
8752	if input == nil {
8753		input = &GetRelationalDatabaseLogEventsInput{}
8754	}
8755
8756	output = &GetRelationalDatabaseLogEventsOutput{}
8757	req = c.newRequest(op, input, output)
8758	return
8759}
8760
8761// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
8762//
8763// Returns a list of log events for a database in Amazon Lightsail.
8764//
8765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8766// with awserr.Error's Code and Message methods to get detailed information about
8767// the error.
8768//
8769// See the AWS API reference guide for Amazon Lightsail's
8770// API operation GetRelationalDatabaseLogEvents for usage and error information.
8771//
8772// Returned Error Types:
8773//   * ServiceException
8774//   A general service exception.
8775//
8776//   * InvalidInputException
8777//   Lightsail throws this exception when user input does not conform to the validation
8778//   rules of an input field.
8779//
8780//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8781//   Please set your AWS Region configuration to us-east-1 to create, view, or
8782//   edit these resources.
8783//
8784//   * NotFoundException
8785//   Lightsail throws this exception when it cannot find a resource.
8786//
8787//   * OperationFailureException
8788//   Lightsail throws this exception when an operation fails to execute.
8789//
8790//   * AccessDeniedException
8791//   Lightsail throws this exception when the user cannot be authenticated or
8792//   uses invalid credentials to access a resource.
8793//
8794//   * AccountSetupInProgressException
8795//   Lightsail throws this exception when an account is still in the setup in
8796//   progress state.
8797//
8798//   * UnauthenticatedException
8799//   Lightsail throws this exception when the user has not been authenticated.
8800//
8801// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
8802func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
8803	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
8804	return out, req.Send()
8805}
8806
8807// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
8808// the ability to pass a context and additional request options.
8809//
8810// See GetRelationalDatabaseLogEvents for details on how to use this API operation.
8811//
8812// The context must be non-nil and will be used for request cancellation. If
8813// the context is nil a panic will occur. In the future the SDK may create
8814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8815// for more information on using Contexts.
8816func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
8817	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
8818	req.SetContext(ctx)
8819	req.ApplyOptions(opts...)
8820	return out, req.Send()
8821}
8822
8823const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
8824
8825// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
8826// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
8827// value will be populated with the request's response once the request completes
8828// successfully.
8829//
8830// Use "Send" method on the returned Request to send the API call to the service.
8831// the "output" return value is not valid until after Send returns without error.
8832//
8833// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
8834// API call, and error handling.
8835//
8836// This method is useful when you want to inject custom logic or configuration
8837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8838//
8839//
8840//    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
8841//    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
8842//
8843//    err := req.Send()
8844//    if err == nil { // resp is now filled
8845//        fmt.Println(resp)
8846//    }
8847//
8848// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
8849func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
8850	op := &request.Operation{
8851		Name:       opGetRelationalDatabaseLogStreams,
8852		HTTPMethod: "POST",
8853		HTTPPath:   "/",
8854	}
8855
8856	if input == nil {
8857		input = &GetRelationalDatabaseLogStreamsInput{}
8858	}
8859
8860	output = &GetRelationalDatabaseLogStreamsOutput{}
8861	req = c.newRequest(op, input, output)
8862	return
8863}
8864
8865// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
8866//
8867// Returns a list of available log streams for a specific database in Amazon
8868// Lightsail.
8869//
8870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8871// with awserr.Error's Code and Message methods to get detailed information about
8872// the error.
8873//
8874// See the AWS API reference guide for Amazon Lightsail's
8875// API operation GetRelationalDatabaseLogStreams for usage and error information.
8876//
8877// Returned Error Types:
8878//   * ServiceException
8879//   A general service exception.
8880//
8881//   * InvalidInputException
8882//   Lightsail throws this exception when user input does not conform to the validation
8883//   rules of an input field.
8884//
8885//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8886//   Please set your AWS Region configuration to us-east-1 to create, view, or
8887//   edit these resources.
8888//
8889//   * NotFoundException
8890//   Lightsail throws this exception when it cannot find a resource.
8891//
8892//   * OperationFailureException
8893//   Lightsail throws this exception when an operation fails to execute.
8894//
8895//   * AccessDeniedException
8896//   Lightsail throws this exception when the user cannot be authenticated or
8897//   uses invalid credentials to access a resource.
8898//
8899//   * AccountSetupInProgressException
8900//   Lightsail throws this exception when an account is still in the setup in
8901//   progress state.
8902//
8903//   * UnauthenticatedException
8904//   Lightsail throws this exception when the user has not been authenticated.
8905//
8906// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
8907func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
8908	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
8909	return out, req.Send()
8910}
8911
8912// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
8913// the ability to pass a context and additional request options.
8914//
8915// See GetRelationalDatabaseLogStreams for details on how to use this API operation.
8916//
8917// The context must be non-nil and will be used for request cancellation. If
8918// the context is nil a panic will occur. In the future the SDK may create
8919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8920// for more information on using Contexts.
8921func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
8922	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
8923	req.SetContext(ctx)
8924	req.ApplyOptions(opts...)
8925	return out, req.Send()
8926}
8927
8928const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
8929
8930// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
8931// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
8932// value will be populated with the request's response once the request completes
8933// successfully.
8934//
8935// Use "Send" method on the returned Request to send the API call to the service.
8936// the "output" return value is not valid until after Send returns without error.
8937//
8938// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
8939// API call, and error handling.
8940//
8941// This method is useful when you want to inject custom logic or configuration
8942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8943//
8944//
8945//    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
8946//    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
8947//
8948//    err := req.Send()
8949//    if err == nil { // resp is now filled
8950//        fmt.Println(resp)
8951//    }
8952//
8953// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
8954func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
8955	op := &request.Operation{
8956		Name:       opGetRelationalDatabaseMasterUserPassword,
8957		HTTPMethod: "POST",
8958		HTTPPath:   "/",
8959	}
8960
8961	if input == nil {
8962		input = &GetRelationalDatabaseMasterUserPasswordInput{}
8963	}
8964
8965	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
8966	req = c.newRequest(op, input, output)
8967	return
8968}
8969
8970// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
8971//
8972// Returns the current, previous, or pending versions of the master user password
8973// for a Lightsail database.
8974//
8975// The GetRelationalDatabaseMasterUserPassword operation supports tag-based
8976// access control via resource tags applied to the resource identified by relationalDatabaseName.
8977//
8978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8979// with awserr.Error's Code and Message methods to get detailed information about
8980// the error.
8981//
8982// See the AWS API reference guide for Amazon Lightsail's
8983// API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
8984//
8985// Returned Error Types:
8986//   * ServiceException
8987//   A general service exception.
8988//
8989//   * InvalidInputException
8990//   Lightsail throws this exception when user input does not conform to the validation
8991//   rules of an input field.
8992//
8993//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8994//   Please set your AWS Region configuration to us-east-1 to create, view, or
8995//   edit these resources.
8996//
8997//   * NotFoundException
8998//   Lightsail throws this exception when it cannot find a resource.
8999//
9000//   * OperationFailureException
9001//   Lightsail throws this exception when an operation fails to execute.
9002//
9003//   * AccessDeniedException
9004//   Lightsail throws this exception when the user cannot be authenticated or
9005//   uses invalid credentials to access a resource.
9006//
9007//   * AccountSetupInProgressException
9008//   Lightsail throws this exception when an account is still in the setup in
9009//   progress state.
9010//
9011//   * UnauthenticatedException
9012//   Lightsail throws this exception when the user has not been authenticated.
9013//
9014// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
9015func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
9016	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
9017	return out, req.Send()
9018}
9019
9020// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
9021// the ability to pass a context and additional request options.
9022//
9023// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
9024//
9025// The context must be non-nil and will be used for request cancellation. If
9026// the context is nil a panic will occur. In the future the SDK may create
9027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9028// for more information on using Contexts.
9029func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
9030	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
9031	req.SetContext(ctx)
9032	req.ApplyOptions(opts...)
9033	return out, req.Send()
9034}
9035
9036const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
9037
9038// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
9039// client's request for the GetRelationalDatabaseMetricData operation. The "output" return
9040// value will be populated with the request's response once the request completes
9041// successfully.
9042//
9043// Use "Send" method on the returned Request to send the API call to the service.
9044// the "output" return value is not valid until after Send returns without error.
9045//
9046// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
9047// API call, and error handling.
9048//
9049// This method is useful when you want to inject custom logic or configuration
9050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9051//
9052//
9053//    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
9054//    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
9055//
9056//    err := req.Send()
9057//    if err == nil { // resp is now filled
9058//        fmt.Println(resp)
9059//    }
9060//
9061// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
9062func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
9063	op := &request.Operation{
9064		Name:       opGetRelationalDatabaseMetricData,
9065		HTTPMethod: "POST",
9066		HTTPPath:   "/",
9067	}
9068
9069	if input == nil {
9070		input = &GetRelationalDatabaseMetricDataInput{}
9071	}
9072
9073	output = &GetRelationalDatabaseMetricDataOutput{}
9074	req = c.newRequest(op, input, output)
9075	return
9076}
9077
9078// GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
9079//
9080// Returns the data points of the specified metric for a database in Amazon
9081// Lightsail.
9082//
9083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9084// with awserr.Error's Code and Message methods to get detailed information about
9085// the error.
9086//
9087// See the AWS API reference guide for Amazon Lightsail's
9088// API operation GetRelationalDatabaseMetricData for usage and error information.
9089//
9090// Returned Error Types:
9091//   * ServiceException
9092//   A general service exception.
9093//
9094//   * InvalidInputException
9095//   Lightsail throws this exception when user input does not conform to the validation
9096//   rules of an input field.
9097//
9098//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9099//   Please set your AWS Region configuration to us-east-1 to create, view, or
9100//   edit these resources.
9101//
9102//   * NotFoundException
9103//   Lightsail throws this exception when it cannot find a resource.
9104//
9105//   * OperationFailureException
9106//   Lightsail throws this exception when an operation fails to execute.
9107//
9108//   * AccessDeniedException
9109//   Lightsail throws this exception when the user cannot be authenticated or
9110//   uses invalid credentials to access a resource.
9111//
9112//   * AccountSetupInProgressException
9113//   Lightsail throws this exception when an account is still in the setup in
9114//   progress state.
9115//
9116//   * UnauthenticatedException
9117//   Lightsail throws this exception when the user has not been authenticated.
9118//
9119// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
9120func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
9121	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
9122	return out, req.Send()
9123}
9124
9125// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
9126// the ability to pass a context and additional request options.
9127//
9128// See GetRelationalDatabaseMetricData for details on how to use this API operation.
9129//
9130// The context must be non-nil and will be used for request cancellation. If
9131// the context is nil a panic will occur. In the future the SDK may create
9132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9133// for more information on using Contexts.
9134func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
9135	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
9136	req.SetContext(ctx)
9137	req.ApplyOptions(opts...)
9138	return out, req.Send()
9139}
9140
9141const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
9142
9143// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
9144// client's request for the GetRelationalDatabaseParameters operation. The "output" return
9145// value will be populated with the request's response once the request completes
9146// successfully.
9147//
9148// Use "Send" method on the returned Request to send the API call to the service.
9149// the "output" return value is not valid until after Send returns without error.
9150//
9151// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
9152// API call, and error handling.
9153//
9154// This method is useful when you want to inject custom logic or configuration
9155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9156//
9157//
9158//    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
9159//    req, resp := client.GetRelationalDatabaseParametersRequest(params)
9160//
9161//    err := req.Send()
9162//    if err == nil { // resp is now filled
9163//        fmt.Println(resp)
9164//    }
9165//
9166// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
9167func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
9168	op := &request.Operation{
9169		Name:       opGetRelationalDatabaseParameters,
9170		HTTPMethod: "POST",
9171		HTTPPath:   "/",
9172	}
9173
9174	if input == nil {
9175		input = &GetRelationalDatabaseParametersInput{}
9176	}
9177
9178	output = &GetRelationalDatabaseParametersOutput{}
9179	req = c.newRequest(op, input, output)
9180	return
9181}
9182
9183// GetRelationalDatabaseParameters API operation for Amazon Lightsail.
9184//
9185// Returns all of the runtime parameters offered by the underlying database
9186// software, or engine, for a specific database in Amazon Lightsail.
9187//
9188// In addition to the parameter names and values, this operation returns other
9189// information about each parameter. This information includes whether changes
9190// require a reboot, whether the parameter is modifiable, the allowed values,
9191// and the data types.
9192//
9193// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9194// with awserr.Error's Code and Message methods to get detailed information about
9195// the error.
9196//
9197// See the AWS API reference guide for Amazon Lightsail's
9198// API operation GetRelationalDatabaseParameters for usage and error information.
9199//
9200// Returned Error Types:
9201//   * ServiceException
9202//   A general service exception.
9203//
9204//   * InvalidInputException
9205//   Lightsail throws this exception when user input does not conform to the validation
9206//   rules of an input field.
9207//
9208//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9209//   Please set your AWS Region configuration to us-east-1 to create, view, or
9210//   edit these resources.
9211//
9212//   * NotFoundException
9213//   Lightsail throws this exception when it cannot find a resource.
9214//
9215//   * OperationFailureException
9216//   Lightsail throws this exception when an operation fails to execute.
9217//
9218//   * AccessDeniedException
9219//   Lightsail throws this exception when the user cannot be authenticated or
9220//   uses invalid credentials to access a resource.
9221//
9222//   * AccountSetupInProgressException
9223//   Lightsail throws this exception when an account is still in the setup in
9224//   progress state.
9225//
9226//   * UnauthenticatedException
9227//   Lightsail throws this exception when the user has not been authenticated.
9228//
9229// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
9230func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
9231	req, out := c.GetRelationalDatabaseParametersRequest(input)
9232	return out, req.Send()
9233}
9234
9235// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
9236// the ability to pass a context and additional request options.
9237//
9238// See GetRelationalDatabaseParameters for details on how to use this API operation.
9239//
9240// The context must be non-nil and will be used for request cancellation. If
9241// the context is nil a panic will occur. In the future the SDK may create
9242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9243// for more information on using Contexts.
9244func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
9245	req, out := c.GetRelationalDatabaseParametersRequest(input)
9246	req.SetContext(ctx)
9247	req.ApplyOptions(opts...)
9248	return out, req.Send()
9249}
9250
9251const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
9252
9253// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
9254// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
9255// value will be populated with the request's response once the request completes
9256// successfully.
9257//
9258// Use "Send" method on the returned Request to send the API call to the service.
9259// the "output" return value is not valid until after Send returns without error.
9260//
9261// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
9262// API call, and error handling.
9263//
9264// This method is useful when you want to inject custom logic or configuration
9265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9266//
9267//
9268//    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
9269//    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
9270//
9271//    err := req.Send()
9272//    if err == nil { // resp is now filled
9273//        fmt.Println(resp)
9274//    }
9275//
9276// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
9277func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
9278	op := &request.Operation{
9279		Name:       opGetRelationalDatabaseSnapshot,
9280		HTTPMethod: "POST",
9281		HTTPPath:   "/",
9282	}
9283
9284	if input == nil {
9285		input = &GetRelationalDatabaseSnapshotInput{}
9286	}
9287
9288	output = &GetRelationalDatabaseSnapshotOutput{}
9289	req = c.newRequest(op, input, output)
9290	return
9291}
9292
9293// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
9294//
9295// Returns information about a specific database snapshot in Amazon Lightsail.
9296//
9297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9298// with awserr.Error's Code and Message methods to get detailed information about
9299// the error.
9300//
9301// See the AWS API reference guide for Amazon Lightsail's
9302// API operation GetRelationalDatabaseSnapshot for usage and error information.
9303//
9304// Returned Error Types:
9305//   * ServiceException
9306//   A general service exception.
9307//
9308//   * InvalidInputException
9309//   Lightsail throws this exception when user input does not conform to the validation
9310//   rules of an input field.
9311//
9312//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9313//   Please set your AWS Region configuration to us-east-1 to create, view, or
9314//   edit these resources.
9315//
9316//   * NotFoundException
9317//   Lightsail throws this exception when it cannot find a resource.
9318//
9319//   * OperationFailureException
9320//   Lightsail throws this exception when an operation fails to execute.
9321//
9322//   * AccessDeniedException
9323//   Lightsail throws this exception when the user cannot be authenticated or
9324//   uses invalid credentials to access a resource.
9325//
9326//   * AccountSetupInProgressException
9327//   Lightsail throws this exception when an account is still in the setup in
9328//   progress state.
9329//
9330//   * UnauthenticatedException
9331//   Lightsail throws this exception when the user has not been authenticated.
9332//
9333// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
9334func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
9335	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
9336	return out, req.Send()
9337}
9338
9339// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
9340// the ability to pass a context and additional request options.
9341//
9342// See GetRelationalDatabaseSnapshot for details on how to use this API operation.
9343//
9344// The context must be non-nil and will be used for request cancellation. If
9345// the context is nil a panic will occur. In the future the SDK may create
9346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9347// for more information on using Contexts.
9348func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
9349	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
9350	req.SetContext(ctx)
9351	req.ApplyOptions(opts...)
9352	return out, req.Send()
9353}
9354
9355const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
9356
9357// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
9358// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
9359// value will be populated with the request's response once the request completes
9360// successfully.
9361//
9362// Use "Send" method on the returned Request to send the API call to the service.
9363// the "output" return value is not valid until after Send returns without error.
9364//
9365// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
9366// API call, and error handling.
9367//
9368// This method is useful when you want to inject custom logic or configuration
9369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9370//
9371//
9372//    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
9373//    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
9374//
9375//    err := req.Send()
9376//    if err == nil { // resp is now filled
9377//        fmt.Println(resp)
9378//    }
9379//
9380// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
9381func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
9382	op := &request.Operation{
9383		Name:       opGetRelationalDatabaseSnapshots,
9384		HTTPMethod: "POST",
9385		HTTPPath:   "/",
9386	}
9387
9388	if input == nil {
9389		input = &GetRelationalDatabaseSnapshotsInput{}
9390	}
9391
9392	output = &GetRelationalDatabaseSnapshotsOutput{}
9393	req = c.newRequest(op, input, output)
9394	return
9395}
9396
9397// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
9398//
9399// Returns information about all of your database snapshots in Amazon Lightsail.
9400//
9401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9402// with awserr.Error's Code and Message methods to get detailed information about
9403// the error.
9404//
9405// See the AWS API reference guide for Amazon Lightsail's
9406// API operation GetRelationalDatabaseSnapshots for usage and error information.
9407//
9408// Returned Error Types:
9409//   * ServiceException
9410//   A general service exception.
9411//
9412//   * InvalidInputException
9413//   Lightsail throws this exception when user input does not conform to the validation
9414//   rules of an input field.
9415//
9416//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9417//   Please set your AWS Region configuration to us-east-1 to create, view, or
9418//   edit these resources.
9419//
9420//   * NotFoundException
9421//   Lightsail throws this exception when it cannot find a resource.
9422//
9423//   * OperationFailureException
9424//   Lightsail throws this exception when an operation fails to execute.
9425//
9426//   * AccessDeniedException
9427//   Lightsail throws this exception when the user cannot be authenticated or
9428//   uses invalid credentials to access a resource.
9429//
9430//   * AccountSetupInProgressException
9431//   Lightsail throws this exception when an account is still in the setup in
9432//   progress state.
9433//
9434//   * UnauthenticatedException
9435//   Lightsail throws this exception when the user has not been authenticated.
9436//
9437// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
9438func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
9439	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
9440	return out, req.Send()
9441}
9442
9443// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
9444// the ability to pass a context and additional request options.
9445//
9446// See GetRelationalDatabaseSnapshots for details on how to use this API operation.
9447//
9448// The context must be non-nil and will be used for request cancellation. If
9449// the context is nil a panic will occur. In the future the SDK may create
9450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9451// for more information on using Contexts.
9452func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
9453	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
9454	req.SetContext(ctx)
9455	req.ApplyOptions(opts...)
9456	return out, req.Send()
9457}
9458
9459const opGetRelationalDatabases = "GetRelationalDatabases"
9460
9461// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
9462// client's request for the GetRelationalDatabases operation. The "output" return
9463// value will be populated with the request's response once the request completes
9464// successfully.
9465//
9466// Use "Send" method on the returned Request to send the API call to the service.
9467// the "output" return value is not valid until after Send returns without error.
9468//
9469// See GetRelationalDatabases for more information on using the GetRelationalDatabases
9470// API call, and error handling.
9471//
9472// This method is useful when you want to inject custom logic or configuration
9473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9474//
9475//
9476//    // Example sending a request using the GetRelationalDatabasesRequest method.
9477//    req, resp := client.GetRelationalDatabasesRequest(params)
9478//
9479//    err := req.Send()
9480//    if err == nil { // resp is now filled
9481//        fmt.Println(resp)
9482//    }
9483//
9484// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
9485func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
9486	op := &request.Operation{
9487		Name:       opGetRelationalDatabases,
9488		HTTPMethod: "POST",
9489		HTTPPath:   "/",
9490	}
9491
9492	if input == nil {
9493		input = &GetRelationalDatabasesInput{}
9494	}
9495
9496	output = &GetRelationalDatabasesOutput{}
9497	req = c.newRequest(op, input, output)
9498	return
9499}
9500
9501// GetRelationalDatabases API operation for Amazon Lightsail.
9502//
9503// Returns information about all of your databases in Amazon Lightsail.
9504//
9505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9506// with awserr.Error's Code and Message methods to get detailed information about
9507// the error.
9508//
9509// See the AWS API reference guide for Amazon Lightsail's
9510// API operation GetRelationalDatabases for usage and error information.
9511//
9512// Returned Error Types:
9513//   * ServiceException
9514//   A general service exception.
9515//
9516//   * InvalidInputException
9517//   Lightsail throws this exception when user input does not conform to the validation
9518//   rules of an input field.
9519//
9520//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9521//   Please set your AWS Region configuration to us-east-1 to create, view, or
9522//   edit these resources.
9523//
9524//   * NotFoundException
9525//   Lightsail throws this exception when it cannot find a resource.
9526//
9527//   * OperationFailureException
9528//   Lightsail throws this exception when an operation fails to execute.
9529//
9530//   * AccessDeniedException
9531//   Lightsail throws this exception when the user cannot be authenticated or
9532//   uses invalid credentials to access a resource.
9533//
9534//   * AccountSetupInProgressException
9535//   Lightsail throws this exception when an account is still in the setup in
9536//   progress state.
9537//
9538//   * UnauthenticatedException
9539//   Lightsail throws this exception when the user has not been authenticated.
9540//
9541// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
9542func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
9543	req, out := c.GetRelationalDatabasesRequest(input)
9544	return out, req.Send()
9545}
9546
9547// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
9548// the ability to pass a context and additional request options.
9549//
9550// See GetRelationalDatabases for details on how to use this API operation.
9551//
9552// The context must be non-nil and will be used for request cancellation. If
9553// the context is nil a panic will occur. In the future the SDK may create
9554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9555// for more information on using Contexts.
9556func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
9557	req, out := c.GetRelationalDatabasesRequest(input)
9558	req.SetContext(ctx)
9559	req.ApplyOptions(opts...)
9560	return out, req.Send()
9561}
9562
9563const opGetStaticIp = "GetStaticIp"
9564
9565// GetStaticIpRequest generates a "aws/request.Request" representing the
9566// client's request for the GetStaticIp operation. The "output" return
9567// value will be populated with the request's response once the request completes
9568// successfully.
9569//
9570// Use "Send" method on the returned Request to send the API call to the service.
9571// the "output" return value is not valid until after Send returns without error.
9572//
9573// See GetStaticIp for more information on using the GetStaticIp
9574// API call, and error handling.
9575//
9576// This method is useful when you want to inject custom logic or configuration
9577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9578//
9579//
9580//    // Example sending a request using the GetStaticIpRequest method.
9581//    req, resp := client.GetStaticIpRequest(params)
9582//
9583//    err := req.Send()
9584//    if err == nil { // resp is now filled
9585//        fmt.Println(resp)
9586//    }
9587//
9588// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
9589func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
9590	op := &request.Operation{
9591		Name:       opGetStaticIp,
9592		HTTPMethod: "POST",
9593		HTTPPath:   "/",
9594	}
9595
9596	if input == nil {
9597		input = &GetStaticIpInput{}
9598	}
9599
9600	output = &GetStaticIpOutput{}
9601	req = c.newRequest(op, input, output)
9602	return
9603}
9604
9605// GetStaticIp API operation for Amazon Lightsail.
9606//
9607// Returns information about a specific static IP.
9608//
9609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9610// with awserr.Error's Code and Message methods to get detailed information about
9611// the error.
9612//
9613// See the AWS API reference guide for Amazon Lightsail's
9614// API operation GetStaticIp for usage and error information.
9615//
9616// Returned Error Types:
9617//   * ServiceException
9618//   A general service exception.
9619//
9620//   * InvalidInputException
9621//   Lightsail throws this exception when user input does not conform to the validation
9622//   rules of an input field.
9623//
9624//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9625//   Please set your AWS Region configuration to us-east-1 to create, view, or
9626//   edit these resources.
9627//
9628//   * NotFoundException
9629//   Lightsail throws this exception when it cannot find a resource.
9630//
9631//   * OperationFailureException
9632//   Lightsail throws this exception when an operation fails to execute.
9633//
9634//   * AccessDeniedException
9635//   Lightsail throws this exception when the user cannot be authenticated or
9636//   uses invalid credentials to access a resource.
9637//
9638//   * AccountSetupInProgressException
9639//   Lightsail throws this exception when an account is still in the setup in
9640//   progress state.
9641//
9642//   * UnauthenticatedException
9643//   Lightsail throws this exception when the user has not been authenticated.
9644//
9645// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
9646func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
9647	req, out := c.GetStaticIpRequest(input)
9648	return out, req.Send()
9649}
9650
9651// GetStaticIpWithContext is the same as GetStaticIp with the addition of
9652// the ability to pass a context and additional request options.
9653//
9654// See GetStaticIp for details on how to use this API operation.
9655//
9656// The context must be non-nil and will be used for request cancellation. If
9657// the context is nil a panic will occur. In the future the SDK may create
9658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9659// for more information on using Contexts.
9660func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
9661	req, out := c.GetStaticIpRequest(input)
9662	req.SetContext(ctx)
9663	req.ApplyOptions(opts...)
9664	return out, req.Send()
9665}
9666
9667const opGetStaticIps = "GetStaticIps"
9668
9669// GetStaticIpsRequest generates a "aws/request.Request" representing the
9670// client's request for the GetStaticIps operation. The "output" return
9671// value will be populated with the request's response once the request completes
9672// successfully.
9673//
9674// Use "Send" method on the returned Request to send the API call to the service.
9675// the "output" return value is not valid until after Send returns without error.
9676//
9677// See GetStaticIps for more information on using the GetStaticIps
9678// API call, and error handling.
9679//
9680// This method is useful when you want to inject custom logic or configuration
9681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9682//
9683//
9684//    // Example sending a request using the GetStaticIpsRequest method.
9685//    req, resp := client.GetStaticIpsRequest(params)
9686//
9687//    err := req.Send()
9688//    if err == nil { // resp is now filled
9689//        fmt.Println(resp)
9690//    }
9691//
9692// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
9693func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
9694	op := &request.Operation{
9695		Name:       opGetStaticIps,
9696		HTTPMethod: "POST",
9697		HTTPPath:   "/",
9698	}
9699
9700	if input == nil {
9701		input = &GetStaticIpsInput{}
9702	}
9703
9704	output = &GetStaticIpsOutput{}
9705	req = c.newRequest(op, input, output)
9706	return
9707}
9708
9709// GetStaticIps API operation for Amazon Lightsail.
9710//
9711// Returns information about all static IPs in the user's account.
9712//
9713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9714// with awserr.Error's Code and Message methods to get detailed information about
9715// the error.
9716//
9717// See the AWS API reference guide for Amazon Lightsail's
9718// API operation GetStaticIps for usage and error information.
9719//
9720// Returned Error Types:
9721//   * ServiceException
9722//   A general service exception.
9723//
9724//   * InvalidInputException
9725//   Lightsail throws this exception when user input does not conform to the validation
9726//   rules of an input field.
9727//
9728//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9729//   Please set your AWS Region configuration to us-east-1 to create, view, or
9730//   edit these resources.
9731//
9732//   * NotFoundException
9733//   Lightsail throws this exception when it cannot find a resource.
9734//
9735//   * OperationFailureException
9736//   Lightsail throws this exception when an operation fails to execute.
9737//
9738//   * AccessDeniedException
9739//   Lightsail throws this exception when the user cannot be authenticated or
9740//   uses invalid credentials to access a resource.
9741//
9742//   * AccountSetupInProgressException
9743//   Lightsail throws this exception when an account is still in the setup in
9744//   progress state.
9745//
9746//   * UnauthenticatedException
9747//   Lightsail throws this exception when the user has not been authenticated.
9748//
9749// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
9750func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
9751	req, out := c.GetStaticIpsRequest(input)
9752	return out, req.Send()
9753}
9754
9755// GetStaticIpsWithContext is the same as GetStaticIps with the addition of
9756// the ability to pass a context and additional request options.
9757//
9758// See GetStaticIps for details on how to use this API operation.
9759//
9760// The context must be non-nil and will be used for request cancellation. If
9761// the context is nil a panic will occur. In the future the SDK may create
9762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9763// for more information on using Contexts.
9764func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
9765	req, out := c.GetStaticIpsRequest(input)
9766	req.SetContext(ctx)
9767	req.ApplyOptions(opts...)
9768	return out, req.Send()
9769}
9770
9771const opImportKeyPair = "ImportKeyPair"
9772
9773// ImportKeyPairRequest generates a "aws/request.Request" representing the
9774// client's request for the ImportKeyPair operation. The "output" return
9775// value will be populated with the request's response once the request completes
9776// successfully.
9777//
9778// Use "Send" method on the returned Request to send the API call to the service.
9779// the "output" return value is not valid until after Send returns without error.
9780//
9781// See ImportKeyPair for more information on using the ImportKeyPair
9782// API call, and error handling.
9783//
9784// This method is useful when you want to inject custom logic or configuration
9785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9786//
9787//
9788//    // Example sending a request using the ImportKeyPairRequest method.
9789//    req, resp := client.ImportKeyPairRequest(params)
9790//
9791//    err := req.Send()
9792//    if err == nil { // resp is now filled
9793//        fmt.Println(resp)
9794//    }
9795//
9796// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
9797func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
9798	op := &request.Operation{
9799		Name:       opImportKeyPair,
9800		HTTPMethod: "POST",
9801		HTTPPath:   "/",
9802	}
9803
9804	if input == nil {
9805		input = &ImportKeyPairInput{}
9806	}
9807
9808	output = &ImportKeyPairOutput{}
9809	req = c.newRequest(op, input, output)
9810	return
9811}
9812
9813// ImportKeyPair API operation for Amazon Lightsail.
9814//
9815// Imports a public SSH key from a specific key pair.
9816//
9817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9818// with awserr.Error's Code and Message methods to get detailed information about
9819// the error.
9820//
9821// See the AWS API reference guide for Amazon Lightsail's
9822// API operation ImportKeyPair for usage and error information.
9823//
9824// Returned Error Types:
9825//   * ServiceException
9826//   A general service exception.
9827//
9828//   * InvalidInputException
9829//   Lightsail throws this exception when user input does not conform to the validation
9830//   rules of an input field.
9831//
9832//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9833//   Please set your AWS Region configuration to us-east-1 to create, view, or
9834//   edit these resources.
9835//
9836//   * NotFoundException
9837//   Lightsail throws this exception when it cannot find a resource.
9838//
9839//   * OperationFailureException
9840//   Lightsail throws this exception when an operation fails to execute.
9841//
9842//   * AccessDeniedException
9843//   Lightsail throws this exception when the user cannot be authenticated or
9844//   uses invalid credentials to access a resource.
9845//
9846//   * AccountSetupInProgressException
9847//   Lightsail throws this exception when an account is still in the setup in
9848//   progress state.
9849//
9850//   * UnauthenticatedException
9851//   Lightsail throws this exception when the user has not been authenticated.
9852//
9853// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
9854func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
9855	req, out := c.ImportKeyPairRequest(input)
9856	return out, req.Send()
9857}
9858
9859// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
9860// the ability to pass a context and additional request options.
9861//
9862// See ImportKeyPair for details on how to use this API operation.
9863//
9864// The context must be non-nil and will be used for request cancellation. If
9865// the context is nil a panic will occur. In the future the SDK may create
9866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9867// for more information on using Contexts.
9868func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
9869	req, out := c.ImportKeyPairRequest(input)
9870	req.SetContext(ctx)
9871	req.ApplyOptions(opts...)
9872	return out, req.Send()
9873}
9874
9875const opIsVpcPeered = "IsVpcPeered"
9876
9877// IsVpcPeeredRequest generates a "aws/request.Request" representing the
9878// client's request for the IsVpcPeered operation. The "output" return
9879// value will be populated with the request's response once the request completes
9880// successfully.
9881//
9882// Use "Send" method on the returned Request to send the API call to the service.
9883// the "output" return value is not valid until after Send returns without error.
9884//
9885// See IsVpcPeered for more information on using the IsVpcPeered
9886// API call, and error handling.
9887//
9888// This method is useful when you want to inject custom logic or configuration
9889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9890//
9891//
9892//    // Example sending a request using the IsVpcPeeredRequest method.
9893//    req, resp := client.IsVpcPeeredRequest(params)
9894//
9895//    err := req.Send()
9896//    if err == nil { // resp is now filled
9897//        fmt.Println(resp)
9898//    }
9899//
9900// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
9901func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
9902	op := &request.Operation{
9903		Name:       opIsVpcPeered,
9904		HTTPMethod: "POST",
9905		HTTPPath:   "/",
9906	}
9907
9908	if input == nil {
9909		input = &IsVpcPeeredInput{}
9910	}
9911
9912	output = &IsVpcPeeredOutput{}
9913	req = c.newRequest(op, input, output)
9914	return
9915}
9916
9917// IsVpcPeered API operation for Amazon Lightsail.
9918//
9919// Returns a Boolean value indicating whether your Lightsail VPC is peered.
9920//
9921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9922// with awserr.Error's Code and Message methods to get detailed information about
9923// the error.
9924//
9925// See the AWS API reference guide for Amazon Lightsail's
9926// API operation IsVpcPeered for usage and error information.
9927//
9928// Returned Error Types:
9929//   * ServiceException
9930//   A general service exception.
9931//
9932//   * InvalidInputException
9933//   Lightsail throws this exception when user input does not conform to the validation
9934//   rules of an input field.
9935//
9936//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9937//   Please set your AWS Region configuration to us-east-1 to create, view, or
9938//   edit these resources.
9939//
9940//   * NotFoundException
9941//   Lightsail throws this exception when it cannot find a resource.
9942//
9943//   * OperationFailureException
9944//   Lightsail throws this exception when an operation fails to execute.
9945//
9946//   * AccessDeniedException
9947//   Lightsail throws this exception when the user cannot be authenticated or
9948//   uses invalid credentials to access a resource.
9949//
9950//   * AccountSetupInProgressException
9951//   Lightsail throws this exception when an account is still in the setup in
9952//   progress state.
9953//
9954//   * UnauthenticatedException
9955//   Lightsail throws this exception when the user has not been authenticated.
9956//
9957// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
9958func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
9959	req, out := c.IsVpcPeeredRequest(input)
9960	return out, req.Send()
9961}
9962
9963// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
9964// the ability to pass a context and additional request options.
9965//
9966// See IsVpcPeered for details on how to use this API operation.
9967//
9968// The context must be non-nil and will be used for request cancellation. If
9969// the context is nil a panic will occur. In the future the SDK may create
9970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9971// for more information on using Contexts.
9972func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
9973	req, out := c.IsVpcPeeredRequest(input)
9974	req.SetContext(ctx)
9975	req.ApplyOptions(opts...)
9976	return out, req.Send()
9977}
9978
9979const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
9980
9981// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
9982// client's request for the OpenInstancePublicPorts operation. The "output" return
9983// value will be populated with the request's response once the request completes
9984// successfully.
9985//
9986// Use "Send" method on the returned Request to send the API call to the service.
9987// the "output" return value is not valid until after Send returns without error.
9988//
9989// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
9990// API call, and error handling.
9991//
9992// This method is useful when you want to inject custom logic or configuration
9993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9994//
9995//
9996//    // Example sending a request using the OpenInstancePublicPortsRequest method.
9997//    req, resp := client.OpenInstancePublicPortsRequest(params)
9998//
9999//    err := req.Send()
10000//    if err == nil { // resp is now filled
10001//        fmt.Println(resp)
10002//    }
10003//
10004// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
10005func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
10006	op := &request.Operation{
10007		Name:       opOpenInstancePublicPorts,
10008		HTTPMethod: "POST",
10009		HTTPPath:   "/",
10010	}
10011
10012	if input == nil {
10013		input = &OpenInstancePublicPortsInput{}
10014	}
10015
10016	output = &OpenInstancePublicPortsOutput{}
10017	req = c.newRequest(op, input, output)
10018	return
10019}
10020
10021// OpenInstancePublicPorts API operation for Amazon Lightsail.
10022//
10023// Adds public ports to an Amazon Lightsail instance.
10024//
10025// The open instance public ports operation supports tag-based access control
10026// via resource tags applied to the resource identified by instance name. For
10027// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10028//
10029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10030// with awserr.Error's Code and Message methods to get detailed information about
10031// the error.
10032//
10033// See the AWS API reference guide for Amazon Lightsail's
10034// API operation OpenInstancePublicPorts for usage and error information.
10035//
10036// Returned Error Types:
10037//   * ServiceException
10038//   A general service exception.
10039//
10040//   * InvalidInputException
10041//   Lightsail throws this exception when user input does not conform to the validation
10042//   rules of an input field.
10043//
10044//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10045//   Please set your AWS Region configuration to us-east-1 to create, view, or
10046//   edit these resources.
10047//
10048//   * NotFoundException
10049//   Lightsail throws this exception when it cannot find a resource.
10050//
10051//   * OperationFailureException
10052//   Lightsail throws this exception when an operation fails to execute.
10053//
10054//   * AccessDeniedException
10055//   Lightsail throws this exception when the user cannot be authenticated or
10056//   uses invalid credentials to access a resource.
10057//
10058//   * AccountSetupInProgressException
10059//   Lightsail throws this exception when an account is still in the setup in
10060//   progress state.
10061//
10062//   * UnauthenticatedException
10063//   Lightsail throws this exception when the user has not been authenticated.
10064//
10065// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
10066func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
10067	req, out := c.OpenInstancePublicPortsRequest(input)
10068	return out, req.Send()
10069}
10070
10071// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
10072// the ability to pass a context and additional request options.
10073//
10074// See OpenInstancePublicPorts for details on how to use this API operation.
10075//
10076// The context must be non-nil and will be used for request cancellation. If
10077// the context is nil a panic will occur. In the future the SDK may create
10078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10079// for more information on using Contexts.
10080func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
10081	req, out := c.OpenInstancePublicPortsRequest(input)
10082	req.SetContext(ctx)
10083	req.ApplyOptions(opts...)
10084	return out, req.Send()
10085}
10086
10087const opPeerVpc = "PeerVpc"
10088
10089// PeerVpcRequest generates a "aws/request.Request" representing the
10090// client's request for the PeerVpc operation. The "output" return
10091// value will be populated with the request's response once the request completes
10092// successfully.
10093//
10094// Use "Send" method on the returned Request to send the API call to the service.
10095// the "output" return value is not valid until after Send returns without error.
10096//
10097// See PeerVpc for more information on using the PeerVpc
10098// API call, and error handling.
10099//
10100// This method is useful when you want to inject custom logic or configuration
10101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10102//
10103//
10104//    // Example sending a request using the PeerVpcRequest method.
10105//    req, resp := client.PeerVpcRequest(params)
10106//
10107//    err := req.Send()
10108//    if err == nil { // resp is now filled
10109//        fmt.Println(resp)
10110//    }
10111//
10112// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
10113func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
10114	op := &request.Operation{
10115		Name:       opPeerVpc,
10116		HTTPMethod: "POST",
10117		HTTPPath:   "/",
10118	}
10119
10120	if input == nil {
10121		input = &PeerVpcInput{}
10122	}
10123
10124	output = &PeerVpcOutput{}
10125	req = c.newRequest(op, input, output)
10126	return
10127}
10128
10129// PeerVpc API operation for Amazon Lightsail.
10130//
10131// Tries to peer the Lightsail VPC with the user's default VPC.
10132//
10133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10134// with awserr.Error's Code and Message methods to get detailed information about
10135// the error.
10136//
10137// See the AWS API reference guide for Amazon Lightsail's
10138// API operation PeerVpc for usage and error information.
10139//
10140// Returned Error Types:
10141//   * ServiceException
10142//   A general service exception.
10143//
10144//   * InvalidInputException
10145//   Lightsail throws this exception when user input does not conform to the validation
10146//   rules of an input field.
10147//
10148//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10149//   Please set your AWS Region configuration to us-east-1 to create, view, or
10150//   edit these resources.
10151//
10152//   * NotFoundException
10153//   Lightsail throws this exception when it cannot find a resource.
10154//
10155//   * OperationFailureException
10156//   Lightsail throws this exception when an operation fails to execute.
10157//
10158//   * AccessDeniedException
10159//   Lightsail throws this exception when the user cannot be authenticated or
10160//   uses invalid credentials to access a resource.
10161//
10162//   * AccountSetupInProgressException
10163//   Lightsail throws this exception when an account is still in the setup in
10164//   progress state.
10165//
10166//   * UnauthenticatedException
10167//   Lightsail throws this exception when the user has not been authenticated.
10168//
10169// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
10170func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
10171	req, out := c.PeerVpcRequest(input)
10172	return out, req.Send()
10173}
10174
10175// PeerVpcWithContext is the same as PeerVpc with the addition of
10176// the ability to pass a context and additional request options.
10177//
10178// See PeerVpc for details on how to use this API operation.
10179//
10180// The context must be non-nil and will be used for request cancellation. If
10181// the context is nil a panic will occur. In the future the SDK may create
10182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10183// for more information on using Contexts.
10184func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
10185	req, out := c.PeerVpcRequest(input)
10186	req.SetContext(ctx)
10187	req.ApplyOptions(opts...)
10188	return out, req.Send()
10189}
10190
10191const opPutAlarm = "PutAlarm"
10192
10193// PutAlarmRequest generates a "aws/request.Request" representing the
10194// client's request for the PutAlarm operation. The "output" return
10195// value will be populated with the request's response once the request completes
10196// successfully.
10197//
10198// Use "Send" method on the returned Request to send the API call to the service.
10199// the "output" return value is not valid until after Send returns without error.
10200//
10201// See PutAlarm for more information on using the PutAlarm
10202// API call, and error handling.
10203//
10204// This method is useful when you want to inject custom logic or configuration
10205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10206//
10207//
10208//    // Example sending a request using the PutAlarmRequest method.
10209//    req, resp := client.PutAlarmRequest(params)
10210//
10211//    err := req.Send()
10212//    if err == nil { // resp is now filled
10213//        fmt.Println(resp)
10214//    }
10215//
10216// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
10217func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) {
10218	op := &request.Operation{
10219		Name:       opPutAlarm,
10220		HTTPMethod: "POST",
10221		HTTPPath:   "/",
10222	}
10223
10224	if input == nil {
10225		input = &PutAlarmInput{}
10226	}
10227
10228	output = &PutAlarmOutput{}
10229	req = c.newRequest(op, input, output)
10230	return
10231}
10232
10233// PutAlarm API operation for Amazon Lightsail.
10234//
10235// Creates or updates an alarm, and associates it with the specified metric.
10236//
10237// An alarm is used to monitor a single metric for one of your resources. When
10238// a metric condition is met, the alarm can notify you by email, SMS text message,
10239// and a banner displayed on the Amazon Lightsail console. For more information,
10240// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
10241//
10242// When this action creates an alarm, the alarm state is immediately set to
10243// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately.
10244// Any actions associated with the new state are then executed.
10245//
10246// When you update an existing alarm, its state is left unchanged, but the update
10247// completely overwrites the previous configuration of the alarm. The alarm
10248// is then evaluated with the updated configuration.
10249//
10250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10251// with awserr.Error's Code and Message methods to get detailed information about
10252// the error.
10253//
10254// See the AWS API reference guide for Amazon Lightsail's
10255// API operation PutAlarm for usage and error information.
10256//
10257// Returned Error Types:
10258//   * ServiceException
10259//   A general service exception.
10260//
10261//   * InvalidInputException
10262//   Lightsail throws this exception when user input does not conform to the validation
10263//   rules of an input field.
10264//
10265//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10266//   Please set your AWS Region configuration to us-east-1 to create, view, or
10267//   edit these resources.
10268//
10269//   * OperationFailureException
10270//   Lightsail throws this exception when an operation fails to execute.
10271//
10272//   * AccessDeniedException
10273//   Lightsail throws this exception when the user cannot be authenticated or
10274//   uses invalid credentials to access a resource.
10275//
10276//   * UnauthenticatedException
10277//   Lightsail throws this exception when the user has not been authenticated.
10278//
10279//   * NotFoundException
10280//   Lightsail throws this exception when it cannot find a resource.
10281//
10282// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
10283func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) {
10284	req, out := c.PutAlarmRequest(input)
10285	return out, req.Send()
10286}
10287
10288// PutAlarmWithContext is the same as PutAlarm with the addition of
10289// the ability to pass a context and additional request options.
10290//
10291// See PutAlarm for details on how to use this API operation.
10292//
10293// The context must be non-nil and will be used for request cancellation. If
10294// the context is nil a panic will occur. In the future the SDK may create
10295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10296// for more information on using Contexts.
10297func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) {
10298	req, out := c.PutAlarmRequest(input)
10299	req.SetContext(ctx)
10300	req.ApplyOptions(opts...)
10301	return out, req.Send()
10302}
10303
10304const opPutInstancePublicPorts = "PutInstancePublicPorts"
10305
10306// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
10307// client's request for the PutInstancePublicPorts operation. The "output" return
10308// value will be populated with the request's response once the request completes
10309// successfully.
10310//
10311// Use "Send" method on the returned Request to send the API call to the service.
10312// the "output" return value is not valid until after Send returns without error.
10313//
10314// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
10315// API call, and error handling.
10316//
10317// This method is useful when you want to inject custom logic or configuration
10318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10319//
10320//
10321//    // Example sending a request using the PutInstancePublicPortsRequest method.
10322//    req, resp := client.PutInstancePublicPortsRequest(params)
10323//
10324//    err := req.Send()
10325//    if err == nil { // resp is now filled
10326//        fmt.Println(resp)
10327//    }
10328//
10329// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
10330func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
10331	op := &request.Operation{
10332		Name:       opPutInstancePublicPorts,
10333		HTTPMethod: "POST",
10334		HTTPPath:   "/",
10335	}
10336
10337	if input == nil {
10338		input = &PutInstancePublicPortsInput{}
10339	}
10340
10341	output = &PutInstancePublicPortsOutput{}
10342	req = c.newRequest(op, input, output)
10343	return
10344}
10345
10346// PutInstancePublicPorts API operation for Amazon Lightsail.
10347//
10348// Sets the specified open ports for an Amazon Lightsail instance, and closes
10349// all ports for every protocol not included in the current request.
10350//
10351// The put instance public ports operation supports tag-based access control
10352// via resource tags applied to the resource identified by instance name. For
10353// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10354//
10355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10356// with awserr.Error's Code and Message methods to get detailed information about
10357// the error.
10358//
10359// See the AWS API reference guide for Amazon Lightsail's
10360// API operation PutInstancePublicPorts for usage and error information.
10361//
10362// Returned Error Types:
10363//   * ServiceException
10364//   A general service exception.
10365//
10366//   * InvalidInputException
10367//   Lightsail throws this exception when user input does not conform to the validation
10368//   rules of an input field.
10369//
10370//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10371//   Please set your AWS Region configuration to us-east-1 to create, view, or
10372//   edit these resources.
10373//
10374//   * NotFoundException
10375//   Lightsail throws this exception when it cannot find a resource.
10376//
10377//   * OperationFailureException
10378//   Lightsail throws this exception when an operation fails to execute.
10379//
10380//   * AccessDeniedException
10381//   Lightsail throws this exception when the user cannot be authenticated or
10382//   uses invalid credentials to access a resource.
10383//
10384//   * AccountSetupInProgressException
10385//   Lightsail throws this exception when an account is still in the setup in
10386//   progress state.
10387//
10388//   * UnauthenticatedException
10389//   Lightsail throws this exception when the user has not been authenticated.
10390//
10391// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
10392func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
10393	req, out := c.PutInstancePublicPortsRequest(input)
10394	return out, req.Send()
10395}
10396
10397// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
10398// the ability to pass a context and additional request options.
10399//
10400// See PutInstancePublicPorts for details on how to use this API operation.
10401//
10402// The context must be non-nil and will be used for request cancellation. If
10403// the context is nil a panic will occur. In the future the SDK may create
10404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10405// for more information on using Contexts.
10406func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
10407	req, out := c.PutInstancePublicPortsRequest(input)
10408	req.SetContext(ctx)
10409	req.ApplyOptions(opts...)
10410	return out, req.Send()
10411}
10412
10413const opRebootInstance = "RebootInstance"
10414
10415// RebootInstanceRequest generates a "aws/request.Request" representing the
10416// client's request for the RebootInstance operation. The "output" return
10417// value will be populated with the request's response once the request completes
10418// successfully.
10419//
10420// Use "Send" method on the returned Request to send the API call to the service.
10421// the "output" return value is not valid until after Send returns without error.
10422//
10423// See RebootInstance for more information on using the RebootInstance
10424// API call, and error handling.
10425//
10426// This method is useful when you want to inject custom logic or configuration
10427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10428//
10429//
10430//    // Example sending a request using the RebootInstanceRequest method.
10431//    req, resp := client.RebootInstanceRequest(params)
10432//
10433//    err := req.Send()
10434//    if err == nil { // resp is now filled
10435//        fmt.Println(resp)
10436//    }
10437//
10438// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
10439func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
10440	op := &request.Operation{
10441		Name:       opRebootInstance,
10442		HTTPMethod: "POST",
10443		HTTPPath:   "/",
10444	}
10445
10446	if input == nil {
10447		input = &RebootInstanceInput{}
10448	}
10449
10450	output = &RebootInstanceOutput{}
10451	req = c.newRequest(op, input, output)
10452	return
10453}
10454
10455// RebootInstance API operation for Amazon Lightsail.
10456//
10457// Restarts a specific instance.
10458//
10459// The reboot instance operation supports tag-based access control via resource
10460// tags applied to the resource identified by instance name. For more information,
10461// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10462//
10463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10464// with awserr.Error's Code and Message methods to get detailed information about
10465// the error.
10466//
10467// See the AWS API reference guide for Amazon Lightsail's
10468// API operation RebootInstance for usage and error information.
10469//
10470// Returned Error Types:
10471//   * ServiceException
10472//   A general service exception.
10473//
10474//   * InvalidInputException
10475//   Lightsail throws this exception when user input does not conform to the validation
10476//   rules of an input field.
10477//
10478//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10479//   Please set your AWS Region configuration to us-east-1 to create, view, or
10480//   edit these resources.
10481//
10482//   * NotFoundException
10483//   Lightsail throws this exception when it cannot find a resource.
10484//
10485//   * OperationFailureException
10486//   Lightsail throws this exception when an operation fails to execute.
10487//
10488//   * AccessDeniedException
10489//   Lightsail throws this exception when the user cannot be authenticated or
10490//   uses invalid credentials to access a resource.
10491//
10492//   * AccountSetupInProgressException
10493//   Lightsail throws this exception when an account is still in the setup in
10494//   progress state.
10495//
10496//   * UnauthenticatedException
10497//   Lightsail throws this exception when the user has not been authenticated.
10498//
10499// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
10500func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
10501	req, out := c.RebootInstanceRequest(input)
10502	return out, req.Send()
10503}
10504
10505// RebootInstanceWithContext is the same as RebootInstance with the addition of
10506// the ability to pass a context and additional request options.
10507//
10508// See RebootInstance for details on how to use this API operation.
10509//
10510// The context must be non-nil and will be used for request cancellation. If
10511// the context is nil a panic will occur. In the future the SDK may create
10512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10513// for more information on using Contexts.
10514func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
10515	req, out := c.RebootInstanceRequest(input)
10516	req.SetContext(ctx)
10517	req.ApplyOptions(opts...)
10518	return out, req.Send()
10519}
10520
10521const opRebootRelationalDatabase = "RebootRelationalDatabase"
10522
10523// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
10524// client's request for the RebootRelationalDatabase operation. The "output" return
10525// value will be populated with the request's response once the request completes
10526// successfully.
10527//
10528// Use "Send" method on the returned Request to send the API call to the service.
10529// the "output" return value is not valid until after Send returns without error.
10530//
10531// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
10532// API call, and error handling.
10533//
10534// This method is useful when you want to inject custom logic or configuration
10535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10536//
10537//
10538//    // Example sending a request using the RebootRelationalDatabaseRequest method.
10539//    req, resp := client.RebootRelationalDatabaseRequest(params)
10540//
10541//    err := req.Send()
10542//    if err == nil { // resp is now filled
10543//        fmt.Println(resp)
10544//    }
10545//
10546// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
10547func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
10548	op := &request.Operation{
10549		Name:       opRebootRelationalDatabase,
10550		HTTPMethod: "POST",
10551		HTTPPath:   "/",
10552	}
10553
10554	if input == nil {
10555		input = &RebootRelationalDatabaseInput{}
10556	}
10557
10558	output = &RebootRelationalDatabaseOutput{}
10559	req = c.newRequest(op, input, output)
10560	return
10561}
10562
10563// RebootRelationalDatabase API operation for Amazon Lightsail.
10564//
10565// Restarts a specific database in Amazon Lightsail.
10566//
10567// The reboot relational database operation supports tag-based access control
10568// via resource tags applied to the resource identified by relationalDatabaseName.
10569// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10570//
10571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10572// with awserr.Error's Code and Message methods to get detailed information about
10573// the error.
10574//
10575// See the AWS API reference guide for Amazon Lightsail's
10576// API operation RebootRelationalDatabase for usage and error information.
10577//
10578// Returned Error Types:
10579//   * ServiceException
10580//   A general service exception.
10581//
10582//   * InvalidInputException
10583//   Lightsail throws this exception when user input does not conform to the validation
10584//   rules of an input field.
10585//
10586//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10587//   Please set your AWS Region configuration to us-east-1 to create, view, or
10588//   edit these resources.
10589//
10590//   * NotFoundException
10591//   Lightsail throws this exception when it cannot find a resource.
10592//
10593//   * OperationFailureException
10594//   Lightsail throws this exception when an operation fails to execute.
10595//
10596//   * AccessDeniedException
10597//   Lightsail throws this exception when the user cannot be authenticated or
10598//   uses invalid credentials to access a resource.
10599//
10600//   * AccountSetupInProgressException
10601//   Lightsail throws this exception when an account is still in the setup in
10602//   progress state.
10603//
10604//   * UnauthenticatedException
10605//   Lightsail throws this exception when the user has not been authenticated.
10606//
10607// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
10608func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
10609	req, out := c.RebootRelationalDatabaseRequest(input)
10610	return out, req.Send()
10611}
10612
10613// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
10614// the ability to pass a context and additional request options.
10615//
10616// See RebootRelationalDatabase for details on how to use this API operation.
10617//
10618// The context must be non-nil and will be used for request cancellation. If
10619// the context is nil a panic will occur. In the future the SDK may create
10620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10621// for more information on using Contexts.
10622func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
10623	req, out := c.RebootRelationalDatabaseRequest(input)
10624	req.SetContext(ctx)
10625	req.ApplyOptions(opts...)
10626	return out, req.Send()
10627}
10628
10629const opReleaseStaticIp = "ReleaseStaticIp"
10630
10631// ReleaseStaticIpRequest generates a "aws/request.Request" representing the
10632// client's request for the ReleaseStaticIp operation. The "output" return
10633// value will be populated with the request's response once the request completes
10634// successfully.
10635//
10636// Use "Send" method on the returned Request to send the API call to the service.
10637// the "output" return value is not valid until after Send returns without error.
10638//
10639// See ReleaseStaticIp for more information on using the ReleaseStaticIp
10640// API call, and error handling.
10641//
10642// This method is useful when you want to inject custom logic or configuration
10643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10644//
10645//
10646//    // Example sending a request using the ReleaseStaticIpRequest method.
10647//    req, resp := client.ReleaseStaticIpRequest(params)
10648//
10649//    err := req.Send()
10650//    if err == nil { // resp is now filled
10651//        fmt.Println(resp)
10652//    }
10653//
10654// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
10655func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
10656	op := &request.Operation{
10657		Name:       opReleaseStaticIp,
10658		HTTPMethod: "POST",
10659		HTTPPath:   "/",
10660	}
10661
10662	if input == nil {
10663		input = &ReleaseStaticIpInput{}
10664	}
10665
10666	output = &ReleaseStaticIpOutput{}
10667	req = c.newRequest(op, input, output)
10668	return
10669}
10670
10671// ReleaseStaticIp API operation for Amazon Lightsail.
10672//
10673// Deletes a specific static IP from your account.
10674//
10675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10676// with awserr.Error's Code and Message methods to get detailed information about
10677// the error.
10678//
10679// See the AWS API reference guide for Amazon Lightsail's
10680// API operation ReleaseStaticIp for usage and error information.
10681//
10682// Returned Error Types:
10683//   * ServiceException
10684//   A general service exception.
10685//
10686//   * InvalidInputException
10687//   Lightsail throws this exception when user input does not conform to the validation
10688//   rules of an input field.
10689//
10690//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10691//   Please set your AWS Region configuration to us-east-1 to create, view, or
10692//   edit these resources.
10693//
10694//   * NotFoundException
10695//   Lightsail throws this exception when it cannot find a resource.
10696//
10697//   * OperationFailureException
10698//   Lightsail throws this exception when an operation fails to execute.
10699//
10700//   * AccessDeniedException
10701//   Lightsail throws this exception when the user cannot be authenticated or
10702//   uses invalid credentials to access a resource.
10703//
10704//   * AccountSetupInProgressException
10705//   Lightsail throws this exception when an account is still in the setup in
10706//   progress state.
10707//
10708//   * UnauthenticatedException
10709//   Lightsail throws this exception when the user has not been authenticated.
10710//
10711// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
10712func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
10713	req, out := c.ReleaseStaticIpRequest(input)
10714	return out, req.Send()
10715}
10716
10717// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
10718// the ability to pass a context and additional request options.
10719//
10720// See ReleaseStaticIp for details on how to use this API operation.
10721//
10722// The context must be non-nil and will be used for request cancellation. If
10723// the context is nil a panic will occur. In the future the SDK may create
10724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10725// for more information on using Contexts.
10726func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
10727	req, out := c.ReleaseStaticIpRequest(input)
10728	req.SetContext(ctx)
10729	req.ApplyOptions(opts...)
10730	return out, req.Send()
10731}
10732
10733const opSendContactMethodVerification = "SendContactMethodVerification"
10734
10735// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the
10736// client's request for the SendContactMethodVerification operation. The "output" return
10737// value will be populated with the request's response once the request completes
10738// successfully.
10739//
10740// Use "Send" method on the returned Request to send the API call to the service.
10741// the "output" return value is not valid until after Send returns without error.
10742//
10743// See SendContactMethodVerification for more information on using the SendContactMethodVerification
10744// API call, and error handling.
10745//
10746// This method is useful when you want to inject custom logic or configuration
10747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10748//
10749//
10750//    // Example sending a request using the SendContactMethodVerificationRequest method.
10751//    req, resp := client.SendContactMethodVerificationRequest(params)
10752//
10753//    err := req.Send()
10754//    if err == nil { // resp is now filled
10755//        fmt.Println(resp)
10756//    }
10757//
10758// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
10759func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) {
10760	op := &request.Operation{
10761		Name:       opSendContactMethodVerification,
10762		HTTPMethod: "POST",
10763		HTTPPath:   "/",
10764	}
10765
10766	if input == nil {
10767		input = &SendContactMethodVerificationInput{}
10768	}
10769
10770	output = &SendContactMethodVerificationOutput{}
10771	req = c.newRequest(op, input, output)
10772	return
10773}
10774
10775// SendContactMethodVerification API operation for Amazon Lightsail.
10776//
10777// Sends a verification request to an email contact method to ensure it’s
10778// owned by the requester. SMS contact methods don’t need to be verified.
10779//
10780// A contact method is used to send you notifications about your Amazon Lightsail
10781// resources. You can add one email address and one mobile phone number contact
10782// method in each AWS Region. However, SMS text messaging is not supported in
10783// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
10784// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
10785//
10786// A verification request is sent to the contact method when you initially create
10787// it. Use this action to send another verification request if a previous verification
10788// request was deleted, or has expired.
10789//
10790// Notifications are not sent to an email contact method until after it is verified,
10791// and confirmed as valid.
10792//
10793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10794// with awserr.Error's Code and Message methods to get detailed information about
10795// the error.
10796//
10797// See the AWS API reference guide for Amazon Lightsail's
10798// API operation SendContactMethodVerification for usage and error information.
10799//
10800// Returned Error Types:
10801//   * ServiceException
10802//   A general service exception.
10803//
10804//   * InvalidInputException
10805//   Lightsail throws this exception when user input does not conform to the validation
10806//   rules of an input field.
10807//
10808//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10809//   Please set your AWS Region configuration to us-east-1 to create, view, or
10810//   edit these resources.
10811//
10812//   * OperationFailureException
10813//   Lightsail throws this exception when an operation fails to execute.
10814//
10815//   * UnauthenticatedException
10816//   Lightsail throws this exception when the user has not been authenticated.
10817//
10818//   * AccessDeniedException
10819//   Lightsail throws this exception when the user cannot be authenticated or
10820//   uses invalid credentials to access a resource.
10821//
10822//   * NotFoundException
10823//   Lightsail throws this exception when it cannot find a resource.
10824//
10825// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
10826func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) {
10827	req, out := c.SendContactMethodVerificationRequest(input)
10828	return out, req.Send()
10829}
10830
10831// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of
10832// the ability to pass a context and additional request options.
10833//
10834// See SendContactMethodVerification for details on how to use this API operation.
10835//
10836// The context must be non-nil and will be used for request cancellation. If
10837// the context is nil a panic will occur. In the future the SDK may create
10838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10839// for more information on using Contexts.
10840func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) {
10841	req, out := c.SendContactMethodVerificationRequest(input)
10842	req.SetContext(ctx)
10843	req.ApplyOptions(opts...)
10844	return out, req.Send()
10845}
10846
10847const opStartInstance = "StartInstance"
10848
10849// StartInstanceRequest generates a "aws/request.Request" representing the
10850// client's request for the StartInstance operation. The "output" return
10851// value will be populated with the request's response once the request completes
10852// successfully.
10853//
10854// Use "Send" method on the returned Request to send the API call to the service.
10855// the "output" return value is not valid until after Send returns without error.
10856//
10857// See StartInstance for more information on using the StartInstance
10858// API call, and error handling.
10859//
10860// This method is useful when you want to inject custom logic or configuration
10861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10862//
10863//
10864//    // Example sending a request using the StartInstanceRequest method.
10865//    req, resp := client.StartInstanceRequest(params)
10866//
10867//    err := req.Send()
10868//    if err == nil { // resp is now filled
10869//        fmt.Println(resp)
10870//    }
10871//
10872// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
10873func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
10874	op := &request.Operation{
10875		Name:       opStartInstance,
10876		HTTPMethod: "POST",
10877		HTTPPath:   "/",
10878	}
10879
10880	if input == nil {
10881		input = &StartInstanceInput{}
10882	}
10883
10884	output = &StartInstanceOutput{}
10885	req = c.newRequest(op, input, output)
10886	return
10887}
10888
10889// StartInstance API operation for Amazon Lightsail.
10890//
10891// Starts a specific Amazon Lightsail instance from a stopped state. To restart
10892// an instance, use the reboot instance operation.
10893//
10894// When you start a stopped instance, Lightsail assigns a new public IP address
10895// to the instance. To use the same IP address after stopping and starting an
10896// instance, create a static IP address and attach it to the instance. For more
10897// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
10898//
10899// The start instance operation supports tag-based access control via resource
10900// tags applied to the resource identified by instance name. For more information,
10901// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10902//
10903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10904// with awserr.Error's Code and Message methods to get detailed information about
10905// the error.
10906//
10907// See the AWS API reference guide for Amazon Lightsail's
10908// API operation StartInstance for usage and error information.
10909//
10910// Returned Error Types:
10911//   * ServiceException
10912//   A general service exception.
10913//
10914//   * InvalidInputException
10915//   Lightsail throws this exception when user input does not conform to the validation
10916//   rules of an input field.
10917//
10918//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10919//   Please set your AWS Region configuration to us-east-1 to create, view, or
10920//   edit these resources.
10921//
10922//   * NotFoundException
10923//   Lightsail throws this exception when it cannot find a resource.
10924//
10925//   * OperationFailureException
10926//   Lightsail throws this exception when an operation fails to execute.
10927//
10928//   * AccessDeniedException
10929//   Lightsail throws this exception when the user cannot be authenticated or
10930//   uses invalid credentials to access a resource.
10931//
10932//   * AccountSetupInProgressException
10933//   Lightsail throws this exception when an account is still in the setup in
10934//   progress state.
10935//
10936//   * UnauthenticatedException
10937//   Lightsail throws this exception when the user has not been authenticated.
10938//
10939// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
10940func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
10941	req, out := c.StartInstanceRequest(input)
10942	return out, req.Send()
10943}
10944
10945// StartInstanceWithContext is the same as StartInstance with the addition of
10946// the ability to pass a context and additional request options.
10947//
10948// See StartInstance for details on how to use this API operation.
10949//
10950// The context must be non-nil and will be used for request cancellation. If
10951// the context is nil a panic will occur. In the future the SDK may create
10952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10953// for more information on using Contexts.
10954func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
10955	req, out := c.StartInstanceRequest(input)
10956	req.SetContext(ctx)
10957	req.ApplyOptions(opts...)
10958	return out, req.Send()
10959}
10960
10961const opStartRelationalDatabase = "StartRelationalDatabase"
10962
10963// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
10964// client's request for the StartRelationalDatabase operation. The "output" return
10965// value will be populated with the request's response once the request completes
10966// successfully.
10967//
10968// Use "Send" method on the returned Request to send the API call to the service.
10969// the "output" return value is not valid until after Send returns without error.
10970//
10971// See StartRelationalDatabase for more information on using the StartRelationalDatabase
10972// API call, and error handling.
10973//
10974// This method is useful when you want to inject custom logic or configuration
10975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10976//
10977//
10978//    // Example sending a request using the StartRelationalDatabaseRequest method.
10979//    req, resp := client.StartRelationalDatabaseRequest(params)
10980//
10981//    err := req.Send()
10982//    if err == nil { // resp is now filled
10983//        fmt.Println(resp)
10984//    }
10985//
10986// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
10987func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
10988	op := &request.Operation{
10989		Name:       opStartRelationalDatabase,
10990		HTTPMethod: "POST",
10991		HTTPPath:   "/",
10992	}
10993
10994	if input == nil {
10995		input = &StartRelationalDatabaseInput{}
10996	}
10997
10998	output = &StartRelationalDatabaseOutput{}
10999	req = c.newRequest(op, input, output)
11000	return
11001}
11002
11003// StartRelationalDatabase API operation for Amazon Lightsail.
11004//
11005// Starts a specific database from a stopped state in Amazon Lightsail. To restart
11006// a database, use the reboot relational database operation.
11007//
11008// The start relational database operation supports tag-based access control
11009// via resource tags applied to the resource identified by relationalDatabaseName.
11010// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11011//
11012// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11013// with awserr.Error's Code and Message methods to get detailed information about
11014// the error.
11015//
11016// See the AWS API reference guide for Amazon Lightsail's
11017// API operation StartRelationalDatabase for usage and error information.
11018//
11019// Returned Error Types:
11020//   * ServiceException
11021//   A general service exception.
11022//
11023//   * InvalidInputException
11024//   Lightsail throws this exception when user input does not conform to the validation
11025//   rules of an input field.
11026//
11027//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11028//   Please set your AWS Region configuration to us-east-1 to create, view, or
11029//   edit these resources.
11030//
11031//   * NotFoundException
11032//   Lightsail throws this exception when it cannot find a resource.
11033//
11034//   * OperationFailureException
11035//   Lightsail throws this exception when an operation fails to execute.
11036//
11037//   * AccessDeniedException
11038//   Lightsail throws this exception when the user cannot be authenticated or
11039//   uses invalid credentials to access a resource.
11040//
11041//   * AccountSetupInProgressException
11042//   Lightsail throws this exception when an account is still in the setup in
11043//   progress state.
11044//
11045//   * UnauthenticatedException
11046//   Lightsail throws this exception when the user has not been authenticated.
11047//
11048// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
11049func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
11050	req, out := c.StartRelationalDatabaseRequest(input)
11051	return out, req.Send()
11052}
11053
11054// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
11055// the ability to pass a context and additional request options.
11056//
11057// See StartRelationalDatabase for details on how to use this API operation.
11058//
11059// The context must be non-nil and will be used for request cancellation. If
11060// the context is nil a panic will occur. In the future the SDK may create
11061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11062// for more information on using Contexts.
11063func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
11064	req, out := c.StartRelationalDatabaseRequest(input)
11065	req.SetContext(ctx)
11066	req.ApplyOptions(opts...)
11067	return out, req.Send()
11068}
11069
11070const opStopInstance = "StopInstance"
11071
11072// StopInstanceRequest generates a "aws/request.Request" representing the
11073// client's request for the StopInstance operation. The "output" return
11074// value will be populated with the request's response once the request completes
11075// successfully.
11076//
11077// Use "Send" method on the returned Request to send the API call to the service.
11078// the "output" return value is not valid until after Send returns without error.
11079//
11080// See StopInstance for more information on using the StopInstance
11081// API call, and error handling.
11082//
11083// This method is useful when you want to inject custom logic or configuration
11084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11085//
11086//
11087//    // Example sending a request using the StopInstanceRequest method.
11088//    req, resp := client.StopInstanceRequest(params)
11089//
11090//    err := req.Send()
11091//    if err == nil { // resp is now filled
11092//        fmt.Println(resp)
11093//    }
11094//
11095// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
11096func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
11097	op := &request.Operation{
11098		Name:       opStopInstance,
11099		HTTPMethod: "POST",
11100		HTTPPath:   "/",
11101	}
11102
11103	if input == nil {
11104		input = &StopInstanceInput{}
11105	}
11106
11107	output = &StopInstanceOutput{}
11108	req = c.newRequest(op, input, output)
11109	return
11110}
11111
11112// StopInstance API operation for Amazon Lightsail.
11113//
11114// Stops a specific Amazon Lightsail instance that is currently running.
11115//
11116// When you start a stopped instance, Lightsail assigns a new public IP address
11117// to the instance. To use the same IP address after stopping and starting an
11118// instance, create a static IP address and attach it to the instance. For more
11119// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
11120//
11121// The stop instance operation supports tag-based access control via resource
11122// tags applied to the resource identified by instance name. For more information,
11123// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11124//
11125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11126// with awserr.Error's Code and Message methods to get detailed information about
11127// the error.
11128//
11129// See the AWS API reference guide for Amazon Lightsail's
11130// API operation StopInstance for usage and error information.
11131//
11132// Returned Error Types:
11133//   * ServiceException
11134//   A general service exception.
11135//
11136//   * InvalidInputException
11137//   Lightsail throws this exception when user input does not conform to the validation
11138//   rules of an input field.
11139//
11140//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11141//   Please set your AWS Region configuration to us-east-1 to create, view, or
11142//   edit these resources.
11143//
11144//   * NotFoundException
11145//   Lightsail throws this exception when it cannot find a resource.
11146//
11147//   * OperationFailureException
11148//   Lightsail throws this exception when an operation fails to execute.
11149//
11150//   * AccessDeniedException
11151//   Lightsail throws this exception when the user cannot be authenticated or
11152//   uses invalid credentials to access a resource.
11153//
11154//   * AccountSetupInProgressException
11155//   Lightsail throws this exception when an account is still in the setup in
11156//   progress state.
11157//
11158//   * UnauthenticatedException
11159//   Lightsail throws this exception when the user has not been authenticated.
11160//
11161// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
11162func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
11163	req, out := c.StopInstanceRequest(input)
11164	return out, req.Send()
11165}
11166
11167// StopInstanceWithContext is the same as StopInstance with the addition of
11168// the ability to pass a context and additional request options.
11169//
11170// See StopInstance for details on how to use this API operation.
11171//
11172// The context must be non-nil and will be used for request cancellation. If
11173// the context is nil a panic will occur. In the future the SDK may create
11174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11175// for more information on using Contexts.
11176func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
11177	req, out := c.StopInstanceRequest(input)
11178	req.SetContext(ctx)
11179	req.ApplyOptions(opts...)
11180	return out, req.Send()
11181}
11182
11183const opStopRelationalDatabase = "StopRelationalDatabase"
11184
11185// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
11186// client's request for the StopRelationalDatabase operation. The "output" return
11187// value will be populated with the request's response once the request completes
11188// successfully.
11189//
11190// Use "Send" method on the returned Request to send the API call to the service.
11191// the "output" return value is not valid until after Send returns without error.
11192//
11193// See StopRelationalDatabase for more information on using the StopRelationalDatabase
11194// API call, and error handling.
11195//
11196// This method is useful when you want to inject custom logic or configuration
11197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11198//
11199//
11200//    // Example sending a request using the StopRelationalDatabaseRequest method.
11201//    req, resp := client.StopRelationalDatabaseRequest(params)
11202//
11203//    err := req.Send()
11204//    if err == nil { // resp is now filled
11205//        fmt.Println(resp)
11206//    }
11207//
11208// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
11209func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
11210	op := &request.Operation{
11211		Name:       opStopRelationalDatabase,
11212		HTTPMethod: "POST",
11213		HTTPPath:   "/",
11214	}
11215
11216	if input == nil {
11217		input = &StopRelationalDatabaseInput{}
11218	}
11219
11220	output = &StopRelationalDatabaseOutput{}
11221	req = c.newRequest(op, input, output)
11222	return
11223}
11224
11225// StopRelationalDatabase API operation for Amazon Lightsail.
11226//
11227// Stops a specific database that is currently running in Amazon Lightsail.
11228//
11229// The stop relational database operation supports tag-based access control
11230// via resource tags applied to the resource identified by relationalDatabaseName.
11231// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11232//
11233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11234// with awserr.Error's Code and Message methods to get detailed information about
11235// the error.
11236//
11237// See the AWS API reference guide for Amazon Lightsail's
11238// API operation StopRelationalDatabase for usage and error information.
11239//
11240// Returned Error Types:
11241//   * ServiceException
11242//   A general service exception.
11243//
11244//   * InvalidInputException
11245//   Lightsail throws this exception when user input does not conform to the validation
11246//   rules of an input field.
11247//
11248//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11249//   Please set your AWS Region configuration to us-east-1 to create, view, or
11250//   edit these resources.
11251//
11252//   * NotFoundException
11253//   Lightsail throws this exception when it cannot find a resource.
11254//
11255//   * OperationFailureException
11256//   Lightsail throws this exception when an operation fails to execute.
11257//
11258//   * AccessDeniedException
11259//   Lightsail throws this exception when the user cannot be authenticated or
11260//   uses invalid credentials to access a resource.
11261//
11262//   * AccountSetupInProgressException
11263//   Lightsail throws this exception when an account is still in the setup in
11264//   progress state.
11265//
11266//   * UnauthenticatedException
11267//   Lightsail throws this exception when the user has not been authenticated.
11268//
11269// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
11270func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
11271	req, out := c.StopRelationalDatabaseRequest(input)
11272	return out, req.Send()
11273}
11274
11275// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
11276// the ability to pass a context and additional request options.
11277//
11278// See StopRelationalDatabase for details on how to use this API operation.
11279//
11280// The context must be non-nil and will be used for request cancellation. If
11281// the context is nil a panic will occur. In the future the SDK may create
11282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11283// for more information on using Contexts.
11284func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
11285	req, out := c.StopRelationalDatabaseRequest(input)
11286	req.SetContext(ctx)
11287	req.ApplyOptions(opts...)
11288	return out, req.Send()
11289}
11290
11291const opTagResource = "TagResource"
11292
11293// TagResourceRequest generates a "aws/request.Request" representing the
11294// client's request for the TagResource operation. The "output" return
11295// value will be populated with the request's response once the request completes
11296// successfully.
11297//
11298// Use "Send" method on the returned Request to send the API call to the service.
11299// the "output" return value is not valid until after Send returns without error.
11300//
11301// See TagResource for more information on using the TagResource
11302// API call, and error handling.
11303//
11304// This method is useful when you want to inject custom logic or configuration
11305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11306//
11307//
11308//    // Example sending a request using the TagResourceRequest method.
11309//    req, resp := client.TagResourceRequest(params)
11310//
11311//    err := req.Send()
11312//    if err == nil { // resp is now filled
11313//        fmt.Println(resp)
11314//    }
11315//
11316// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
11317func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
11318	op := &request.Operation{
11319		Name:       opTagResource,
11320		HTTPMethod: "POST",
11321		HTTPPath:   "/",
11322	}
11323
11324	if input == nil {
11325		input = &TagResourceInput{}
11326	}
11327
11328	output = &TagResourceOutput{}
11329	req = c.newRequest(op, input, output)
11330	return
11331}
11332
11333// TagResource API operation for Amazon Lightsail.
11334//
11335// Adds one or more tags to the specified Amazon Lightsail resource. Each resource
11336// can have a maximum of 50 tags. Each tag consists of a key and an optional
11337// value. Tag keys must be unique per resource. For more information about tags,
11338// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
11339//
11340// The tag resource operation supports tag-based access control via request
11341// tags and resource tags applied to the resource identified by resource name.
11342// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11343//
11344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11345// with awserr.Error's Code and Message methods to get detailed information about
11346// the error.
11347//
11348// See the AWS API reference guide for Amazon Lightsail's
11349// API operation TagResource for usage and error information.
11350//
11351// Returned Error Types:
11352//   * ServiceException
11353//   A general service exception.
11354//
11355//   * InvalidInputException
11356//   Lightsail throws this exception when user input does not conform to the validation
11357//   rules of an input field.
11358//
11359//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11360//   Please set your AWS Region configuration to us-east-1 to create, view, or
11361//   edit these resources.
11362//
11363//   * NotFoundException
11364//   Lightsail throws this exception when it cannot find a resource.
11365//
11366//   * OperationFailureException
11367//   Lightsail throws this exception when an operation fails to execute.
11368//
11369//   * AccessDeniedException
11370//   Lightsail throws this exception when the user cannot be authenticated or
11371//   uses invalid credentials to access a resource.
11372//
11373//   * AccountSetupInProgressException
11374//   Lightsail throws this exception when an account is still in the setup in
11375//   progress state.
11376//
11377//   * UnauthenticatedException
11378//   Lightsail throws this exception when the user has not been authenticated.
11379//
11380// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
11381func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
11382	req, out := c.TagResourceRequest(input)
11383	return out, req.Send()
11384}
11385
11386// TagResourceWithContext is the same as TagResource with the addition of
11387// the ability to pass a context and additional request options.
11388//
11389// See TagResource for details on how to use this API operation.
11390//
11391// The context must be non-nil and will be used for request cancellation. If
11392// the context is nil a panic will occur. In the future the SDK may create
11393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11394// for more information on using Contexts.
11395func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
11396	req, out := c.TagResourceRequest(input)
11397	req.SetContext(ctx)
11398	req.ApplyOptions(opts...)
11399	return out, req.Send()
11400}
11401
11402const opTestAlarm = "TestAlarm"
11403
11404// TestAlarmRequest generates a "aws/request.Request" representing the
11405// client's request for the TestAlarm operation. The "output" return
11406// value will be populated with the request's response once the request completes
11407// successfully.
11408//
11409// Use "Send" method on the returned Request to send the API call to the service.
11410// the "output" return value is not valid until after Send returns without error.
11411//
11412// See TestAlarm for more information on using the TestAlarm
11413// API call, and error handling.
11414//
11415// This method is useful when you want to inject custom logic or configuration
11416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11417//
11418//
11419//    // Example sending a request using the TestAlarmRequest method.
11420//    req, resp := client.TestAlarmRequest(params)
11421//
11422//    err := req.Send()
11423//    if err == nil { // resp is now filled
11424//        fmt.Println(resp)
11425//    }
11426//
11427// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
11428func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) {
11429	op := &request.Operation{
11430		Name:       opTestAlarm,
11431		HTTPMethod: "POST",
11432		HTTPPath:   "/",
11433	}
11434
11435	if input == nil {
11436		input = &TestAlarmInput{}
11437	}
11438
11439	output = &TestAlarmOutput{}
11440	req = c.newRequest(op, input, output)
11441	return
11442}
11443
11444// TestAlarm API operation for Amazon Lightsail.
11445//
11446// Tests an alarm by displaying a banner on the Amazon Lightsail console. If
11447// a notification trigger is configured for the specified alarm, the test also
11448// sends a notification to the notification protocol (Email and/or SMS) configured
11449// for the alarm.
11450//
11451// An alarm is used to monitor a single metric for one of your resources. When
11452// a metric condition is met, the alarm can notify you by email, SMS text message,
11453// and a banner displayed on the Amazon Lightsail console. For more information,
11454// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
11455//
11456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11457// with awserr.Error's Code and Message methods to get detailed information about
11458// the error.
11459//
11460// See the AWS API reference guide for Amazon Lightsail's
11461// API operation TestAlarm for usage and error information.
11462//
11463// Returned Error Types:
11464//   * ServiceException
11465//   A general service exception.
11466//
11467//   * InvalidInputException
11468//   Lightsail throws this exception when user input does not conform to the validation
11469//   rules of an input field.
11470//
11471//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11472//   Please set your AWS Region configuration to us-east-1 to create, view, or
11473//   edit these resources.
11474//
11475//   * OperationFailureException
11476//   Lightsail throws this exception when an operation fails to execute.
11477//
11478//   * UnauthenticatedException
11479//   Lightsail throws this exception when the user has not been authenticated.
11480//
11481//   * AccessDeniedException
11482//   Lightsail throws this exception when the user cannot be authenticated or
11483//   uses invalid credentials to access a resource.
11484//
11485//   * NotFoundException
11486//   Lightsail throws this exception when it cannot find a resource.
11487//
11488// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
11489func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) {
11490	req, out := c.TestAlarmRequest(input)
11491	return out, req.Send()
11492}
11493
11494// TestAlarmWithContext is the same as TestAlarm with the addition of
11495// the ability to pass a context and additional request options.
11496//
11497// See TestAlarm for details on how to use this API operation.
11498//
11499// The context must be non-nil and will be used for request cancellation. If
11500// the context is nil a panic will occur. In the future the SDK may create
11501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11502// for more information on using Contexts.
11503func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) {
11504	req, out := c.TestAlarmRequest(input)
11505	req.SetContext(ctx)
11506	req.ApplyOptions(opts...)
11507	return out, req.Send()
11508}
11509
11510const opUnpeerVpc = "UnpeerVpc"
11511
11512// UnpeerVpcRequest generates a "aws/request.Request" representing the
11513// client's request for the UnpeerVpc operation. The "output" return
11514// value will be populated with the request's response once the request completes
11515// successfully.
11516//
11517// Use "Send" method on the returned Request to send the API call to the service.
11518// the "output" return value is not valid until after Send returns without error.
11519//
11520// See UnpeerVpc for more information on using the UnpeerVpc
11521// API call, and error handling.
11522//
11523// This method is useful when you want to inject custom logic or configuration
11524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11525//
11526//
11527//    // Example sending a request using the UnpeerVpcRequest method.
11528//    req, resp := client.UnpeerVpcRequest(params)
11529//
11530//    err := req.Send()
11531//    if err == nil { // resp is now filled
11532//        fmt.Println(resp)
11533//    }
11534//
11535// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
11536func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
11537	op := &request.Operation{
11538		Name:       opUnpeerVpc,
11539		HTTPMethod: "POST",
11540		HTTPPath:   "/",
11541	}
11542
11543	if input == nil {
11544		input = &UnpeerVpcInput{}
11545	}
11546
11547	output = &UnpeerVpcOutput{}
11548	req = c.newRequest(op, input, output)
11549	return
11550}
11551
11552// UnpeerVpc API operation for Amazon Lightsail.
11553//
11554// Attempts to unpeer the Lightsail VPC from the user's default VPC.
11555//
11556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11557// with awserr.Error's Code and Message methods to get detailed information about
11558// the error.
11559//
11560// See the AWS API reference guide for Amazon Lightsail's
11561// API operation UnpeerVpc for usage and error information.
11562//
11563// Returned Error Types:
11564//   * ServiceException
11565//   A general service exception.
11566//
11567//   * InvalidInputException
11568//   Lightsail throws this exception when user input does not conform to the validation
11569//   rules of an input field.
11570//
11571//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11572//   Please set your AWS Region configuration to us-east-1 to create, view, or
11573//   edit these resources.
11574//
11575//   * NotFoundException
11576//   Lightsail throws this exception when it cannot find a resource.
11577//
11578//   * OperationFailureException
11579//   Lightsail throws this exception when an operation fails to execute.
11580//
11581//   * AccessDeniedException
11582//   Lightsail throws this exception when the user cannot be authenticated or
11583//   uses invalid credentials to access a resource.
11584//
11585//   * AccountSetupInProgressException
11586//   Lightsail throws this exception when an account is still in the setup in
11587//   progress state.
11588//
11589//   * UnauthenticatedException
11590//   Lightsail throws this exception when the user has not been authenticated.
11591//
11592// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
11593func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
11594	req, out := c.UnpeerVpcRequest(input)
11595	return out, req.Send()
11596}
11597
11598// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
11599// the ability to pass a context and additional request options.
11600//
11601// See UnpeerVpc for details on how to use this API operation.
11602//
11603// The context must be non-nil and will be used for request cancellation. If
11604// the context is nil a panic will occur. In the future the SDK may create
11605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11606// for more information on using Contexts.
11607func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
11608	req, out := c.UnpeerVpcRequest(input)
11609	req.SetContext(ctx)
11610	req.ApplyOptions(opts...)
11611	return out, req.Send()
11612}
11613
11614const opUntagResource = "UntagResource"
11615
11616// UntagResourceRequest generates a "aws/request.Request" representing the
11617// client's request for the UntagResource operation. The "output" return
11618// value will be populated with the request's response once the request completes
11619// successfully.
11620//
11621// Use "Send" method on the returned Request to send the API call to the service.
11622// the "output" return value is not valid until after Send returns without error.
11623//
11624// See UntagResource for more information on using the UntagResource
11625// API call, and error handling.
11626//
11627// This method is useful when you want to inject custom logic or configuration
11628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11629//
11630//
11631//    // Example sending a request using the UntagResourceRequest method.
11632//    req, resp := client.UntagResourceRequest(params)
11633//
11634//    err := req.Send()
11635//    if err == nil { // resp is now filled
11636//        fmt.Println(resp)
11637//    }
11638//
11639// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
11640func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
11641	op := &request.Operation{
11642		Name:       opUntagResource,
11643		HTTPMethod: "POST",
11644		HTTPPath:   "/",
11645	}
11646
11647	if input == nil {
11648		input = &UntagResourceInput{}
11649	}
11650
11651	output = &UntagResourceOutput{}
11652	req = c.newRequest(op, input, output)
11653	return
11654}
11655
11656// UntagResource API operation for Amazon Lightsail.
11657//
11658// Deletes the specified set of tag keys and their values from the specified
11659// Amazon Lightsail resource.
11660//
11661// The untag resource operation supports tag-based access control via request
11662// tags and resource tags applied to the resource identified by resource name.
11663// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11664//
11665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11666// with awserr.Error's Code and Message methods to get detailed information about
11667// the error.
11668//
11669// See the AWS API reference guide for Amazon Lightsail's
11670// API operation UntagResource for usage and error information.
11671//
11672// Returned Error Types:
11673//   * ServiceException
11674//   A general service exception.
11675//
11676//   * InvalidInputException
11677//   Lightsail throws this exception when user input does not conform to the validation
11678//   rules of an input field.
11679//
11680//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11681//   Please set your AWS Region configuration to us-east-1 to create, view, or
11682//   edit these resources.
11683//
11684//   * NotFoundException
11685//   Lightsail throws this exception when it cannot find a resource.
11686//
11687//   * OperationFailureException
11688//   Lightsail throws this exception when an operation fails to execute.
11689//
11690//   * AccessDeniedException
11691//   Lightsail throws this exception when the user cannot be authenticated or
11692//   uses invalid credentials to access a resource.
11693//
11694//   * AccountSetupInProgressException
11695//   Lightsail throws this exception when an account is still in the setup in
11696//   progress state.
11697//
11698//   * UnauthenticatedException
11699//   Lightsail throws this exception when the user has not been authenticated.
11700//
11701// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
11702func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
11703	req, out := c.UntagResourceRequest(input)
11704	return out, req.Send()
11705}
11706
11707// UntagResourceWithContext is the same as UntagResource with the addition of
11708// the ability to pass a context and additional request options.
11709//
11710// See UntagResource for details on how to use this API operation.
11711//
11712// The context must be non-nil and will be used for request cancellation. If
11713// the context is nil a panic will occur. In the future the SDK may create
11714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11715// for more information on using Contexts.
11716func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
11717	req, out := c.UntagResourceRequest(input)
11718	req.SetContext(ctx)
11719	req.ApplyOptions(opts...)
11720	return out, req.Send()
11721}
11722
11723const opUpdateDomainEntry = "UpdateDomainEntry"
11724
11725// UpdateDomainEntryRequest generates a "aws/request.Request" representing the
11726// client's request for the UpdateDomainEntry operation. The "output" return
11727// value will be populated with the request's response once the request completes
11728// successfully.
11729//
11730// Use "Send" method on the returned Request to send the API call to the service.
11731// the "output" return value is not valid until after Send returns without error.
11732//
11733// See UpdateDomainEntry for more information on using the UpdateDomainEntry
11734// API call, and error handling.
11735//
11736// This method is useful when you want to inject custom logic or configuration
11737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11738//
11739//
11740//    // Example sending a request using the UpdateDomainEntryRequest method.
11741//    req, resp := client.UpdateDomainEntryRequest(params)
11742//
11743//    err := req.Send()
11744//    if err == nil { // resp is now filled
11745//        fmt.Println(resp)
11746//    }
11747//
11748// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
11749func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
11750	op := &request.Operation{
11751		Name:       opUpdateDomainEntry,
11752		HTTPMethod: "POST",
11753		HTTPPath:   "/",
11754	}
11755
11756	if input == nil {
11757		input = &UpdateDomainEntryInput{}
11758	}
11759
11760	output = &UpdateDomainEntryOutput{}
11761	req = c.newRequest(op, input, output)
11762	return
11763}
11764
11765// UpdateDomainEntry API operation for Amazon Lightsail.
11766//
11767// Updates a domain recordset after it is created.
11768//
11769// The update domain entry operation supports tag-based access control via resource
11770// tags applied to the resource identified by domain name. For more information,
11771// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11772//
11773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11774// with awserr.Error's Code and Message methods to get detailed information about
11775// the error.
11776//
11777// See the AWS API reference guide for Amazon Lightsail's
11778// API operation UpdateDomainEntry for usage and error information.
11779//
11780// Returned Error Types:
11781//   * ServiceException
11782//   A general service exception.
11783//
11784//   * InvalidInputException
11785//   Lightsail throws this exception when user input does not conform to the validation
11786//   rules of an input field.
11787//
11788//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11789//   Please set your AWS Region configuration to us-east-1 to create, view, or
11790//   edit these resources.
11791//
11792//   * NotFoundException
11793//   Lightsail throws this exception when it cannot find a resource.
11794//
11795//   * OperationFailureException
11796//   Lightsail throws this exception when an operation fails to execute.
11797//
11798//   * AccessDeniedException
11799//   Lightsail throws this exception when the user cannot be authenticated or
11800//   uses invalid credentials to access a resource.
11801//
11802//   * AccountSetupInProgressException
11803//   Lightsail throws this exception when an account is still in the setup in
11804//   progress state.
11805//
11806//   * UnauthenticatedException
11807//   Lightsail throws this exception when the user has not been authenticated.
11808//
11809// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
11810func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
11811	req, out := c.UpdateDomainEntryRequest(input)
11812	return out, req.Send()
11813}
11814
11815// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
11816// the ability to pass a context and additional request options.
11817//
11818// See UpdateDomainEntry for details on how to use this API operation.
11819//
11820// The context must be non-nil and will be used for request cancellation. If
11821// the context is nil a panic will occur. In the future the SDK may create
11822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11823// for more information on using Contexts.
11824func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
11825	req, out := c.UpdateDomainEntryRequest(input)
11826	req.SetContext(ctx)
11827	req.ApplyOptions(opts...)
11828	return out, req.Send()
11829}
11830
11831const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
11832
11833// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
11834// client's request for the UpdateLoadBalancerAttribute operation. The "output" return
11835// value will be populated with the request's response once the request completes
11836// successfully.
11837//
11838// Use "Send" method on the returned Request to send the API call to the service.
11839// the "output" return value is not valid until after Send returns without error.
11840//
11841// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
11842// API call, and error handling.
11843//
11844// This method is useful when you want to inject custom logic or configuration
11845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11846//
11847//
11848//    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
11849//    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
11850//
11851//    err := req.Send()
11852//    if err == nil { // resp is now filled
11853//        fmt.Println(resp)
11854//    }
11855//
11856// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
11857func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
11858	op := &request.Operation{
11859		Name:       opUpdateLoadBalancerAttribute,
11860		HTTPMethod: "POST",
11861		HTTPPath:   "/",
11862	}
11863
11864	if input == nil {
11865		input = &UpdateLoadBalancerAttributeInput{}
11866	}
11867
11868	output = &UpdateLoadBalancerAttributeOutput{}
11869	req = c.newRequest(op, input, output)
11870	return
11871}
11872
11873// UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
11874//
11875// Updates the specified attribute for a load balancer. You can only update
11876// one attribute at a time.
11877//
11878// The update load balancer attribute operation supports tag-based access control
11879// via resource tags applied to the resource identified by load balancer name.
11880// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11881//
11882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11883// with awserr.Error's Code and Message methods to get detailed information about
11884// the error.
11885//
11886// See the AWS API reference guide for Amazon Lightsail's
11887// API operation UpdateLoadBalancerAttribute for usage and error information.
11888//
11889// Returned Error Types:
11890//   * ServiceException
11891//   A general service exception.
11892//
11893//   * InvalidInputException
11894//   Lightsail throws this exception when user input does not conform to the validation
11895//   rules of an input field.
11896//
11897//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11898//   Please set your AWS Region configuration to us-east-1 to create, view, or
11899//   edit these resources.
11900//
11901//   * NotFoundException
11902//   Lightsail throws this exception when it cannot find a resource.
11903//
11904//   * OperationFailureException
11905//   Lightsail throws this exception when an operation fails to execute.
11906//
11907//   * AccessDeniedException
11908//   Lightsail throws this exception when the user cannot be authenticated or
11909//   uses invalid credentials to access a resource.
11910//
11911//   * AccountSetupInProgressException
11912//   Lightsail throws this exception when an account is still in the setup in
11913//   progress state.
11914//
11915//   * UnauthenticatedException
11916//   Lightsail throws this exception when the user has not been authenticated.
11917//
11918// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
11919func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
11920	req, out := c.UpdateLoadBalancerAttributeRequest(input)
11921	return out, req.Send()
11922}
11923
11924// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
11925// the ability to pass a context and additional request options.
11926//
11927// See UpdateLoadBalancerAttribute for details on how to use this API operation.
11928//
11929// The context must be non-nil and will be used for request cancellation. If
11930// the context is nil a panic will occur. In the future the SDK may create
11931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11932// for more information on using Contexts.
11933func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
11934	req, out := c.UpdateLoadBalancerAttributeRequest(input)
11935	req.SetContext(ctx)
11936	req.ApplyOptions(opts...)
11937	return out, req.Send()
11938}
11939
11940const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
11941
11942// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
11943// client's request for the UpdateRelationalDatabase operation. The "output" return
11944// value will be populated with the request's response once the request completes
11945// successfully.
11946//
11947// Use "Send" method on the returned Request to send the API call to the service.
11948// the "output" return value is not valid until after Send returns without error.
11949//
11950// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
11951// API call, and error handling.
11952//
11953// This method is useful when you want to inject custom logic or configuration
11954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11955//
11956//
11957//    // Example sending a request using the UpdateRelationalDatabaseRequest method.
11958//    req, resp := client.UpdateRelationalDatabaseRequest(params)
11959//
11960//    err := req.Send()
11961//    if err == nil { // resp is now filled
11962//        fmt.Println(resp)
11963//    }
11964//
11965// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
11966func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
11967	op := &request.Operation{
11968		Name:       opUpdateRelationalDatabase,
11969		HTTPMethod: "POST",
11970		HTTPPath:   "/",
11971	}
11972
11973	if input == nil {
11974		input = &UpdateRelationalDatabaseInput{}
11975	}
11976
11977	output = &UpdateRelationalDatabaseOutput{}
11978	req = c.newRequest(op, input, output)
11979	return
11980}
11981
11982// UpdateRelationalDatabase API operation for Amazon Lightsail.
11983//
11984// Allows the update of one or more attributes of a database in Amazon Lightsail.
11985//
11986// Updates are applied immediately, or in cases where the updates could result
11987// in an outage, are applied during the database's predefined maintenance window.
11988//
11989// The update relational database operation supports tag-based access control
11990// via resource tags applied to the resource identified by relationalDatabaseName.
11991// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11992//
11993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11994// with awserr.Error's Code and Message methods to get detailed information about
11995// the error.
11996//
11997// See the AWS API reference guide for Amazon Lightsail's
11998// API operation UpdateRelationalDatabase for usage and error information.
11999//
12000// Returned Error Types:
12001//   * ServiceException
12002//   A general service exception.
12003//
12004//   * InvalidInputException
12005//   Lightsail throws this exception when user input does not conform to the validation
12006//   rules of an input field.
12007//
12008//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12009//   Please set your AWS Region configuration to us-east-1 to create, view, or
12010//   edit these resources.
12011//
12012//   * NotFoundException
12013//   Lightsail throws this exception when it cannot find a resource.
12014//
12015//   * OperationFailureException
12016//   Lightsail throws this exception when an operation fails to execute.
12017//
12018//   * AccessDeniedException
12019//   Lightsail throws this exception when the user cannot be authenticated or
12020//   uses invalid credentials to access a resource.
12021//
12022//   * AccountSetupInProgressException
12023//   Lightsail throws this exception when an account is still in the setup in
12024//   progress state.
12025//
12026//   * UnauthenticatedException
12027//   Lightsail throws this exception when the user has not been authenticated.
12028//
12029// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
12030func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
12031	req, out := c.UpdateRelationalDatabaseRequest(input)
12032	return out, req.Send()
12033}
12034
12035// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
12036// the ability to pass a context and additional request options.
12037//
12038// See UpdateRelationalDatabase for details on how to use this API operation.
12039//
12040// The context must be non-nil and will be used for request cancellation. If
12041// the context is nil a panic will occur. In the future the SDK may create
12042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12043// for more information on using Contexts.
12044func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
12045	req, out := c.UpdateRelationalDatabaseRequest(input)
12046	req.SetContext(ctx)
12047	req.ApplyOptions(opts...)
12048	return out, req.Send()
12049}
12050
12051const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
12052
12053// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
12054// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
12055// value will be populated with the request's response once the request completes
12056// successfully.
12057//
12058// Use "Send" method on the returned Request to send the API call to the service.
12059// the "output" return value is not valid until after Send returns without error.
12060//
12061// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
12062// API call, and error handling.
12063//
12064// This method is useful when you want to inject custom logic or configuration
12065// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12066//
12067//
12068//    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
12069//    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
12070//
12071//    err := req.Send()
12072//    if err == nil { // resp is now filled
12073//        fmt.Println(resp)
12074//    }
12075//
12076// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
12077func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
12078	op := &request.Operation{
12079		Name:       opUpdateRelationalDatabaseParameters,
12080		HTTPMethod: "POST",
12081		HTTPPath:   "/",
12082	}
12083
12084	if input == nil {
12085		input = &UpdateRelationalDatabaseParametersInput{}
12086	}
12087
12088	output = &UpdateRelationalDatabaseParametersOutput{}
12089	req = c.newRequest(op, input, output)
12090	return
12091}
12092
12093// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
12094//
12095// Allows the update of one or more parameters of a database in Amazon Lightsail.
12096//
12097// Parameter updates don't cause outages; therefore, their application is not
12098// subject to the preferred maintenance window. However, there are two ways
12099// in which parameter updates are applied: dynamic or pending-reboot. Parameters
12100// marked with a dynamic apply type are applied immediately. Parameters marked
12101// with a pending-reboot apply type are applied only after the database is rebooted
12102// using the reboot relational database operation.
12103//
12104// The update relational database parameters operation supports tag-based access
12105// control via resource tags applied to the resource identified by relationalDatabaseName.
12106// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12107//
12108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12109// with awserr.Error's Code and Message methods to get detailed information about
12110// the error.
12111//
12112// See the AWS API reference guide for Amazon Lightsail's
12113// API operation UpdateRelationalDatabaseParameters for usage and error information.
12114//
12115// Returned Error Types:
12116//   * ServiceException
12117//   A general service exception.
12118//
12119//   * InvalidInputException
12120//   Lightsail throws this exception when user input does not conform to the validation
12121//   rules of an input field.
12122//
12123//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12124//   Please set your AWS Region configuration to us-east-1 to create, view, or
12125//   edit these resources.
12126//
12127//   * NotFoundException
12128//   Lightsail throws this exception when it cannot find a resource.
12129//
12130//   * OperationFailureException
12131//   Lightsail throws this exception when an operation fails to execute.
12132//
12133//   * AccessDeniedException
12134//   Lightsail throws this exception when the user cannot be authenticated or
12135//   uses invalid credentials to access a resource.
12136//
12137//   * AccountSetupInProgressException
12138//   Lightsail throws this exception when an account is still in the setup in
12139//   progress state.
12140//
12141//   * UnauthenticatedException
12142//   Lightsail throws this exception when the user has not been authenticated.
12143//
12144// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
12145func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
12146	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
12147	return out, req.Send()
12148}
12149
12150// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
12151// the ability to pass a context and additional request options.
12152//
12153// See UpdateRelationalDatabaseParameters for details on how to use this API operation.
12154//
12155// The context must be non-nil and will be used for request cancellation. If
12156// the context is nil a panic will occur. In the future the SDK may create
12157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12158// for more information on using Contexts.
12159func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
12160	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
12161	req.SetContext(ctx)
12162	req.ApplyOptions(opts...)
12163	return out, req.Send()
12164}
12165
12166// Lightsail throws this exception when the user cannot be authenticated or
12167// uses invalid credentials to access a resource.
12168type AccessDeniedException struct {
12169	_            struct{} `type:"structure"`
12170	respMetadata protocol.ResponseMetadata
12171
12172	Code_ *string `locationName:"code" type:"string"`
12173
12174	Docs *string `locationName:"docs" type:"string"`
12175
12176	Message_ *string `locationName:"message" type:"string"`
12177
12178	Tip *string `locationName:"tip" type:"string"`
12179}
12180
12181// String returns the string representation
12182func (s AccessDeniedException) String() string {
12183	return awsutil.Prettify(s)
12184}
12185
12186// GoString returns the string representation
12187func (s AccessDeniedException) GoString() string {
12188	return s.String()
12189}
12190
12191func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
12192	return &AccessDeniedException{
12193		respMetadata: v,
12194	}
12195}
12196
12197// Code returns the exception type name.
12198func (s AccessDeniedException) Code() string {
12199	return "AccessDeniedException"
12200}
12201
12202// Message returns the exception's message.
12203func (s AccessDeniedException) Message() string {
12204	if s.Message_ != nil {
12205		return *s.Message_
12206	}
12207	return ""
12208}
12209
12210// OrigErr always returns nil, satisfies awserr.Error interface.
12211func (s AccessDeniedException) OrigErr() error {
12212	return nil
12213}
12214
12215func (s AccessDeniedException) Error() string {
12216	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12217}
12218
12219// Status code returns the HTTP status code for the request's response error.
12220func (s AccessDeniedException) StatusCode() int {
12221	return s.respMetadata.StatusCode
12222}
12223
12224// RequestID returns the service's response RequestID for request.
12225func (s AccessDeniedException) RequestID() string {
12226	return s.respMetadata.RequestID
12227}
12228
12229// Lightsail throws this exception when an account is still in the setup in
12230// progress state.
12231type AccountSetupInProgressException struct {
12232	_            struct{} `type:"structure"`
12233	respMetadata protocol.ResponseMetadata
12234
12235	Code_ *string `locationName:"code" type:"string"`
12236
12237	Docs *string `locationName:"docs" type:"string"`
12238
12239	Message_ *string `locationName:"message" type:"string"`
12240
12241	Tip *string `locationName:"tip" type:"string"`
12242}
12243
12244// String returns the string representation
12245func (s AccountSetupInProgressException) String() string {
12246	return awsutil.Prettify(s)
12247}
12248
12249// GoString returns the string representation
12250func (s AccountSetupInProgressException) GoString() string {
12251	return s.String()
12252}
12253
12254func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error {
12255	return &AccountSetupInProgressException{
12256		respMetadata: v,
12257	}
12258}
12259
12260// Code returns the exception type name.
12261func (s AccountSetupInProgressException) Code() string {
12262	return "AccountSetupInProgressException"
12263}
12264
12265// Message returns the exception's message.
12266func (s AccountSetupInProgressException) Message() string {
12267	if s.Message_ != nil {
12268		return *s.Message_
12269	}
12270	return ""
12271}
12272
12273// OrigErr always returns nil, satisfies awserr.Error interface.
12274func (s AccountSetupInProgressException) OrigErr() error {
12275	return nil
12276}
12277
12278func (s AccountSetupInProgressException) Error() string {
12279	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12280}
12281
12282// Status code returns the HTTP status code for the request's response error.
12283func (s AccountSetupInProgressException) StatusCode() int {
12284	return s.respMetadata.StatusCode
12285}
12286
12287// RequestID returns the service's response RequestID for request.
12288func (s AccountSetupInProgressException) RequestID() string {
12289	return s.respMetadata.RequestID
12290}
12291
12292// Describes an add-on that is enabled for an Amazon Lightsail resource.
12293type AddOn struct {
12294	_ struct{} `type:"structure"`
12295
12296	// The name of the add-on.
12297	Name *string `locationName:"name" type:"string"`
12298
12299	// The next daily time an automatic snapshot will be created.
12300	//
12301	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
12302	//
12303	// The snapshot is automatically created between the time shown and up to 45
12304	// minutes after.
12305	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
12306
12307	// The daily time when an automatic snapshot is created.
12308	//
12309	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
12310	//
12311	// The snapshot is automatically created between the time shown and up to 45
12312	// minutes after.
12313	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
12314
12315	// The status of the add-on.
12316	Status *string `locationName:"status" type:"string"`
12317}
12318
12319// String returns the string representation
12320func (s AddOn) String() string {
12321	return awsutil.Prettify(s)
12322}
12323
12324// GoString returns the string representation
12325func (s AddOn) GoString() string {
12326	return s.String()
12327}
12328
12329// SetName sets the Name field's value.
12330func (s *AddOn) SetName(v string) *AddOn {
12331	s.Name = &v
12332	return s
12333}
12334
12335// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
12336func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
12337	s.NextSnapshotTimeOfDay = &v
12338	return s
12339}
12340
12341// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
12342func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
12343	s.SnapshotTimeOfDay = &v
12344	return s
12345}
12346
12347// SetStatus sets the Status field's value.
12348func (s *AddOn) SetStatus(v string) *AddOn {
12349	s.Status = &v
12350	return s
12351}
12352
12353// Describes a request to enable, modify, or disable an add-on for an Amazon
12354// Lightsail resource.
12355//
12356// An additional cost may be associated with enabling add-ons. For more information,
12357// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
12358type AddOnRequest struct {
12359	_ struct{} `type:"structure"`
12360
12361	// The add-on type.
12362	//
12363	// AddOnType is a required field
12364	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
12365
12366	// An object that represents additional parameters when enabling or modifying
12367	// the automatic snapshot add-on.
12368	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
12369}
12370
12371// String returns the string representation
12372func (s AddOnRequest) String() string {
12373	return awsutil.Prettify(s)
12374}
12375
12376// GoString returns the string representation
12377func (s AddOnRequest) GoString() string {
12378	return s.String()
12379}
12380
12381// Validate inspects the fields of the type to determine if they are valid.
12382func (s *AddOnRequest) Validate() error {
12383	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
12384	if s.AddOnType == nil {
12385		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
12386	}
12387
12388	if invalidParams.Len() > 0 {
12389		return invalidParams
12390	}
12391	return nil
12392}
12393
12394// SetAddOnType sets the AddOnType field's value.
12395func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
12396	s.AddOnType = &v
12397	return s
12398}
12399
12400// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
12401func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
12402	s.AutoSnapshotAddOnRequest = v
12403	return s
12404}
12405
12406// Describes an alarm.
12407//
12408// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
12409// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
12410type Alarm struct {
12411	_ struct{} `type:"structure"`
12412
12413	// The Amazon Resource Name (ARN) of the alarm.
12414	Arn *string `locationName:"arn" type:"string"`
12415
12416	// The arithmetic operation used when comparing the specified statistic and
12417	// threshold.
12418	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"`
12419
12420	// The contact protocols for the alarm, such as Email, SMS (text messaging),
12421	// or both.
12422	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
12423
12424	// The timestamp when the alarm was created.
12425	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
12426
12427	// The number of data points that must not within the specified threshold to
12428	// trigger the alarm.
12429	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
12430
12431	// The number of periods over which data is compared to the specified threshold.
12432	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"`
12433
12434	// An object that lists information about the location of the alarm.
12435	Location *ResourceLocation `locationName:"location" type:"structure"`
12436
12437	// The name of the metric associated with the alarm.
12438	MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"`
12439
12440	// An object that lists information about the resource monitored by the alarm.
12441	MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"`
12442
12443	// The name of the alarm.
12444	Name *string `locationName:"name" type:"string"`
12445
12446	// Indicates whether the alarm is enabled.
12447	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
12448
12449	// The alarm states that trigger a notification.
12450	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
12451
12452	// The period, in seconds, over which the statistic is applied.
12453	Period *int64 `locationName:"period" min:"60" type:"integer"`
12454
12455	// The Lightsail resource type (e.g., Alarm).
12456	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
12457
12458	// The current state of the alarm.
12459	//
12460	// An alarm has the following possible states:
12461	//
12462	//    * ALARM — The metric is outside of the defined threshold.
12463	//
12464	//    * INSUFFICIENT_DATA — The alarm has just started, the metric is not
12465	//    available, or not enough data is available for the metric to determine
12466	//    the alarm state.
12467	//
12468	//    * OK — The metric is within the defined threshold.
12469	State *string `locationName:"state" type:"string" enum:"AlarmState"`
12470
12471	// The statistic for the metric associated with the alarm.
12472	//
12473	// The following statistics are available:
12474	//
12475	//    * Minimum — The lowest value observed during the specified period. Use
12476	//    this value to determine low volumes of activity for your application.
12477	//
12478	//    * Maximum — The highest value observed during the specified period.
12479	//    Use this value to determine high volumes of activity for your application.
12480	//
12481	//    * Sum — All values submitted for the matching metric added together.
12482	//    You can use this statistic to determine the total volume of a metric.
12483	//
12484	//    * Average — The value of Sum / SampleCount during the specified period.
12485	//    By comparing this statistic with the Minimum and Maximum values, you can
12486	//    determine the full scope of a metric and how close the average use is
12487	//    to the Minimum and Maximum values. This comparison helps you to know when
12488	//    to increase or decrease your resources.
12489	//
12490	//    * SampleCount — The count, or number, of data points used for the statistical
12491	//    calculation.
12492	Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
12493
12494	// The support code. Include this code in your email to support when you have
12495	// questions about your Lightsail alarm. This code enables our support team
12496	// to look up your Lightsail information more easily.
12497	SupportCode *string `locationName:"supportCode" type:"string"`
12498
12499	// The value against which the specified statistic is compared.
12500	Threshold *float64 `locationName:"threshold" type:"double"`
12501
12502	// Specifies how the alarm handles missing data points.
12503	//
12504	// An alarm can treat missing data in the following ways:
12505	//
12506	//    * breaching — Assume the missing data is not within the threshold. Missing
12507	//    data counts towards the number of times the metric is not within the threshold.
12508	//
12509	//    * notBreaching — Assume the missing data is within the threshold. Missing
12510	//    data does not count towards the number of times the metric is not within
12511	//    the threshold.
12512	//
12513	//    * ignore — Ignore the missing data. Maintains the current alarm state.
12514	//
12515	//    * missing — Missing data is treated as missing.
12516	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
12517
12518	// The unit of the metric associated with the alarm.
12519	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
12520}
12521
12522// String returns the string representation
12523func (s Alarm) String() string {
12524	return awsutil.Prettify(s)
12525}
12526
12527// GoString returns the string representation
12528func (s Alarm) GoString() string {
12529	return s.String()
12530}
12531
12532// SetArn sets the Arn field's value.
12533func (s *Alarm) SetArn(v string) *Alarm {
12534	s.Arn = &v
12535	return s
12536}
12537
12538// SetComparisonOperator sets the ComparisonOperator field's value.
12539func (s *Alarm) SetComparisonOperator(v string) *Alarm {
12540	s.ComparisonOperator = &v
12541	return s
12542}
12543
12544// SetContactProtocols sets the ContactProtocols field's value.
12545func (s *Alarm) SetContactProtocols(v []*string) *Alarm {
12546	s.ContactProtocols = v
12547	return s
12548}
12549
12550// SetCreatedAt sets the CreatedAt field's value.
12551func (s *Alarm) SetCreatedAt(v time.Time) *Alarm {
12552	s.CreatedAt = &v
12553	return s
12554}
12555
12556// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
12557func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm {
12558	s.DatapointsToAlarm = &v
12559	return s
12560}
12561
12562// SetEvaluationPeriods sets the EvaluationPeriods field's value.
12563func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm {
12564	s.EvaluationPeriods = &v
12565	return s
12566}
12567
12568// SetLocation sets the Location field's value.
12569func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm {
12570	s.Location = v
12571	return s
12572}
12573
12574// SetMetricName sets the MetricName field's value.
12575func (s *Alarm) SetMetricName(v string) *Alarm {
12576	s.MetricName = &v
12577	return s
12578}
12579
12580// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value.
12581func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm {
12582	s.MonitoredResourceInfo = v
12583	return s
12584}
12585
12586// SetName sets the Name field's value.
12587func (s *Alarm) SetName(v string) *Alarm {
12588	s.Name = &v
12589	return s
12590}
12591
12592// SetNotificationEnabled sets the NotificationEnabled field's value.
12593func (s *Alarm) SetNotificationEnabled(v bool) *Alarm {
12594	s.NotificationEnabled = &v
12595	return s
12596}
12597
12598// SetNotificationTriggers sets the NotificationTriggers field's value.
12599func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm {
12600	s.NotificationTriggers = v
12601	return s
12602}
12603
12604// SetPeriod sets the Period field's value.
12605func (s *Alarm) SetPeriod(v int64) *Alarm {
12606	s.Period = &v
12607	return s
12608}
12609
12610// SetResourceType sets the ResourceType field's value.
12611func (s *Alarm) SetResourceType(v string) *Alarm {
12612	s.ResourceType = &v
12613	return s
12614}
12615
12616// SetState sets the State field's value.
12617func (s *Alarm) SetState(v string) *Alarm {
12618	s.State = &v
12619	return s
12620}
12621
12622// SetStatistic sets the Statistic field's value.
12623func (s *Alarm) SetStatistic(v string) *Alarm {
12624	s.Statistic = &v
12625	return s
12626}
12627
12628// SetSupportCode sets the SupportCode field's value.
12629func (s *Alarm) SetSupportCode(v string) *Alarm {
12630	s.SupportCode = &v
12631	return s
12632}
12633
12634// SetThreshold sets the Threshold field's value.
12635func (s *Alarm) SetThreshold(v float64) *Alarm {
12636	s.Threshold = &v
12637	return s
12638}
12639
12640// SetTreatMissingData sets the TreatMissingData field's value.
12641func (s *Alarm) SetTreatMissingData(v string) *Alarm {
12642	s.TreatMissingData = &v
12643	return s
12644}
12645
12646// SetUnit sets the Unit field's value.
12647func (s *Alarm) SetUnit(v string) *Alarm {
12648	s.Unit = &v
12649	return s
12650}
12651
12652type AllocateStaticIpInput struct {
12653	_ struct{} `type:"structure"`
12654
12655	// The name of the static IP address.
12656	//
12657	// StaticIpName is a required field
12658	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
12659}
12660
12661// String returns the string representation
12662func (s AllocateStaticIpInput) String() string {
12663	return awsutil.Prettify(s)
12664}
12665
12666// GoString returns the string representation
12667func (s AllocateStaticIpInput) GoString() string {
12668	return s.String()
12669}
12670
12671// Validate inspects the fields of the type to determine if they are valid.
12672func (s *AllocateStaticIpInput) Validate() error {
12673	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
12674	if s.StaticIpName == nil {
12675		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
12676	}
12677
12678	if invalidParams.Len() > 0 {
12679		return invalidParams
12680	}
12681	return nil
12682}
12683
12684// SetStaticIpName sets the StaticIpName field's value.
12685func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
12686	s.StaticIpName = &v
12687	return s
12688}
12689
12690type AllocateStaticIpOutput struct {
12691	_ struct{} `type:"structure"`
12692
12693	// An array of objects that describe the result of the action, such as the status
12694	// of the request, the time stamp of the request, and the resources affected
12695	// by the request.
12696	Operations []*Operation `locationName:"operations" type:"list"`
12697}
12698
12699// String returns the string representation
12700func (s AllocateStaticIpOutput) String() string {
12701	return awsutil.Prettify(s)
12702}
12703
12704// GoString returns the string representation
12705func (s AllocateStaticIpOutput) GoString() string {
12706	return s.String()
12707}
12708
12709// SetOperations sets the Operations field's value.
12710func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
12711	s.Operations = v
12712	return s
12713}
12714
12715type AttachDiskInput struct {
12716	_ struct{} `type:"structure"`
12717
12718	// The unique Lightsail disk name (e.g., my-disk).
12719	//
12720	// DiskName is a required field
12721	DiskName *string `locationName:"diskName" type:"string" required:"true"`
12722
12723	// The disk path to expose to the instance (e.g., /dev/xvdf).
12724	//
12725	// DiskPath is a required field
12726	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
12727
12728	// The name of the Lightsail instance where you want to utilize the storage
12729	// disk.
12730	//
12731	// InstanceName is a required field
12732	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
12733}
12734
12735// String returns the string representation
12736func (s AttachDiskInput) String() string {
12737	return awsutil.Prettify(s)
12738}
12739
12740// GoString returns the string representation
12741func (s AttachDiskInput) GoString() string {
12742	return s.String()
12743}
12744
12745// Validate inspects the fields of the type to determine if they are valid.
12746func (s *AttachDiskInput) Validate() error {
12747	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
12748	if s.DiskName == nil {
12749		invalidParams.Add(request.NewErrParamRequired("DiskName"))
12750	}
12751	if s.DiskPath == nil {
12752		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
12753	}
12754	if s.InstanceName == nil {
12755		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
12756	}
12757
12758	if invalidParams.Len() > 0 {
12759		return invalidParams
12760	}
12761	return nil
12762}
12763
12764// SetDiskName sets the DiskName field's value.
12765func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
12766	s.DiskName = &v
12767	return s
12768}
12769
12770// SetDiskPath sets the DiskPath field's value.
12771func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
12772	s.DiskPath = &v
12773	return s
12774}
12775
12776// SetInstanceName sets the InstanceName field's value.
12777func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
12778	s.InstanceName = &v
12779	return s
12780}
12781
12782type AttachDiskOutput struct {
12783	_ struct{} `type:"structure"`
12784
12785	// An array of objects that describe the result of the action, such as the status
12786	// of the request, the time stamp of the request, and the resources affected
12787	// by the request.
12788	Operations []*Operation `locationName:"operations" type:"list"`
12789}
12790
12791// String returns the string representation
12792func (s AttachDiskOutput) String() string {
12793	return awsutil.Prettify(s)
12794}
12795
12796// GoString returns the string representation
12797func (s AttachDiskOutput) GoString() string {
12798	return s.String()
12799}
12800
12801// SetOperations sets the Operations field's value.
12802func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
12803	s.Operations = v
12804	return s
12805}
12806
12807type AttachInstancesToLoadBalancerInput struct {
12808	_ struct{} `type:"structure"`
12809
12810	// An array of strings representing the instance name(s) you want to attach
12811	// to your load balancer.
12812	//
12813	// An instance must be running before you can attach it to your load balancer.
12814	//
12815	// There are no additional limits on the number of instances you can attach
12816	// to your load balancer, aside from the limit of Lightsail instances you can
12817	// create in your account (20).
12818	//
12819	// InstanceNames is a required field
12820	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
12821
12822	// The name of the load balancer.
12823	//
12824	// LoadBalancerName is a required field
12825	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
12826}
12827
12828// String returns the string representation
12829func (s AttachInstancesToLoadBalancerInput) String() string {
12830	return awsutil.Prettify(s)
12831}
12832
12833// GoString returns the string representation
12834func (s AttachInstancesToLoadBalancerInput) GoString() string {
12835	return s.String()
12836}
12837
12838// Validate inspects the fields of the type to determine if they are valid.
12839func (s *AttachInstancesToLoadBalancerInput) Validate() error {
12840	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
12841	if s.InstanceNames == nil {
12842		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
12843	}
12844	if s.LoadBalancerName == nil {
12845		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
12846	}
12847
12848	if invalidParams.Len() > 0 {
12849		return invalidParams
12850	}
12851	return nil
12852}
12853
12854// SetInstanceNames sets the InstanceNames field's value.
12855func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
12856	s.InstanceNames = v
12857	return s
12858}
12859
12860// SetLoadBalancerName sets the LoadBalancerName field's value.
12861func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
12862	s.LoadBalancerName = &v
12863	return s
12864}
12865
12866type AttachInstancesToLoadBalancerOutput struct {
12867	_ struct{} `type:"structure"`
12868
12869	// An array of objects that describe the result of the action, such as the status
12870	// of the request, the time stamp of the request, and the resources affected
12871	// by the request.
12872	Operations []*Operation `locationName:"operations" type:"list"`
12873}
12874
12875// String returns the string representation
12876func (s AttachInstancesToLoadBalancerOutput) String() string {
12877	return awsutil.Prettify(s)
12878}
12879
12880// GoString returns the string representation
12881func (s AttachInstancesToLoadBalancerOutput) GoString() string {
12882	return s.String()
12883}
12884
12885// SetOperations sets the Operations field's value.
12886func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
12887	s.Operations = v
12888	return s
12889}
12890
12891type AttachLoadBalancerTlsCertificateInput struct {
12892	_ struct{} `type:"structure"`
12893
12894	// The name of your SSL/TLS certificate.
12895	//
12896	// CertificateName is a required field
12897	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
12898
12899	// The name of the load balancer to which you want to associate the SSL/TLS
12900	// certificate.
12901	//
12902	// LoadBalancerName is a required field
12903	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
12904}
12905
12906// String returns the string representation
12907func (s AttachLoadBalancerTlsCertificateInput) String() string {
12908	return awsutil.Prettify(s)
12909}
12910
12911// GoString returns the string representation
12912func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
12913	return s.String()
12914}
12915
12916// Validate inspects the fields of the type to determine if they are valid.
12917func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
12918	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
12919	if s.CertificateName == nil {
12920		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
12921	}
12922	if s.LoadBalancerName == nil {
12923		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
12924	}
12925
12926	if invalidParams.Len() > 0 {
12927		return invalidParams
12928	}
12929	return nil
12930}
12931
12932// SetCertificateName sets the CertificateName field's value.
12933func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
12934	s.CertificateName = &v
12935	return s
12936}
12937
12938// SetLoadBalancerName sets the LoadBalancerName field's value.
12939func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
12940	s.LoadBalancerName = &v
12941	return s
12942}
12943
12944type AttachLoadBalancerTlsCertificateOutput struct {
12945	_ struct{} `type:"structure"`
12946
12947	// An array of objects that describe the result of the action, such as the status
12948	// of the request, the time stamp of the request, and the resources affected
12949	// by the request.
12950	//
12951	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
12952	// can't get the certificate and use it for another purpose.
12953	Operations []*Operation `locationName:"operations" type:"list"`
12954}
12955
12956// String returns the string representation
12957func (s AttachLoadBalancerTlsCertificateOutput) String() string {
12958	return awsutil.Prettify(s)
12959}
12960
12961// GoString returns the string representation
12962func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
12963	return s.String()
12964}
12965
12966// SetOperations sets the Operations field's value.
12967func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
12968	s.Operations = v
12969	return s
12970}
12971
12972type AttachStaticIpInput struct {
12973	_ struct{} `type:"structure"`
12974
12975	// The instance name to which you want to attach the static IP address.
12976	//
12977	// InstanceName is a required field
12978	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
12979
12980	// The name of the static IP.
12981	//
12982	// StaticIpName is a required field
12983	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
12984}
12985
12986// String returns the string representation
12987func (s AttachStaticIpInput) String() string {
12988	return awsutil.Prettify(s)
12989}
12990
12991// GoString returns the string representation
12992func (s AttachStaticIpInput) GoString() string {
12993	return s.String()
12994}
12995
12996// Validate inspects the fields of the type to determine if they are valid.
12997func (s *AttachStaticIpInput) Validate() error {
12998	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
12999	if s.InstanceName == nil {
13000		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
13001	}
13002	if s.StaticIpName == nil {
13003		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
13004	}
13005
13006	if invalidParams.Len() > 0 {
13007		return invalidParams
13008	}
13009	return nil
13010}
13011
13012// SetInstanceName sets the InstanceName field's value.
13013func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
13014	s.InstanceName = &v
13015	return s
13016}
13017
13018// SetStaticIpName sets the StaticIpName field's value.
13019func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
13020	s.StaticIpName = &v
13021	return s
13022}
13023
13024type AttachStaticIpOutput struct {
13025	_ struct{} `type:"structure"`
13026
13027	// An array of objects that describe the result of the action, such as the status
13028	// of the request, the time stamp of the request, and the resources affected
13029	// by the request.
13030	Operations []*Operation `locationName:"operations" type:"list"`
13031}
13032
13033// String returns the string representation
13034func (s AttachStaticIpOutput) String() string {
13035	return awsutil.Prettify(s)
13036}
13037
13038// GoString returns the string representation
13039func (s AttachStaticIpOutput) GoString() string {
13040	return s.String()
13041}
13042
13043// SetOperations sets the Operations field's value.
13044func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
13045	s.Operations = v
13046	return s
13047}
13048
13049// Describes a block storage disk that is attached to an instance, and is included
13050// in an automatic snapshot.
13051type AttachedDisk struct {
13052	_ struct{} `type:"structure"`
13053
13054	// The path of the disk (e.g., /dev/xvdf).
13055	Path *string `locationName:"path" type:"string"`
13056
13057	// The size of the disk in GB.
13058	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
13059}
13060
13061// String returns the string representation
13062func (s AttachedDisk) String() string {
13063	return awsutil.Prettify(s)
13064}
13065
13066// GoString returns the string representation
13067func (s AttachedDisk) GoString() string {
13068	return s.String()
13069}
13070
13071// SetPath sets the Path field's value.
13072func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
13073	s.Path = &v
13074	return s
13075}
13076
13077// SetSizeInGb sets the SizeInGb field's value.
13078func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
13079	s.SizeInGb = &v
13080	return s
13081}
13082
13083// Describes a request to enable or modify the automatic snapshot add-on for
13084// an Amazon Lightsail instance or disk.
13085//
13086// When you modify the automatic snapshot time for a resource, it is typically
13087// effective immediately except under the following conditions:
13088//
13089//    * If an automatic snapshot has been created for the current day, and you
13090//    change the snapshot time to a later time of day, then the new snapshot
13091//    time will be effective the following day. This ensures that two snapshots
13092//    are not created for the current day.
13093//
13094//    * If an automatic snapshot has not yet been created for the current day,
13095//    and you change the snapshot time to an earlier time of day, then the new
13096//    snapshot time will be effective the following day and a snapshot is automatically
13097//    created at the previously set time for the current day. This ensures that
13098//    a snapshot is created for the current day.
13099//
13100//    * If an automatic snapshot has not yet been created for the current day,
13101//    and you change the snapshot time to a time that is within 30 minutes from
13102//    your current time, then the new snapshot time will be effective the following
13103//    day and a snapshot is automatically created at the previously set time
13104//    for the current day. This ensures that a snapshot is created for the current
13105//    day, because 30 minutes is required between your current time and the
13106//    new snapshot time that you specify.
13107//
13108//    * If an automatic snapshot is scheduled to be created within 30 minutes
13109//    from your current time and you change the snapshot time, then the new
13110//    snapshot time will be effective the following day and a snapshot is automatically
13111//    created at the previously set time for the current day. This ensures that
13112//    a snapshot is created for the current day, because 30 minutes is required
13113//    between your current time and the new snapshot time that you specify.
13114type AutoSnapshotAddOnRequest struct {
13115	_ struct{} `type:"structure"`
13116
13117	// The daily time when an automatic snapshot will be created.
13118	//
13119	// Constraints:
13120	//
13121	//    * Must be in HH:00 format, and in an hourly increment.
13122	//
13123	//    * Specified in Coordinated Universal Time (UTC).
13124	//
13125	//    * The snapshot will be automatically created between the time specified
13126	//    and up to 45 minutes after.
13127	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
13128}
13129
13130// String returns the string representation
13131func (s AutoSnapshotAddOnRequest) String() string {
13132	return awsutil.Prettify(s)
13133}
13134
13135// GoString returns the string representation
13136func (s AutoSnapshotAddOnRequest) GoString() string {
13137	return s.String()
13138}
13139
13140// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
13141func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
13142	s.SnapshotTimeOfDay = &v
13143	return s
13144}
13145
13146// Describes an automatic snapshot.
13147type AutoSnapshotDetails struct {
13148	_ struct{} `type:"structure"`
13149
13150	// The timestamp when the automatic snapshot was created.
13151	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
13152
13153	// The date of the automatic snapshot in YYYY-MM-DD format.
13154	Date *string `locationName:"date" type:"string"`
13155
13156	// An array of objects that describe the block storage disks attached to the
13157	// instance when the automatic snapshot was created.
13158	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
13159
13160	// The status of the automatic snapshot.
13161	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
13162}
13163
13164// String returns the string representation
13165func (s AutoSnapshotDetails) String() string {
13166	return awsutil.Prettify(s)
13167}
13168
13169// GoString returns the string representation
13170func (s AutoSnapshotDetails) GoString() string {
13171	return s.String()
13172}
13173
13174// SetCreatedAt sets the CreatedAt field's value.
13175func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
13176	s.CreatedAt = &v
13177	return s
13178}
13179
13180// SetDate sets the Date field's value.
13181func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
13182	s.Date = &v
13183	return s
13184}
13185
13186// SetFromAttachedDisks sets the FromAttachedDisks field's value.
13187func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
13188	s.FromAttachedDisks = v
13189	return s
13190}
13191
13192// SetStatus sets the Status field's value.
13193func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
13194	s.Status = &v
13195	return s
13196}
13197
13198// Describes an Availability Zone.
13199type AvailabilityZone struct {
13200	_ struct{} `type:"structure"`
13201
13202	// The state of the Availability Zone.
13203	State *string `locationName:"state" type:"string"`
13204
13205	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
13206	ZoneName *string `locationName:"zoneName" type:"string"`
13207}
13208
13209// String returns the string representation
13210func (s AvailabilityZone) String() string {
13211	return awsutil.Prettify(s)
13212}
13213
13214// GoString returns the string representation
13215func (s AvailabilityZone) GoString() string {
13216	return s.String()
13217}
13218
13219// SetState sets the State field's value.
13220func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
13221	s.State = &v
13222	return s
13223}
13224
13225// SetZoneName sets the ZoneName field's value.
13226func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
13227	s.ZoneName = &v
13228	return s
13229}
13230
13231// Describes a blueprint (a virtual private server image).
13232type Blueprint struct {
13233	_ struct{} `type:"structure"`
13234
13235	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
13236	BlueprintId *string `locationName:"blueprintId" type:"string"`
13237
13238	// The description of the blueprint.
13239	Description *string `locationName:"description" type:"string"`
13240
13241	// The group name of the blueprint (e.g., amazon-linux).
13242	Group *string `locationName:"group" type:"string"`
13243
13244	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
13245	// are listed to support customers with existing instances but are not necessarily
13246	// available for launch of new instances. Blueprints are marked inactive when
13247	// they become outdated due to operating system updates or new application releases.
13248	IsActive *bool `locationName:"isActive" type:"boolean"`
13249
13250	// The end-user license agreement URL for the image or blueprint.
13251	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
13252
13253	// The minimum bundle power required to run this blueprint. For example, you
13254	// need a bundle with a power value of 500 or more to create an instance that
13255	// uses a blueprint with a minimum power value of 500. 0 indicates that the
13256	// blueprint runs on all instance sizes.
13257	MinPower *int64 `locationName:"minPower" type:"integer"`
13258
13259	// The friendly name of the blueprint (e.g., Amazon Linux).
13260	Name *string `locationName:"name" type:"string"`
13261
13262	// The operating system platform (either Linux/Unix-based or Windows Server-based)
13263	// of the blueprint.
13264	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
13265
13266	// The product URL to learn more about the image or blueprint.
13267	ProductUrl *string `locationName:"productUrl" type:"string"`
13268
13269	// The type of the blueprint (e.g., os or app).
13270	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
13271
13272	// The version number of the operating system, application, or stack (e.g.,
13273	// 2016.03.0).
13274	Version *string `locationName:"version" type:"string"`
13275
13276	// The version code.
13277	VersionCode *string `locationName:"versionCode" type:"string"`
13278}
13279
13280// String returns the string representation
13281func (s Blueprint) String() string {
13282	return awsutil.Prettify(s)
13283}
13284
13285// GoString returns the string representation
13286func (s Blueprint) GoString() string {
13287	return s.String()
13288}
13289
13290// SetBlueprintId sets the BlueprintId field's value.
13291func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
13292	s.BlueprintId = &v
13293	return s
13294}
13295
13296// SetDescription sets the Description field's value.
13297func (s *Blueprint) SetDescription(v string) *Blueprint {
13298	s.Description = &v
13299	return s
13300}
13301
13302// SetGroup sets the Group field's value.
13303func (s *Blueprint) SetGroup(v string) *Blueprint {
13304	s.Group = &v
13305	return s
13306}
13307
13308// SetIsActive sets the IsActive field's value.
13309func (s *Blueprint) SetIsActive(v bool) *Blueprint {
13310	s.IsActive = &v
13311	return s
13312}
13313
13314// SetLicenseUrl sets the LicenseUrl field's value.
13315func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
13316	s.LicenseUrl = &v
13317	return s
13318}
13319
13320// SetMinPower sets the MinPower field's value.
13321func (s *Blueprint) SetMinPower(v int64) *Blueprint {
13322	s.MinPower = &v
13323	return s
13324}
13325
13326// SetName sets the Name field's value.
13327func (s *Blueprint) SetName(v string) *Blueprint {
13328	s.Name = &v
13329	return s
13330}
13331
13332// SetPlatform sets the Platform field's value.
13333func (s *Blueprint) SetPlatform(v string) *Blueprint {
13334	s.Platform = &v
13335	return s
13336}
13337
13338// SetProductUrl sets the ProductUrl field's value.
13339func (s *Blueprint) SetProductUrl(v string) *Blueprint {
13340	s.ProductUrl = &v
13341	return s
13342}
13343
13344// SetType sets the Type field's value.
13345func (s *Blueprint) SetType(v string) *Blueprint {
13346	s.Type = &v
13347	return s
13348}
13349
13350// SetVersion sets the Version field's value.
13351func (s *Blueprint) SetVersion(v string) *Blueprint {
13352	s.Version = &v
13353	return s
13354}
13355
13356// SetVersionCode sets the VersionCode field's value.
13357func (s *Blueprint) SetVersionCode(v string) *Blueprint {
13358	s.VersionCode = &v
13359	return s
13360}
13361
13362// Describes a bundle, which is a set of specs describing your virtual private
13363// server (or instance).
13364type Bundle struct {
13365	_ struct{} `type:"structure"`
13366
13367	// The bundle ID (e.g., micro_1_0).
13368	BundleId *string `locationName:"bundleId" type:"string"`
13369
13370	// The number of vCPUs included in the bundle (e.g., 2).
13371	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
13372
13373	// The size of the SSD (e.g., 30).
13374	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
13375
13376	// The Amazon EC2 instance type (e.g., t2.micro).
13377	InstanceType *string `locationName:"instanceType" type:"string"`
13378
13379	// A Boolean value indicating whether the bundle is active.
13380	IsActive *bool `locationName:"isActive" type:"boolean"`
13381
13382	// A friendly name for the bundle (e.g., Micro).
13383	Name *string `locationName:"name" type:"string"`
13384
13385	// A numeric value that represents the power of the bundle (e.g., 500). You
13386	// can use the bundle's power value in conjunction with a blueprint's minimum
13387	// power value to determine whether the blueprint will run on the bundle. For
13388	// example, you need a bundle with a power value of 500 or more to create an
13389	// instance that uses a blueprint with a minimum power value of 500.
13390	Power *int64 `locationName:"power" type:"integer"`
13391
13392	// The price in US dollars (e.g., 5.0).
13393	Price *float64 `locationName:"price" type:"float"`
13394
13395	// The amount of RAM in GB (e.g., 2.0).
13396	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
13397
13398	// The operating system platform (Linux/Unix-based or Windows Server-based)
13399	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
13400	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
13401	// bundle.
13402	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
13403
13404	// The data transfer rate per month in GB (e.g., 2000).
13405	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
13406}
13407
13408// String returns the string representation
13409func (s Bundle) String() string {
13410	return awsutil.Prettify(s)
13411}
13412
13413// GoString returns the string representation
13414func (s Bundle) GoString() string {
13415	return s.String()
13416}
13417
13418// SetBundleId sets the BundleId field's value.
13419func (s *Bundle) SetBundleId(v string) *Bundle {
13420	s.BundleId = &v
13421	return s
13422}
13423
13424// SetCpuCount sets the CpuCount field's value.
13425func (s *Bundle) SetCpuCount(v int64) *Bundle {
13426	s.CpuCount = &v
13427	return s
13428}
13429
13430// SetDiskSizeInGb sets the DiskSizeInGb field's value.
13431func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
13432	s.DiskSizeInGb = &v
13433	return s
13434}
13435
13436// SetInstanceType sets the InstanceType field's value.
13437func (s *Bundle) SetInstanceType(v string) *Bundle {
13438	s.InstanceType = &v
13439	return s
13440}
13441
13442// SetIsActive sets the IsActive field's value.
13443func (s *Bundle) SetIsActive(v bool) *Bundle {
13444	s.IsActive = &v
13445	return s
13446}
13447
13448// SetName sets the Name field's value.
13449func (s *Bundle) SetName(v string) *Bundle {
13450	s.Name = &v
13451	return s
13452}
13453
13454// SetPower sets the Power field's value.
13455func (s *Bundle) SetPower(v int64) *Bundle {
13456	s.Power = &v
13457	return s
13458}
13459
13460// SetPrice sets the Price field's value.
13461func (s *Bundle) SetPrice(v float64) *Bundle {
13462	s.Price = &v
13463	return s
13464}
13465
13466// SetRamSizeInGb sets the RamSizeInGb field's value.
13467func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
13468	s.RamSizeInGb = &v
13469	return s
13470}
13471
13472// SetSupportedPlatforms sets the SupportedPlatforms field's value.
13473func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
13474	s.SupportedPlatforms = v
13475	return s
13476}
13477
13478// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
13479func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
13480	s.TransferPerMonthInGb = &v
13481	return s
13482}
13483
13484type CloseInstancePublicPortsInput struct {
13485	_ struct{} `type:"structure"`
13486
13487	// The name of the instance on which you're attempting to close the public ports.
13488	//
13489	// InstanceName is a required field
13490	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
13491
13492	// Information about the public port you are trying to close.
13493	//
13494	// PortInfo is a required field
13495	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
13496}
13497
13498// String returns the string representation
13499func (s CloseInstancePublicPortsInput) String() string {
13500	return awsutil.Prettify(s)
13501}
13502
13503// GoString returns the string representation
13504func (s CloseInstancePublicPortsInput) GoString() string {
13505	return s.String()
13506}
13507
13508// Validate inspects the fields of the type to determine if they are valid.
13509func (s *CloseInstancePublicPortsInput) Validate() error {
13510	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
13511	if s.InstanceName == nil {
13512		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
13513	}
13514	if s.PortInfo == nil {
13515		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
13516	}
13517
13518	if invalidParams.Len() > 0 {
13519		return invalidParams
13520	}
13521	return nil
13522}
13523
13524// SetInstanceName sets the InstanceName field's value.
13525func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
13526	s.InstanceName = &v
13527	return s
13528}
13529
13530// SetPortInfo sets the PortInfo field's value.
13531func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
13532	s.PortInfo = v
13533	return s
13534}
13535
13536type CloseInstancePublicPortsOutput struct {
13537	_ struct{} `type:"structure"`
13538
13539	// An array of objects that describe the result of the action, such as the status
13540	// of the request, the time stamp of the request, and the resources affected
13541	// by the request.
13542	Operation *Operation `locationName:"operation" type:"structure"`
13543}
13544
13545// String returns the string representation
13546func (s CloseInstancePublicPortsOutput) String() string {
13547	return awsutil.Prettify(s)
13548}
13549
13550// GoString returns the string representation
13551func (s CloseInstancePublicPortsOutput) GoString() string {
13552	return s.String()
13553}
13554
13555// SetOperation sets the Operation field's value.
13556func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
13557	s.Operation = v
13558	return s
13559}
13560
13561// Describes a CloudFormation stack record created as a result of the create
13562// cloud formation stack operation.
13563//
13564// A CloudFormation stack record provides information about the AWS CloudFormation
13565// stack used to create a new Amazon Elastic Compute Cloud instance from an
13566// exported Lightsail instance snapshot.
13567type CloudFormationStackRecord struct {
13568	_ struct{} `type:"structure"`
13569
13570	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
13571	Arn *string `locationName:"arn" type:"string"`
13572
13573	// The date when the CloudFormation stack record was created.
13574	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
13575
13576	// A list of objects describing the destination service, which is AWS CloudFormation,
13577	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
13578	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
13579
13580	// A list of objects describing the Availability Zone and AWS Region of the
13581	// CloudFormation stack record.
13582	Location *ResourceLocation `locationName:"location" type:"structure"`
13583
13584	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
13585	// followed by a GUID.
13586	Name *string `locationName:"name" type:"string"`
13587
13588	// The Lightsail resource type (e.g., CloudFormationStackRecord).
13589	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
13590
13591	// A list of objects describing the source of the CloudFormation stack record.
13592	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
13593
13594	// The current state of the CloudFormation stack record.
13595	State *string `locationName:"state" type:"string" enum:"RecordState"`
13596}
13597
13598// String returns the string representation
13599func (s CloudFormationStackRecord) String() string {
13600	return awsutil.Prettify(s)
13601}
13602
13603// GoString returns the string representation
13604func (s CloudFormationStackRecord) GoString() string {
13605	return s.String()
13606}
13607
13608// SetArn sets the Arn field's value.
13609func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
13610	s.Arn = &v
13611	return s
13612}
13613
13614// SetCreatedAt sets the CreatedAt field's value.
13615func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
13616	s.CreatedAt = &v
13617	return s
13618}
13619
13620// SetDestinationInfo sets the DestinationInfo field's value.
13621func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
13622	s.DestinationInfo = v
13623	return s
13624}
13625
13626// SetLocation sets the Location field's value.
13627func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
13628	s.Location = v
13629	return s
13630}
13631
13632// SetName sets the Name field's value.
13633func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
13634	s.Name = &v
13635	return s
13636}
13637
13638// SetResourceType sets the ResourceType field's value.
13639func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
13640	s.ResourceType = &v
13641	return s
13642}
13643
13644// SetSourceInfo sets the SourceInfo field's value.
13645func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
13646	s.SourceInfo = v
13647	return s
13648}
13649
13650// SetState sets the State field's value.
13651func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
13652	s.State = &v
13653	return s
13654}
13655
13656// Describes the source of a CloudFormation stack record (i.e., the export snapshot
13657// record).
13658type CloudFormationStackRecordSourceInfo struct {
13659	_ struct{} `type:"structure"`
13660
13661	// The Amazon Resource Name (ARN) of the export snapshot record.
13662	Arn *string `locationName:"arn" type:"string"`
13663
13664	// The name of the record.
13665	Name *string `locationName:"name" type:"string"`
13666
13667	// The Lightsail resource type (e.g., ExportSnapshotRecord).
13668	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
13669}
13670
13671// String returns the string representation
13672func (s CloudFormationStackRecordSourceInfo) String() string {
13673	return awsutil.Prettify(s)
13674}
13675
13676// GoString returns the string representation
13677func (s CloudFormationStackRecordSourceInfo) GoString() string {
13678	return s.String()
13679}
13680
13681// SetArn sets the Arn field's value.
13682func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
13683	s.Arn = &v
13684	return s
13685}
13686
13687// SetName sets the Name field's value.
13688func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
13689	s.Name = &v
13690	return s
13691}
13692
13693// SetResourceType sets the ResourceType field's value.
13694func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
13695	s.ResourceType = &v
13696	return s
13697}
13698
13699// Describes a contact method.
13700//
13701// A contact method is a way to send you notifications. For more information,
13702// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
13703type ContactMethod struct {
13704	_ struct{} `type:"structure"`
13705
13706	// The Amazon Resource Name (ARN) of the contact method.
13707	Arn *string `locationName:"arn" type:"string"`
13708
13709	// The destination of the contact method, such as an email address or a mobile
13710	// phone number.
13711	ContactEndpoint *string `locationName:"contactEndpoint" type:"string"`
13712
13713	// The timestamp when the contact method was created.
13714	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
13715
13716	// Describes the resource location.
13717	Location *ResourceLocation `locationName:"location" type:"structure"`
13718
13719	// The name of the contact method.
13720	Name *string `locationName:"name" type:"string"`
13721
13722	// The protocol of the contact method, such as email or SMS (text messaging).
13723	Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"`
13724
13725	// The Lightsail resource type (e.g., ContactMethod).
13726	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
13727
13728	// The current status of the contact method.
13729	//
13730	// A contact method has the following possible status:
13731	//
13732	//    * PendingVerification — The contact method has not yet been verified,
13733	//    and the verification has not yet expired.
13734	//
13735	//    * Valid — The contact method has been verified.
13736	//
13737	//    * InValid — An attempt was made to verify the contact method, but the
13738	//    verification has expired.
13739	Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"`
13740
13741	// The support code. Include this code in your email to support when you have
13742	// questions about your Lightsail contact method. This code enables our support
13743	// team to look up your Lightsail information more easily.
13744	SupportCode *string `locationName:"supportCode" type:"string"`
13745}
13746
13747// String returns the string representation
13748func (s ContactMethod) String() string {
13749	return awsutil.Prettify(s)
13750}
13751
13752// GoString returns the string representation
13753func (s ContactMethod) GoString() string {
13754	return s.String()
13755}
13756
13757// SetArn sets the Arn field's value.
13758func (s *ContactMethod) SetArn(v string) *ContactMethod {
13759	s.Arn = &v
13760	return s
13761}
13762
13763// SetContactEndpoint sets the ContactEndpoint field's value.
13764func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod {
13765	s.ContactEndpoint = &v
13766	return s
13767}
13768
13769// SetCreatedAt sets the CreatedAt field's value.
13770func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod {
13771	s.CreatedAt = &v
13772	return s
13773}
13774
13775// SetLocation sets the Location field's value.
13776func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod {
13777	s.Location = v
13778	return s
13779}
13780
13781// SetName sets the Name field's value.
13782func (s *ContactMethod) SetName(v string) *ContactMethod {
13783	s.Name = &v
13784	return s
13785}
13786
13787// SetProtocol sets the Protocol field's value.
13788func (s *ContactMethod) SetProtocol(v string) *ContactMethod {
13789	s.Protocol = &v
13790	return s
13791}
13792
13793// SetResourceType sets the ResourceType field's value.
13794func (s *ContactMethod) SetResourceType(v string) *ContactMethod {
13795	s.ResourceType = &v
13796	return s
13797}
13798
13799// SetStatus sets the Status field's value.
13800func (s *ContactMethod) SetStatus(v string) *ContactMethod {
13801	s.Status = &v
13802	return s
13803}
13804
13805// SetSupportCode sets the SupportCode field's value.
13806func (s *ContactMethod) SetSupportCode(v string) *ContactMethod {
13807	s.SupportCode = &v
13808	return s
13809}
13810
13811type CopySnapshotInput struct {
13812	_ struct{} `type:"structure"`
13813
13814	// The date of the source automatic snapshot to copy. Use the get auto snapshots
13815	// operation to identify the dates of the available automatic snapshots.
13816	//
13817	// Constraints:
13818	//
13819	//    * Must be specified in YYYY-MM-DD format.
13820	//
13821	//    * This parameter cannot be defined together with the use latest restorable
13822	//    auto snapshot parameter. The restore date and use latest restorable auto
13823	//    snapshot parameters are mutually exclusive.
13824	//
13825	//    * Define this parameter only when copying an automatic snapshot as a manual
13826	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
13827	RestoreDate *string `locationName:"restoreDate" type:"string"`
13828
13829	// The AWS Region where the source manual or automatic snapshot is located.
13830	//
13831	// SourceRegion is a required field
13832	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
13833
13834	// The name of the source instance or disk from which the source automatic snapshot
13835	// was created.
13836	//
13837	// Constraint:
13838	//
13839	//    * Define this parameter only when copying an automatic snapshot as a manual
13840	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
13841	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
13842
13843	// The name of the source manual snapshot to copy.
13844	//
13845	// Constraint:
13846	//
13847	//    * Define this parameter only when copying a manual snapshot as another
13848	//    manual snapshot.
13849	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
13850
13851	// The name of the new manual snapshot to be created as a copy.
13852	//
13853	// TargetSnapshotName is a required field
13854	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
13855
13856	// A Boolean value to indicate whether to use the latest available automatic
13857	// snapshot of the specified source instance or disk.
13858	//
13859	// Constraints:
13860	//
13861	//    * This parameter cannot be defined together with the restore date parameter.
13862	//    The use latest restorable auto snapshot and restore date parameters are
13863	//    mutually exclusive.
13864	//
13865	//    * Define this parameter only when copying an automatic snapshot as a manual
13866	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
13867	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
13868}
13869
13870// String returns the string representation
13871func (s CopySnapshotInput) String() string {
13872	return awsutil.Prettify(s)
13873}
13874
13875// GoString returns the string representation
13876func (s CopySnapshotInput) GoString() string {
13877	return s.String()
13878}
13879
13880// Validate inspects the fields of the type to determine if they are valid.
13881func (s *CopySnapshotInput) Validate() error {
13882	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
13883	if s.SourceRegion == nil {
13884		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
13885	}
13886	if s.TargetSnapshotName == nil {
13887		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
13888	}
13889
13890	if invalidParams.Len() > 0 {
13891		return invalidParams
13892	}
13893	return nil
13894}
13895
13896// SetRestoreDate sets the RestoreDate field's value.
13897func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
13898	s.RestoreDate = &v
13899	return s
13900}
13901
13902// SetSourceRegion sets the SourceRegion field's value.
13903func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
13904	s.SourceRegion = &v
13905	return s
13906}
13907
13908// SetSourceResourceName sets the SourceResourceName field's value.
13909func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
13910	s.SourceResourceName = &v
13911	return s
13912}
13913
13914// SetSourceSnapshotName sets the SourceSnapshotName field's value.
13915func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
13916	s.SourceSnapshotName = &v
13917	return s
13918}
13919
13920// SetTargetSnapshotName sets the TargetSnapshotName field's value.
13921func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
13922	s.TargetSnapshotName = &v
13923	return s
13924}
13925
13926// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
13927func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
13928	s.UseLatestRestorableAutoSnapshot = &v
13929	return s
13930}
13931
13932type CopySnapshotOutput struct {
13933	_ struct{} `type:"structure"`
13934
13935	// An array of objects that describe the result of the action, such as the status
13936	// of the request, the time stamp of the request, and the resources affected
13937	// by the request.
13938	Operations []*Operation `locationName:"operations" type:"list"`
13939}
13940
13941// String returns the string representation
13942func (s CopySnapshotOutput) String() string {
13943	return awsutil.Prettify(s)
13944}
13945
13946// GoString returns the string representation
13947func (s CopySnapshotOutput) GoString() string {
13948	return s.String()
13949}
13950
13951// SetOperations sets the Operations field's value.
13952func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
13953	s.Operations = v
13954	return s
13955}
13956
13957type CreateCloudFormationStackInput struct {
13958	_ struct{} `type:"structure"`
13959
13960	// An array of parameters that will be used to create the new Amazon EC2 instance.
13961	// You can only pass one instance entry at a time in this array. You will get
13962	// an invalid parameter error if you pass more than one instance entry in this
13963	// array.
13964	//
13965	// Instances is a required field
13966	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
13967}
13968
13969// String returns the string representation
13970func (s CreateCloudFormationStackInput) String() string {
13971	return awsutil.Prettify(s)
13972}
13973
13974// GoString returns the string representation
13975func (s CreateCloudFormationStackInput) GoString() string {
13976	return s.String()
13977}
13978
13979// Validate inspects the fields of the type to determine if they are valid.
13980func (s *CreateCloudFormationStackInput) Validate() error {
13981	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
13982	if s.Instances == nil {
13983		invalidParams.Add(request.NewErrParamRequired("Instances"))
13984	}
13985	if s.Instances != nil {
13986		for i, v := range s.Instances {
13987			if v == nil {
13988				continue
13989			}
13990			if err := v.Validate(); err != nil {
13991				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
13992			}
13993		}
13994	}
13995
13996	if invalidParams.Len() > 0 {
13997		return invalidParams
13998	}
13999	return nil
14000}
14001
14002// SetInstances sets the Instances field's value.
14003func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
14004	s.Instances = v
14005	return s
14006}
14007
14008type CreateCloudFormationStackOutput struct {
14009	_ struct{} `type:"structure"`
14010
14011	// An array of objects that describe the result of the action, such as the status
14012	// of the request, the time stamp of the request, and the resources affected
14013	// by the request.
14014	Operations []*Operation `locationName:"operations" type:"list"`
14015}
14016
14017// String returns the string representation
14018func (s CreateCloudFormationStackOutput) String() string {
14019	return awsutil.Prettify(s)
14020}
14021
14022// GoString returns the string representation
14023func (s CreateCloudFormationStackOutput) GoString() string {
14024	return s.String()
14025}
14026
14027// SetOperations sets the Operations field's value.
14028func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
14029	s.Operations = v
14030	return s
14031}
14032
14033type CreateContactMethodInput struct {
14034	_ struct{} `type:"structure"`
14035
14036	// The destination of the contact method, such as an email address or a mobile
14037	// phone number.
14038	//
14039	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
14040	// for the phone number structure used for international telecommunication.
14041	// Phone numbers that follow this format can have a maximum of 15 digits, and
14042	// they are prefixed with the plus character (+) and the country code. For example,
14043	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
14044	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) in Wikipedia.
14045	//
14046	// ContactEndpoint is a required field
14047	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
14048
14049	// The protocol of the contact method, such as Email or SMS (text messaging).
14050	//
14051	// The SMS protocol is supported only in the following AWS Regions.
14052	//
14053	//    * US East (N. Virginia) (us-east-1)
14054	//
14055	//    * US West (Oregon) (us-west-2)
14056	//
14057	//    * Europe (Ireland) (eu-west-1)
14058	//
14059	//    * Asia Pacific (Tokyo) (ap-northeast-1)
14060	//
14061	//    * Asia Pacific (Singapore) (ap-southeast-1)
14062	//
14063	//    * Asia Pacific (Sydney) (ap-southeast-2)
14064	//
14065	// For a list of countries/regions where SMS text messages can be sent, and
14066	// the latest AWS Regions where SMS text messaging is supported, see Supported
14067	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
14068	// in the Amazon SNS Developer Guide.
14069	//
14070	// For more information about notifications in Amazon Lightsail, see Notifications
14071	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
14072	//
14073	// Protocol is a required field
14074	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
14075}
14076
14077// String returns the string representation
14078func (s CreateContactMethodInput) String() string {
14079	return awsutil.Prettify(s)
14080}
14081
14082// GoString returns the string representation
14083func (s CreateContactMethodInput) GoString() string {
14084	return s.String()
14085}
14086
14087// Validate inspects the fields of the type to determine if they are valid.
14088func (s *CreateContactMethodInput) Validate() error {
14089	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
14090	if s.ContactEndpoint == nil {
14091		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
14092	}
14093	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
14094		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
14095	}
14096	if s.Protocol == nil {
14097		invalidParams.Add(request.NewErrParamRequired("Protocol"))
14098	}
14099
14100	if invalidParams.Len() > 0 {
14101		return invalidParams
14102	}
14103	return nil
14104}
14105
14106// SetContactEndpoint sets the ContactEndpoint field's value.
14107func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
14108	s.ContactEndpoint = &v
14109	return s
14110}
14111
14112// SetProtocol sets the Protocol field's value.
14113func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
14114	s.Protocol = &v
14115	return s
14116}
14117
14118type CreateContactMethodOutput struct {
14119	_ struct{} `type:"structure"`
14120
14121	// An array of objects that describe the result of the action, such as the status
14122	// of the request, the time stamp of the request, and the resources affected
14123	// by the request.
14124	Operations []*Operation `locationName:"operations" type:"list"`
14125}
14126
14127// String returns the string representation
14128func (s CreateContactMethodOutput) String() string {
14129	return awsutil.Prettify(s)
14130}
14131
14132// GoString returns the string representation
14133func (s CreateContactMethodOutput) GoString() string {
14134	return s.String()
14135}
14136
14137// SetOperations sets the Operations field's value.
14138func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
14139	s.Operations = v
14140	return s
14141}
14142
14143type CreateDiskFromSnapshotInput struct {
14144	_ struct{} `type:"structure"`
14145
14146	// An array of objects that represent the add-ons to enable for the new disk.
14147	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
14148
14149	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
14150	// Choose the same Availability Zone as the Lightsail instance where you want
14151	// to create the disk.
14152	//
14153	// Use the GetRegions operation to list the Availability Zones where Lightsail
14154	// is currently available.
14155	//
14156	// AvailabilityZone is a required field
14157	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
14158
14159	// The unique Lightsail disk name (e.g., my-disk).
14160	//
14161	// DiskName is a required field
14162	DiskName *string `locationName:"diskName" type:"string" required:"true"`
14163
14164	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
14165	// new storage disk.
14166	//
14167	// Constraint:
14168	//
14169	//    * This parameter cannot be defined together with the source disk name
14170	//    parameter. The disk snapshot name and source disk name parameters are
14171	//    mutually exclusive.
14172	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
14173
14174	// The date of the automatic snapshot to use for the new disk. Use the get auto
14175	// snapshots operation to identify the dates of the available automatic snapshots.
14176	//
14177	// Constraints:
14178	//
14179	//    * Must be specified in YYYY-MM-DD format.
14180	//
14181	//    * This parameter cannot be defined together with the use latest restorable
14182	//    auto snapshot parameter. The restore date and use latest restorable auto
14183	//    snapshot parameters are mutually exclusive.
14184	//
14185	//    * Define this parameter only when creating a new disk from an automatic
14186	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
14187	RestoreDate *string `locationName:"restoreDate" type:"string"`
14188
14189	// The size of the disk in GB (e.g., 32).
14190	//
14191	// SizeInGb is a required field
14192	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
14193
14194	// The name of the source disk from which the source automatic snapshot was
14195	// created.
14196	//
14197	// Constraints:
14198	//
14199	//    * This parameter cannot be defined together with the disk snapshot name
14200	//    parameter. The source disk name and disk snapshot name parameters are
14201	//    mutually exclusive.
14202	//
14203	//    * Define this parameter only when creating a new disk from an automatic
14204	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
14205	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
14206
14207	// The tag keys and optional values to add to the resource during create.
14208	//
14209	// To tag a resource after it has been created, see the tag resource operation.
14210	Tags []*Tag `locationName:"tags" type:"list"`
14211
14212	// A Boolean value to indicate whether to use the latest available automatic
14213	// snapshot.
14214	//
14215	// Constraints:
14216	//
14217	//    * This parameter cannot be defined together with the restore date parameter.
14218	//    The use latest restorable auto snapshot and restore date parameters are
14219	//    mutually exclusive.
14220	//
14221	//    * Define this parameter only when creating a new disk from an automatic
14222	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
14223	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
14224}
14225
14226// String returns the string representation
14227func (s CreateDiskFromSnapshotInput) String() string {
14228	return awsutil.Prettify(s)
14229}
14230
14231// GoString returns the string representation
14232func (s CreateDiskFromSnapshotInput) GoString() string {
14233	return s.String()
14234}
14235
14236// Validate inspects the fields of the type to determine if they are valid.
14237func (s *CreateDiskFromSnapshotInput) Validate() error {
14238	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
14239	if s.AvailabilityZone == nil {
14240		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
14241	}
14242	if s.DiskName == nil {
14243		invalidParams.Add(request.NewErrParamRequired("DiskName"))
14244	}
14245	if s.SizeInGb == nil {
14246		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
14247	}
14248	if s.AddOns != nil {
14249		for i, v := range s.AddOns {
14250			if v == nil {
14251				continue
14252			}
14253			if err := v.Validate(); err != nil {
14254				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
14255			}
14256		}
14257	}
14258
14259	if invalidParams.Len() > 0 {
14260		return invalidParams
14261	}
14262	return nil
14263}
14264
14265// SetAddOns sets the AddOns field's value.
14266func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
14267	s.AddOns = v
14268	return s
14269}
14270
14271// SetAvailabilityZone sets the AvailabilityZone field's value.
14272func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
14273	s.AvailabilityZone = &v
14274	return s
14275}
14276
14277// SetDiskName sets the DiskName field's value.
14278func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
14279	s.DiskName = &v
14280	return s
14281}
14282
14283// SetDiskSnapshotName sets the DiskSnapshotName field's value.
14284func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
14285	s.DiskSnapshotName = &v
14286	return s
14287}
14288
14289// SetRestoreDate sets the RestoreDate field's value.
14290func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
14291	s.RestoreDate = &v
14292	return s
14293}
14294
14295// SetSizeInGb sets the SizeInGb field's value.
14296func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
14297	s.SizeInGb = &v
14298	return s
14299}
14300
14301// SetSourceDiskName sets the SourceDiskName field's value.
14302func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
14303	s.SourceDiskName = &v
14304	return s
14305}
14306
14307// SetTags sets the Tags field's value.
14308func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
14309	s.Tags = v
14310	return s
14311}
14312
14313// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
14314func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
14315	s.UseLatestRestorableAutoSnapshot = &v
14316	return s
14317}
14318
14319type CreateDiskFromSnapshotOutput struct {
14320	_ struct{} `type:"structure"`
14321
14322	// An array of objects that describe the result of the action, such as the status
14323	// of the request, the time stamp of the request, and the resources affected
14324	// by the request.
14325	Operations []*Operation `locationName:"operations" type:"list"`
14326}
14327
14328// String returns the string representation
14329func (s CreateDiskFromSnapshotOutput) String() string {
14330	return awsutil.Prettify(s)
14331}
14332
14333// GoString returns the string representation
14334func (s CreateDiskFromSnapshotOutput) GoString() string {
14335	return s.String()
14336}
14337
14338// SetOperations sets the Operations field's value.
14339func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
14340	s.Operations = v
14341	return s
14342}
14343
14344type CreateDiskInput struct {
14345	_ struct{} `type:"structure"`
14346
14347	// An array of objects that represent the add-ons to enable for the new disk.
14348	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
14349
14350	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
14351	// Use the same Availability Zone as the Lightsail instance to which you want
14352	// to attach the disk.
14353	//
14354	// Use the get regions operation to list the Availability Zones where Lightsail
14355	// is currently available.
14356	//
14357	// AvailabilityZone is a required field
14358	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
14359
14360	// The unique Lightsail disk name (e.g., my-disk).
14361	//
14362	// DiskName is a required field
14363	DiskName *string `locationName:"diskName" type:"string" required:"true"`
14364
14365	// The size of the disk in GB (e.g., 32).
14366	//
14367	// SizeInGb is a required field
14368	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
14369
14370	// The tag keys and optional values to add to the resource during create.
14371	//
14372	// To tag a resource after it has been created, see the tag resource operation.
14373	Tags []*Tag `locationName:"tags" type:"list"`
14374}
14375
14376// String returns the string representation
14377func (s CreateDiskInput) String() string {
14378	return awsutil.Prettify(s)
14379}
14380
14381// GoString returns the string representation
14382func (s CreateDiskInput) GoString() string {
14383	return s.String()
14384}
14385
14386// Validate inspects the fields of the type to determine if they are valid.
14387func (s *CreateDiskInput) Validate() error {
14388	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
14389	if s.AvailabilityZone == nil {
14390		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
14391	}
14392	if s.DiskName == nil {
14393		invalidParams.Add(request.NewErrParamRequired("DiskName"))
14394	}
14395	if s.SizeInGb == nil {
14396		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
14397	}
14398	if s.AddOns != nil {
14399		for i, v := range s.AddOns {
14400			if v == nil {
14401				continue
14402			}
14403			if err := v.Validate(); err != nil {
14404				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
14405			}
14406		}
14407	}
14408
14409	if invalidParams.Len() > 0 {
14410		return invalidParams
14411	}
14412	return nil
14413}
14414
14415// SetAddOns sets the AddOns field's value.
14416func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
14417	s.AddOns = v
14418	return s
14419}
14420
14421// SetAvailabilityZone sets the AvailabilityZone field's value.
14422func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
14423	s.AvailabilityZone = &v
14424	return s
14425}
14426
14427// SetDiskName sets the DiskName field's value.
14428func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
14429	s.DiskName = &v
14430	return s
14431}
14432
14433// SetSizeInGb sets the SizeInGb field's value.
14434func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
14435	s.SizeInGb = &v
14436	return s
14437}
14438
14439// SetTags sets the Tags field's value.
14440func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
14441	s.Tags = v
14442	return s
14443}
14444
14445type CreateDiskOutput struct {
14446	_ struct{} `type:"structure"`
14447
14448	// An array of objects that describe the result of the action, such as the status
14449	// of the request, the time stamp of the request, and the resources affected
14450	// by the request.
14451	Operations []*Operation `locationName:"operations" type:"list"`
14452}
14453
14454// String returns the string representation
14455func (s CreateDiskOutput) String() string {
14456	return awsutil.Prettify(s)
14457}
14458
14459// GoString returns the string representation
14460func (s CreateDiskOutput) GoString() string {
14461	return s.String()
14462}
14463
14464// SetOperations sets the Operations field's value.
14465func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
14466	s.Operations = v
14467	return s
14468}
14469
14470type CreateDiskSnapshotInput struct {
14471	_ struct{} `type:"structure"`
14472
14473	// The unique name of the source disk (e.g., Disk-Virginia-1).
14474	//
14475	// This parameter cannot be defined together with the instance name parameter.
14476	// The disk name and instance name parameters are mutually exclusive.
14477	DiskName *string `locationName:"diskName" type:"string"`
14478
14479	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
14480	// on the source disk.
14481	//
14482	// DiskSnapshotName is a required field
14483	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
14484
14485	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
14486	// When this is defined, a snapshot of the instance's system volume is created.
14487	//
14488	// This parameter cannot be defined together with the disk name parameter. The
14489	// instance name and disk name parameters are mutually exclusive.
14490	InstanceName *string `locationName:"instanceName" type:"string"`
14491
14492	// The tag keys and optional values to add to the resource during create.
14493	//
14494	// To tag a resource after it has been created, see the tag resource operation.
14495	Tags []*Tag `locationName:"tags" type:"list"`
14496}
14497
14498// String returns the string representation
14499func (s CreateDiskSnapshotInput) String() string {
14500	return awsutil.Prettify(s)
14501}
14502
14503// GoString returns the string representation
14504func (s CreateDiskSnapshotInput) GoString() string {
14505	return s.String()
14506}
14507
14508// Validate inspects the fields of the type to determine if they are valid.
14509func (s *CreateDiskSnapshotInput) Validate() error {
14510	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
14511	if s.DiskSnapshotName == nil {
14512		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
14513	}
14514
14515	if invalidParams.Len() > 0 {
14516		return invalidParams
14517	}
14518	return nil
14519}
14520
14521// SetDiskName sets the DiskName field's value.
14522func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
14523	s.DiskName = &v
14524	return s
14525}
14526
14527// SetDiskSnapshotName sets the DiskSnapshotName field's value.
14528func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
14529	s.DiskSnapshotName = &v
14530	return s
14531}
14532
14533// SetInstanceName sets the InstanceName field's value.
14534func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
14535	s.InstanceName = &v
14536	return s
14537}
14538
14539// SetTags sets the Tags field's value.
14540func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
14541	s.Tags = v
14542	return s
14543}
14544
14545type CreateDiskSnapshotOutput struct {
14546	_ struct{} `type:"structure"`
14547
14548	// An array of objects that describe the result of the action, such as the status
14549	// of the request, the time stamp of the request, and the resources affected
14550	// by the request.
14551	Operations []*Operation `locationName:"operations" type:"list"`
14552}
14553
14554// String returns the string representation
14555func (s CreateDiskSnapshotOutput) String() string {
14556	return awsutil.Prettify(s)
14557}
14558
14559// GoString returns the string representation
14560func (s CreateDiskSnapshotOutput) GoString() string {
14561	return s.String()
14562}
14563
14564// SetOperations sets the Operations field's value.
14565func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
14566	s.Operations = v
14567	return s
14568}
14569
14570type CreateDomainEntryInput struct {
14571	_ struct{} `type:"structure"`
14572
14573	// An array of key-value pairs containing information about the domain entry
14574	// request.
14575	//
14576	// DomainEntry is a required field
14577	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
14578
14579	// The domain name (e.g., example.com) for which you want to create the domain
14580	// entry.
14581	//
14582	// DomainName is a required field
14583	DomainName *string `locationName:"domainName" type:"string" required:"true"`
14584}
14585
14586// String returns the string representation
14587func (s CreateDomainEntryInput) String() string {
14588	return awsutil.Prettify(s)
14589}
14590
14591// GoString returns the string representation
14592func (s CreateDomainEntryInput) GoString() string {
14593	return s.String()
14594}
14595
14596// Validate inspects the fields of the type to determine if they are valid.
14597func (s *CreateDomainEntryInput) Validate() error {
14598	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
14599	if s.DomainEntry == nil {
14600		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
14601	}
14602	if s.DomainName == nil {
14603		invalidParams.Add(request.NewErrParamRequired("DomainName"))
14604	}
14605
14606	if invalidParams.Len() > 0 {
14607		return invalidParams
14608	}
14609	return nil
14610}
14611
14612// SetDomainEntry sets the DomainEntry field's value.
14613func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
14614	s.DomainEntry = v
14615	return s
14616}
14617
14618// SetDomainName sets the DomainName field's value.
14619func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
14620	s.DomainName = &v
14621	return s
14622}
14623
14624type CreateDomainEntryOutput struct {
14625	_ struct{} `type:"structure"`
14626
14627	// An array of objects that describe the result of the action, such as the status
14628	// of the request, the time stamp of the request, and the resources affected
14629	// by the request.
14630	Operation *Operation `locationName:"operation" type:"structure"`
14631}
14632
14633// String returns the string representation
14634func (s CreateDomainEntryOutput) String() string {
14635	return awsutil.Prettify(s)
14636}
14637
14638// GoString returns the string representation
14639func (s CreateDomainEntryOutput) GoString() string {
14640	return s.String()
14641}
14642
14643// SetOperation sets the Operation field's value.
14644func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
14645	s.Operation = v
14646	return s
14647}
14648
14649type CreateDomainInput struct {
14650	_ struct{} `type:"structure"`
14651
14652	// The domain name to manage (e.g., example.com).
14653	//
14654	// You cannot register a new domain name using Lightsail. You must register
14655	// a domain name using Amazon Route 53 or another domain name registrar. If
14656	// you have already registered your domain, you can enter its name in this parameter
14657	// to manage the DNS records for that domain.
14658	//
14659	// DomainName is a required field
14660	DomainName *string `locationName:"domainName" type:"string" required:"true"`
14661
14662	// The tag keys and optional values to add to the resource during create.
14663	//
14664	// To tag a resource after it has been created, see the tag resource operation.
14665	Tags []*Tag `locationName:"tags" type:"list"`
14666}
14667
14668// String returns the string representation
14669func (s CreateDomainInput) String() string {
14670	return awsutil.Prettify(s)
14671}
14672
14673// GoString returns the string representation
14674func (s CreateDomainInput) GoString() string {
14675	return s.String()
14676}
14677
14678// Validate inspects the fields of the type to determine if they are valid.
14679func (s *CreateDomainInput) Validate() error {
14680	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
14681	if s.DomainName == nil {
14682		invalidParams.Add(request.NewErrParamRequired("DomainName"))
14683	}
14684
14685	if invalidParams.Len() > 0 {
14686		return invalidParams
14687	}
14688	return nil
14689}
14690
14691// SetDomainName sets the DomainName field's value.
14692func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
14693	s.DomainName = &v
14694	return s
14695}
14696
14697// SetTags sets the Tags field's value.
14698func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
14699	s.Tags = v
14700	return s
14701}
14702
14703type CreateDomainOutput struct {
14704	_ struct{} `type:"structure"`
14705
14706	// An array of objects that describe the result of the action, such as the status
14707	// of the request, the time stamp of the request, and the resources affected
14708	// by the request.
14709	Operation *Operation `locationName:"operation" type:"structure"`
14710}
14711
14712// String returns the string representation
14713func (s CreateDomainOutput) String() string {
14714	return awsutil.Prettify(s)
14715}
14716
14717// GoString returns the string representation
14718func (s CreateDomainOutput) GoString() string {
14719	return s.String()
14720}
14721
14722// SetOperation sets the Operation field's value.
14723func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
14724	s.Operation = v
14725	return s
14726}
14727
14728type CreateInstanceSnapshotInput struct {
14729	_ struct{} `type:"structure"`
14730
14731	// The Lightsail instance on which to base your snapshot.
14732	//
14733	// InstanceName is a required field
14734	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
14735
14736	// The name for your new snapshot.
14737	//
14738	// InstanceSnapshotName is a required field
14739	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
14740
14741	// The tag keys and optional values to add to the resource during create.
14742	//
14743	// To tag a resource after it has been created, see the tag resource operation.
14744	Tags []*Tag `locationName:"tags" type:"list"`
14745}
14746
14747// String returns the string representation
14748func (s CreateInstanceSnapshotInput) String() string {
14749	return awsutil.Prettify(s)
14750}
14751
14752// GoString returns the string representation
14753func (s CreateInstanceSnapshotInput) GoString() string {
14754	return s.String()
14755}
14756
14757// Validate inspects the fields of the type to determine if they are valid.
14758func (s *CreateInstanceSnapshotInput) Validate() error {
14759	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
14760	if s.InstanceName == nil {
14761		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
14762	}
14763	if s.InstanceSnapshotName == nil {
14764		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
14765	}
14766
14767	if invalidParams.Len() > 0 {
14768		return invalidParams
14769	}
14770	return nil
14771}
14772
14773// SetInstanceName sets the InstanceName field's value.
14774func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
14775	s.InstanceName = &v
14776	return s
14777}
14778
14779// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
14780func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
14781	s.InstanceSnapshotName = &v
14782	return s
14783}
14784
14785// SetTags sets the Tags field's value.
14786func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
14787	s.Tags = v
14788	return s
14789}
14790
14791type CreateInstanceSnapshotOutput struct {
14792	_ struct{} `type:"structure"`
14793
14794	// An array of objects that describe the result of the action, such as the status
14795	// of the request, the time stamp of the request, and the resources affected
14796	// by the request.
14797	Operations []*Operation `locationName:"operations" type:"list"`
14798}
14799
14800// String returns the string representation
14801func (s CreateInstanceSnapshotOutput) String() string {
14802	return awsutil.Prettify(s)
14803}
14804
14805// GoString returns the string representation
14806func (s CreateInstanceSnapshotOutput) GoString() string {
14807	return s.String()
14808}
14809
14810// SetOperations sets the Operations field's value.
14811func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
14812	s.Operations = v
14813	return s
14814}
14815
14816type CreateInstancesFromSnapshotInput struct {
14817	_ struct{} `type:"structure"`
14818
14819	// An array of objects representing the add-ons to enable for the new instance.
14820	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
14821
14822	// An object containing information about one or more disk mappings.
14823	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
14824
14825	// The Availability Zone where you want to create your instances. Use the following
14826	// formatting: us-east-2a (case sensitive). You can get a list of Availability
14827	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
14828	// operation. Be sure to add the include Availability Zones parameter to your
14829	// request.
14830	//
14831	// AvailabilityZone is a required field
14832	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
14833
14834	// The bundle of specification information for your virtual private server (or
14835	// instance), including the pricing plan (e.g., micro_1_0).
14836	//
14837	// BundleId is a required field
14838	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
14839
14840	// The names for your new instances.
14841	//
14842	// InstanceNames is a required field
14843	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
14844
14845	// The name of the instance snapshot on which you are basing your new instances.
14846	// Use the get instance snapshots operation to return information about your
14847	// existing snapshots.
14848	//
14849	// Constraint:
14850	//
14851	//    * This parameter cannot be defined together with the source instance name
14852	//    parameter. The instance snapshot name and source instance name parameters
14853	//    are mutually exclusive.
14854	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
14855
14856	// The name for your key pair.
14857	KeyPairName *string `locationName:"keyPairName" type:"string"`
14858
14859	// The date of the automatic snapshot to use for the new instance. Use the get
14860	// auto snapshots operation to identify the dates of the available automatic
14861	// snapshots.
14862	//
14863	// Constraints:
14864	//
14865	//    * Must be specified in YYYY-MM-DD format.
14866	//
14867	//    * This parameter cannot be defined together with the use latest restorable
14868	//    auto snapshot parameter. The restore date and use latest restorable auto
14869	//    snapshot parameters are mutually exclusive.
14870	//
14871	//    * Define this parameter only when creating a new instance from an automatic
14872	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
14873	RestoreDate *string `locationName:"restoreDate" type:"string"`
14874
14875	// The name of the source instance from which the source automatic snapshot
14876	// was created.
14877	//
14878	// Constraints:
14879	//
14880	//    * This parameter cannot be defined together with the instance snapshot
14881	//    name parameter. The source instance name and instance snapshot name parameters
14882	//    are mutually exclusive.
14883	//
14884	//    * Define this parameter only when creating a new instance from an automatic
14885	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
14886	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
14887
14888	// The tag keys and optional values to add to the resource during create.
14889	//
14890	// To tag a resource after it has been created, see the tag resource operation.
14891	Tags []*Tag `locationName:"tags" type:"list"`
14892
14893	// A Boolean value to indicate whether to use the latest available automatic
14894	// snapshot.
14895	//
14896	// Constraints:
14897	//
14898	//    * This parameter cannot be defined together with the restore date parameter.
14899	//    The use latest restorable auto snapshot and restore date parameters are
14900	//    mutually exclusive.
14901	//
14902	//    * Define this parameter only when creating a new instance from an automatic
14903	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
14904	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
14905
14906	// You can create a launch script that configures a server with additional user
14907	// data. For example, apt-get -y update.
14908	//
14909	// Depending on the machine image you choose, the command to get software on
14910	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
14911	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
14912	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
14913	UserData *string `locationName:"userData" type:"string"`
14914}
14915
14916// String returns the string representation
14917func (s CreateInstancesFromSnapshotInput) String() string {
14918	return awsutil.Prettify(s)
14919}
14920
14921// GoString returns the string representation
14922func (s CreateInstancesFromSnapshotInput) GoString() string {
14923	return s.String()
14924}
14925
14926// Validate inspects the fields of the type to determine if they are valid.
14927func (s *CreateInstancesFromSnapshotInput) Validate() error {
14928	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
14929	if s.AvailabilityZone == nil {
14930		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
14931	}
14932	if s.BundleId == nil {
14933		invalidParams.Add(request.NewErrParamRequired("BundleId"))
14934	}
14935	if s.InstanceNames == nil {
14936		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
14937	}
14938	if s.AddOns != nil {
14939		for i, v := range s.AddOns {
14940			if v == nil {
14941				continue
14942			}
14943			if err := v.Validate(); err != nil {
14944				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
14945			}
14946		}
14947	}
14948
14949	if invalidParams.Len() > 0 {
14950		return invalidParams
14951	}
14952	return nil
14953}
14954
14955// SetAddOns sets the AddOns field's value.
14956func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
14957	s.AddOns = v
14958	return s
14959}
14960
14961// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
14962func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
14963	s.AttachedDiskMapping = v
14964	return s
14965}
14966
14967// SetAvailabilityZone sets the AvailabilityZone field's value.
14968func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
14969	s.AvailabilityZone = &v
14970	return s
14971}
14972
14973// SetBundleId sets the BundleId field's value.
14974func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
14975	s.BundleId = &v
14976	return s
14977}
14978
14979// SetInstanceNames sets the InstanceNames field's value.
14980func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
14981	s.InstanceNames = v
14982	return s
14983}
14984
14985// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
14986func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
14987	s.InstanceSnapshotName = &v
14988	return s
14989}
14990
14991// SetKeyPairName sets the KeyPairName field's value.
14992func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
14993	s.KeyPairName = &v
14994	return s
14995}
14996
14997// SetRestoreDate sets the RestoreDate field's value.
14998func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
14999	s.RestoreDate = &v
15000	return s
15001}
15002
15003// SetSourceInstanceName sets the SourceInstanceName field's value.
15004func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
15005	s.SourceInstanceName = &v
15006	return s
15007}
15008
15009// SetTags sets the Tags field's value.
15010func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
15011	s.Tags = v
15012	return s
15013}
15014
15015// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
15016func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
15017	s.UseLatestRestorableAutoSnapshot = &v
15018	return s
15019}
15020
15021// SetUserData sets the UserData field's value.
15022func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
15023	s.UserData = &v
15024	return s
15025}
15026
15027type CreateInstancesFromSnapshotOutput struct {
15028	_ struct{} `type:"structure"`
15029
15030	// An array of objects that describe the result of the action, such as the status
15031	// of the request, the time stamp of the request, and the resources affected
15032	// by the request.
15033	Operations []*Operation `locationName:"operations" type:"list"`
15034}
15035
15036// String returns the string representation
15037func (s CreateInstancesFromSnapshotOutput) String() string {
15038	return awsutil.Prettify(s)
15039}
15040
15041// GoString returns the string representation
15042func (s CreateInstancesFromSnapshotOutput) GoString() string {
15043	return s.String()
15044}
15045
15046// SetOperations sets the Operations field's value.
15047func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
15048	s.Operations = v
15049	return s
15050}
15051
15052type CreateInstancesInput struct {
15053	_ struct{} `type:"structure"`
15054
15055	// An array of objects representing the add-ons to enable for the new instance.
15056	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
15057
15058	// The Availability Zone in which to create your instance. Use the following
15059	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
15060	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
15061	// operation. Be sure to add the include Availability Zones parameter to your
15062	// request.
15063	//
15064	// AvailabilityZone is a required field
15065	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
15066
15067	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
15068	// Use the get blueprints operation to return a list of available images (or
15069	// blueprints).
15070	//
15071	// Use active blueprints when creating new instances. Inactive blueprints are
15072	// listed to support customers with existing instances and are not necessarily
15073	// available to create new instances. Blueprints are marked inactive when they
15074	// become outdated due to operating system updates or new application releases.
15075	//
15076	// BlueprintId is a required field
15077	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
15078
15079	// The bundle of specification information for your virtual private server (or
15080	// instance), including the pricing plan (e.g., micro_1_0).
15081	//
15082	// BundleId is a required field
15083	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
15084
15085	// (Deprecated) The name for your custom image.
15086	//
15087	// In releases prior to June 12, 2017, this parameter was ignored by the API.
15088	// It is now deprecated.
15089	//
15090	// Deprecated: CustomImageName has been deprecated
15091	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
15092
15093	// The names to use for your new Lightsail instances. Separate multiple values
15094	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
15095	//
15096	// InstanceNames is a required field
15097	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
15098
15099	// The name of your key pair.
15100	KeyPairName *string `locationName:"keyPairName" type:"string"`
15101
15102	// The tag keys and optional values to add to the resource during create.
15103	//
15104	// To tag a resource after it has been created, see the tag resource operation.
15105	Tags []*Tag `locationName:"tags" type:"list"`
15106
15107	// A launch script you can create that configures a server with additional user
15108	// data. For example, you might want to run apt-get -y update.
15109	//
15110	// Depending on the machine image you choose, the command to get software on
15111	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
15112	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
15113	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
15114	UserData *string `locationName:"userData" type:"string"`
15115}
15116
15117// String returns the string representation
15118func (s CreateInstancesInput) String() string {
15119	return awsutil.Prettify(s)
15120}
15121
15122// GoString returns the string representation
15123func (s CreateInstancesInput) GoString() string {
15124	return s.String()
15125}
15126
15127// Validate inspects the fields of the type to determine if they are valid.
15128func (s *CreateInstancesInput) Validate() error {
15129	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
15130	if s.AvailabilityZone == nil {
15131		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
15132	}
15133	if s.BlueprintId == nil {
15134		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
15135	}
15136	if s.BundleId == nil {
15137		invalidParams.Add(request.NewErrParamRequired("BundleId"))
15138	}
15139	if s.InstanceNames == nil {
15140		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
15141	}
15142	if s.AddOns != nil {
15143		for i, v := range s.AddOns {
15144			if v == nil {
15145				continue
15146			}
15147			if err := v.Validate(); err != nil {
15148				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
15149			}
15150		}
15151	}
15152
15153	if invalidParams.Len() > 0 {
15154		return invalidParams
15155	}
15156	return nil
15157}
15158
15159// SetAddOns sets the AddOns field's value.
15160func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
15161	s.AddOns = v
15162	return s
15163}
15164
15165// SetAvailabilityZone sets the AvailabilityZone field's value.
15166func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
15167	s.AvailabilityZone = &v
15168	return s
15169}
15170
15171// SetBlueprintId sets the BlueprintId field's value.
15172func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
15173	s.BlueprintId = &v
15174	return s
15175}
15176
15177// SetBundleId sets the BundleId field's value.
15178func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
15179	s.BundleId = &v
15180	return s
15181}
15182
15183// SetCustomImageName sets the CustomImageName field's value.
15184func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
15185	s.CustomImageName = &v
15186	return s
15187}
15188
15189// SetInstanceNames sets the InstanceNames field's value.
15190func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
15191	s.InstanceNames = v
15192	return s
15193}
15194
15195// SetKeyPairName sets the KeyPairName field's value.
15196func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
15197	s.KeyPairName = &v
15198	return s
15199}
15200
15201// SetTags sets the Tags field's value.
15202func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
15203	s.Tags = v
15204	return s
15205}
15206
15207// SetUserData sets the UserData field's value.
15208func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
15209	s.UserData = &v
15210	return s
15211}
15212
15213type CreateInstancesOutput struct {
15214	_ struct{} `type:"structure"`
15215
15216	// An array of objects that describe the result of the action, such as the status
15217	// of the request, the time stamp of the request, and the resources affected
15218	// by the request.
15219	Operations []*Operation `locationName:"operations" type:"list"`
15220}
15221
15222// String returns the string representation
15223func (s CreateInstancesOutput) String() string {
15224	return awsutil.Prettify(s)
15225}
15226
15227// GoString returns the string representation
15228func (s CreateInstancesOutput) GoString() string {
15229	return s.String()
15230}
15231
15232// SetOperations sets the Operations field's value.
15233func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
15234	s.Operations = v
15235	return s
15236}
15237
15238type CreateKeyPairInput struct {
15239	_ struct{} `type:"structure"`
15240
15241	// The name for your new key pair.
15242	//
15243	// KeyPairName is a required field
15244	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
15245
15246	// The tag keys and optional values to add to the resource during create.
15247	//
15248	// To tag a resource after it has been created, see the tag resource operation.
15249	Tags []*Tag `locationName:"tags" type:"list"`
15250}
15251
15252// String returns the string representation
15253func (s CreateKeyPairInput) String() string {
15254	return awsutil.Prettify(s)
15255}
15256
15257// GoString returns the string representation
15258func (s CreateKeyPairInput) GoString() string {
15259	return s.String()
15260}
15261
15262// Validate inspects the fields of the type to determine if they are valid.
15263func (s *CreateKeyPairInput) Validate() error {
15264	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
15265	if s.KeyPairName == nil {
15266		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
15267	}
15268
15269	if invalidParams.Len() > 0 {
15270		return invalidParams
15271	}
15272	return nil
15273}
15274
15275// SetKeyPairName sets the KeyPairName field's value.
15276func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
15277	s.KeyPairName = &v
15278	return s
15279}
15280
15281// SetTags sets the Tags field's value.
15282func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
15283	s.Tags = v
15284	return s
15285}
15286
15287type CreateKeyPairOutput struct {
15288	_ struct{} `type:"structure"`
15289
15290	// An array of key-value pairs containing information about the new key pair
15291	// you just created.
15292	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
15293
15294	// An array of objects that describe the result of the action, such as the status
15295	// of the request, the time stamp of the request, and the resources affected
15296	// by the request.
15297	Operation *Operation `locationName:"operation" type:"structure"`
15298
15299	// A base64-encoded RSA private key.
15300	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
15301
15302	// A base64-encoded public key of the ssh-rsa type.
15303	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
15304}
15305
15306// String returns the string representation
15307func (s CreateKeyPairOutput) String() string {
15308	return awsutil.Prettify(s)
15309}
15310
15311// GoString returns the string representation
15312func (s CreateKeyPairOutput) GoString() string {
15313	return s.String()
15314}
15315
15316// SetKeyPair sets the KeyPair field's value.
15317func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
15318	s.KeyPair = v
15319	return s
15320}
15321
15322// SetOperation sets the Operation field's value.
15323func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
15324	s.Operation = v
15325	return s
15326}
15327
15328// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
15329func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
15330	s.PrivateKeyBase64 = &v
15331	return s
15332}
15333
15334// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
15335func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
15336	s.PublicKeyBase64 = &v
15337	return s
15338}
15339
15340type CreateLoadBalancerInput struct {
15341	_ struct{} `type:"structure"`
15342
15343	// The optional alternative domains and subdomains to use with your SSL/TLS
15344	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
15345	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
15346
15347	// The domain name with which your certificate is associated (e.g., example.com).
15348	//
15349	// If you specify certificateDomainName, then certificateName is required (and
15350	// vice-versa).
15351	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
15352
15353	// The name of the SSL/TLS certificate.
15354	//
15355	// If you specify certificateName, then certificateDomainName is required (and
15356	// vice-versa).
15357	CertificateName *string `locationName:"certificateName" type:"string"`
15358
15359	// The path you provided to perform the load balancer health check. If you didn't
15360	// specify a health check path, Lightsail uses the root path of your website
15361	// (e.g., "/").
15362	//
15363	// You may want to specify a custom health check path other than the root of
15364	// your application if your home page loads slowly or has a lot of media or
15365	// scripting on it.
15366	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
15367
15368	// The instance port where you're creating your load balancer.
15369	//
15370	// InstancePort is a required field
15371	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
15372
15373	// The name of your load balancer.
15374	//
15375	// LoadBalancerName is a required field
15376	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
15377
15378	// The tag keys and optional values to add to the resource during create.
15379	//
15380	// To tag a resource after it has been created, see the tag resource operation.
15381	Tags []*Tag `locationName:"tags" type:"list"`
15382}
15383
15384// String returns the string representation
15385func (s CreateLoadBalancerInput) String() string {
15386	return awsutil.Prettify(s)
15387}
15388
15389// GoString returns the string representation
15390func (s CreateLoadBalancerInput) GoString() string {
15391	return s.String()
15392}
15393
15394// Validate inspects the fields of the type to determine if they are valid.
15395func (s *CreateLoadBalancerInput) Validate() error {
15396	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
15397	if s.InstancePort == nil {
15398		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
15399	}
15400	if s.LoadBalancerName == nil {
15401		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
15402	}
15403
15404	if invalidParams.Len() > 0 {
15405		return invalidParams
15406	}
15407	return nil
15408}
15409
15410// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
15411func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
15412	s.CertificateAlternativeNames = v
15413	return s
15414}
15415
15416// SetCertificateDomainName sets the CertificateDomainName field's value.
15417func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
15418	s.CertificateDomainName = &v
15419	return s
15420}
15421
15422// SetCertificateName sets the CertificateName field's value.
15423func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
15424	s.CertificateName = &v
15425	return s
15426}
15427
15428// SetHealthCheckPath sets the HealthCheckPath field's value.
15429func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
15430	s.HealthCheckPath = &v
15431	return s
15432}
15433
15434// SetInstancePort sets the InstancePort field's value.
15435func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
15436	s.InstancePort = &v
15437	return s
15438}
15439
15440// SetLoadBalancerName sets the LoadBalancerName field's value.
15441func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
15442	s.LoadBalancerName = &v
15443	return s
15444}
15445
15446// SetTags sets the Tags field's value.
15447func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
15448	s.Tags = v
15449	return s
15450}
15451
15452type CreateLoadBalancerOutput struct {
15453	_ struct{} `type:"structure"`
15454
15455	// An array of objects that describe the result of the action, such as the status
15456	// of the request, the time stamp of the request, and the resources affected
15457	// by the request.
15458	Operations []*Operation `locationName:"operations" type:"list"`
15459}
15460
15461// String returns the string representation
15462func (s CreateLoadBalancerOutput) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation
15467func (s CreateLoadBalancerOutput) GoString() string {
15468	return s.String()
15469}
15470
15471// SetOperations sets the Operations field's value.
15472func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
15473	s.Operations = v
15474	return s
15475}
15476
15477type CreateLoadBalancerTlsCertificateInput struct {
15478	_ struct{} `type:"structure"`
15479
15480	// An array of strings listing alternative domains and subdomains for your SSL/TLS
15481	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
15482	// of 9 alternative names (in addition to the 1 primary domain). We do not support
15483	// wildcards (e.g., *.example.com).
15484	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
15485
15486	// The domain name (e.g., example.com) for your SSL/TLS certificate.
15487	//
15488	// CertificateDomainName is a required field
15489	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
15490
15491	// The SSL/TLS certificate name.
15492	//
15493	// You can have up to 10 certificates in your account at one time. Each Lightsail
15494	// load balancer can have up to 2 certificates associated with it at one time.
15495	// There is also an overall limit to the number of certificates that can be
15496	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
15497	//
15498	// CertificateName is a required field
15499	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
15500
15501	// The load balancer name where you want to create the SSL/TLS certificate.
15502	//
15503	// LoadBalancerName is a required field
15504	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
15505
15506	// The tag keys and optional values to add to the resource during create.
15507	//
15508	// To tag a resource after it has been created, see the tag resource operation.
15509	Tags []*Tag `locationName:"tags" type:"list"`
15510}
15511
15512// String returns the string representation
15513func (s CreateLoadBalancerTlsCertificateInput) String() string {
15514	return awsutil.Prettify(s)
15515}
15516
15517// GoString returns the string representation
15518func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
15519	return s.String()
15520}
15521
15522// Validate inspects the fields of the type to determine if they are valid.
15523func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
15524	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
15525	if s.CertificateDomainName == nil {
15526		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
15527	}
15528	if s.CertificateName == nil {
15529		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
15530	}
15531	if s.LoadBalancerName == nil {
15532		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
15533	}
15534
15535	if invalidParams.Len() > 0 {
15536		return invalidParams
15537	}
15538	return nil
15539}
15540
15541// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
15542func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
15543	s.CertificateAlternativeNames = v
15544	return s
15545}
15546
15547// SetCertificateDomainName sets the CertificateDomainName field's value.
15548func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
15549	s.CertificateDomainName = &v
15550	return s
15551}
15552
15553// SetCertificateName sets the CertificateName field's value.
15554func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
15555	s.CertificateName = &v
15556	return s
15557}
15558
15559// SetLoadBalancerName sets the LoadBalancerName field's value.
15560func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
15561	s.LoadBalancerName = &v
15562	return s
15563}
15564
15565// SetTags sets the Tags field's value.
15566func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
15567	s.Tags = v
15568	return s
15569}
15570
15571type CreateLoadBalancerTlsCertificateOutput struct {
15572	_ struct{} `type:"structure"`
15573
15574	// An array of objects that describe the result of the action, such as the status
15575	// of the request, the time stamp of the request, and the resources affected
15576	// by the request.
15577	Operations []*Operation `locationName:"operations" type:"list"`
15578}
15579
15580// String returns the string representation
15581func (s CreateLoadBalancerTlsCertificateOutput) String() string {
15582	return awsutil.Prettify(s)
15583}
15584
15585// GoString returns the string representation
15586func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
15587	return s.String()
15588}
15589
15590// SetOperations sets the Operations field's value.
15591func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
15592	s.Operations = v
15593	return s
15594}
15595
15596type CreateRelationalDatabaseFromSnapshotInput struct {
15597	_ struct{} `type:"structure"`
15598
15599	// The Availability Zone in which to create your new database. Use the us-east-2a
15600	// case-sensitive format.
15601	//
15602	// You can get a list of Availability Zones by using the get regions operation.
15603	// Be sure to add the include relational database Availability Zones parameter
15604	// to your request.
15605	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
15606
15607	// Specifies the accessibility options for your new database. A value of true
15608	// specifies a database that is available to resources outside of your Lightsail
15609	// account. A value of false specifies a database that is available only to
15610	// your Lightsail resources in the same region as your database.
15611	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
15612
15613	// The bundle ID for your new database. A bundle describes the performance specifications
15614	// for your database.
15615	//
15616	// You can get a list of database bundle IDs by using the get relational database
15617	// bundles operation.
15618	//
15619	// When creating a new database from a snapshot, you cannot choose a bundle
15620	// that is smaller than the bundle of the source database.
15621	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
15622
15623	// The name to use for your new database.
15624	//
15625	// Constraints:
15626	//
15627	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
15628	//
15629	//    * The first and last character must be a letter or number.
15630	//
15631	// RelationalDatabaseName is a required field
15632	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
15633
15634	// The name of the database snapshot from which to create your new database.
15635	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
15636
15637	// The date and time to restore your database from.
15638	//
15639	// Constraints:
15640	//
15641	//    * Must be before the latest restorable time for the database.
15642	//
15643	//    * Cannot be specified if the use latest restorable time parameter is true.
15644	//
15645	//    * Specified in Coordinated Universal Time (UTC).
15646	//
15647	//    * Specified in the Unix time format. For example, if you wish to use a
15648	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
15649	//    as the restore time.
15650	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
15651
15652	// The name of the source database.
15653	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
15654
15655	// The tag keys and optional values to add to the resource during create.
15656	//
15657	// To tag a resource after it has been created, see the tag resource operation.
15658	Tags []*Tag `locationName:"tags" type:"list"`
15659
15660	// Specifies whether your database is restored from the latest backup time.
15661	// A value of true restores from the latest backup time.
15662	//
15663	// Default: false
15664	//
15665	// Constraints: Cannot be specified if the restore time parameter is provided.
15666	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
15667}
15668
15669// String returns the string representation
15670func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
15671	return awsutil.Prettify(s)
15672}
15673
15674// GoString returns the string representation
15675func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
15676	return s.String()
15677}
15678
15679// Validate inspects the fields of the type to determine if they are valid.
15680func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
15681	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
15682	if s.RelationalDatabaseName == nil {
15683		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
15684	}
15685
15686	if invalidParams.Len() > 0 {
15687		return invalidParams
15688	}
15689	return nil
15690}
15691
15692// SetAvailabilityZone sets the AvailabilityZone field's value.
15693func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
15694	s.AvailabilityZone = &v
15695	return s
15696}
15697
15698// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15699func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
15700	s.PubliclyAccessible = &v
15701	return s
15702}
15703
15704// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
15705func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
15706	s.RelationalDatabaseBundleId = &v
15707	return s
15708}
15709
15710// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
15711func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
15712	s.RelationalDatabaseName = &v
15713	return s
15714}
15715
15716// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
15717func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
15718	s.RelationalDatabaseSnapshotName = &v
15719	return s
15720}
15721
15722// SetRestoreTime sets the RestoreTime field's value.
15723func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
15724	s.RestoreTime = &v
15725	return s
15726}
15727
15728// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
15729func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
15730	s.SourceRelationalDatabaseName = &v
15731	return s
15732}
15733
15734// SetTags sets the Tags field's value.
15735func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
15736	s.Tags = v
15737	return s
15738}
15739
15740// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
15741func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
15742	s.UseLatestRestorableTime = &v
15743	return s
15744}
15745
15746type CreateRelationalDatabaseFromSnapshotOutput struct {
15747	_ struct{} `type:"structure"`
15748
15749	// An array of objects that describe the result of the action, such as the status
15750	// of the request, the time stamp of the request, and the resources affected
15751	// by the request.
15752	Operations []*Operation `locationName:"operations" type:"list"`
15753}
15754
15755// String returns the string representation
15756func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
15757	return awsutil.Prettify(s)
15758}
15759
15760// GoString returns the string representation
15761func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
15762	return s.String()
15763}
15764
15765// SetOperations sets the Operations field's value.
15766func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
15767	s.Operations = v
15768	return s
15769}
15770
15771type CreateRelationalDatabaseInput struct {
15772	_ struct{} `type:"structure"`
15773
15774	// The Availability Zone in which to create your new database. Use the us-east-2a
15775	// case-sensitive format.
15776	//
15777	// You can get a list of Availability Zones by using the get regions operation.
15778	// Be sure to add the include relational database Availability Zones parameter
15779	// to your request.
15780	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
15781
15782	// The name of the master database created when the Lightsail database resource
15783	// is created.
15784	//
15785	// Constraints:
15786	//
15787	//    * Must contain from 1 to 64 alphanumeric characters.
15788	//
15789	//    * Cannot be a word reserved by the specified database engine
15790	//
15791	// MasterDatabaseName is a required field
15792	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
15793
15794	// The password for the master user of your new database. The password can include
15795	// any printable ASCII character except "/", """, or "@".
15796	//
15797	// Constraints: Must contain 8 to 41 characters.
15798	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
15799
15800	// The master user name for your new database.
15801	//
15802	// Constraints:
15803	//
15804	//    * Master user name is required.
15805	//
15806	//    * Must contain from 1 to 16 alphanumeric characters.
15807	//
15808	//    * The first character must be a letter.
15809	//
15810	//    * Cannot be a reserved word for the database engine you choose. For more
15811	//    information about reserved words in MySQL 5.6 or 5.7, see the Keywords
15812	//    and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html)
15813	//    or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively.
15814	//
15815	// MasterUsername is a required field
15816	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
15817
15818	// The daily time range during which automated backups are created for your
15819	// new database if automated backups are enabled.
15820	//
15821	// The default is a 30-minute window selected at random from an 8-hour block
15822	// of time for each AWS Region. For more information about the preferred backup
15823	// 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)
15824	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
15825	//
15826	// Constraints:
15827	//
15828	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
15829	//
15830	//    * Specified in Coordinated Universal Time (UTC).
15831	//
15832	//    * Must not conflict with the preferred maintenance window.
15833	//
15834	//    * Must be at least 30 minutes.
15835	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
15836
15837	// The weekly time range during which system maintenance can occur on your new
15838	// database.
15839	//
15840	// The default is a 30-minute window selected at random from an 8-hour block
15841	// of time for each AWS Region, occurring on a random day of the week.
15842	//
15843	// Constraints:
15844	//
15845	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
15846	//
15847	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
15848	//
15849	//    * Must be at least 30 minutes.
15850	//
15851	//    * Specified in Coordinated Universal Time (UTC).
15852	//
15853	//    * Example: Tue:17:00-Tue:17:30
15854	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
15855
15856	// Specifies the accessibility options for your new database. A value of true
15857	// specifies a database that is available to resources outside of your Lightsail
15858	// account. A value of false specifies a database that is available only to
15859	// your Lightsail resources in the same region as your database.
15860	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
15861
15862	// The blueprint ID for your new database. A blueprint describes the major engine
15863	// version of a database.
15864	//
15865	// You can get a list of database blueprints IDs by using the get relational
15866	// database blueprints operation.
15867	//
15868	// RelationalDatabaseBlueprintId is a required field
15869	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
15870
15871	// The bundle ID for your new database. A bundle describes the performance specifications
15872	// for your database.
15873	//
15874	// You can get a list of database bundle IDs by using the get relational database
15875	// bundles operation.
15876	//
15877	// RelationalDatabaseBundleId is a required field
15878	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
15879
15880	// The name to use for your new database.
15881	//
15882	// Constraints:
15883	//
15884	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
15885	//
15886	//    * The first and last character must be a letter or number.
15887	//
15888	// RelationalDatabaseName is a required field
15889	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
15890
15891	// The tag keys and optional values to add to the resource during create.
15892	//
15893	// To tag a resource after it has been created, see the tag resource operation.
15894	Tags []*Tag `locationName:"tags" type:"list"`
15895}
15896
15897// String returns the string representation
15898func (s CreateRelationalDatabaseInput) String() string {
15899	return awsutil.Prettify(s)
15900}
15901
15902// GoString returns the string representation
15903func (s CreateRelationalDatabaseInput) GoString() string {
15904	return s.String()
15905}
15906
15907// Validate inspects the fields of the type to determine if they are valid.
15908func (s *CreateRelationalDatabaseInput) Validate() error {
15909	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
15910	if s.MasterDatabaseName == nil {
15911		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
15912	}
15913	if s.MasterUsername == nil {
15914		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
15915	}
15916	if s.RelationalDatabaseBlueprintId == nil {
15917		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
15918	}
15919	if s.RelationalDatabaseBundleId == nil {
15920		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
15921	}
15922	if s.RelationalDatabaseName == nil {
15923		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
15924	}
15925
15926	if invalidParams.Len() > 0 {
15927		return invalidParams
15928	}
15929	return nil
15930}
15931
15932// SetAvailabilityZone sets the AvailabilityZone field's value.
15933func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
15934	s.AvailabilityZone = &v
15935	return s
15936}
15937
15938// SetMasterDatabaseName sets the MasterDatabaseName field's value.
15939func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
15940	s.MasterDatabaseName = &v
15941	return s
15942}
15943
15944// SetMasterUserPassword sets the MasterUserPassword field's value.
15945func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
15946	s.MasterUserPassword = &v
15947	return s
15948}
15949
15950// SetMasterUsername sets the MasterUsername field's value.
15951func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
15952	s.MasterUsername = &v
15953	return s
15954}
15955
15956// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
15957func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
15958	s.PreferredBackupWindow = &v
15959	return s
15960}
15961
15962// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
15963func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
15964	s.PreferredMaintenanceWindow = &v
15965	return s
15966}
15967
15968// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15969func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
15970	s.PubliclyAccessible = &v
15971	return s
15972}
15973
15974// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
15975func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
15976	s.RelationalDatabaseBlueprintId = &v
15977	return s
15978}
15979
15980// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
15981func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
15982	s.RelationalDatabaseBundleId = &v
15983	return s
15984}
15985
15986// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
15987func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
15988	s.RelationalDatabaseName = &v
15989	return s
15990}
15991
15992// SetTags sets the Tags field's value.
15993func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
15994	s.Tags = v
15995	return s
15996}
15997
15998type CreateRelationalDatabaseOutput struct {
15999	_ struct{} `type:"structure"`
16000
16001	// An array of objects that describe the result of the action, such as the status
16002	// of the request, the time stamp of the request, and the resources affected
16003	// by the request.
16004	Operations []*Operation `locationName:"operations" type:"list"`
16005}
16006
16007// String returns the string representation
16008func (s CreateRelationalDatabaseOutput) String() string {
16009	return awsutil.Prettify(s)
16010}
16011
16012// GoString returns the string representation
16013func (s CreateRelationalDatabaseOutput) GoString() string {
16014	return s.String()
16015}
16016
16017// SetOperations sets the Operations field's value.
16018func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
16019	s.Operations = v
16020	return s
16021}
16022
16023type CreateRelationalDatabaseSnapshotInput struct {
16024	_ struct{} `type:"structure"`
16025
16026	// The name of the database on which to base your new snapshot.
16027	//
16028	// RelationalDatabaseName is a required field
16029	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
16030
16031	// The name for your new database snapshot.
16032	//
16033	// Constraints:
16034	//
16035	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
16036	//
16037	//    * The first and last character must be a letter or number.
16038	//
16039	// RelationalDatabaseSnapshotName is a required field
16040	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
16041
16042	// The tag keys and optional values to add to the resource during create.
16043	//
16044	// To tag a resource after it has been created, see the tag resource operation.
16045	Tags []*Tag `locationName:"tags" type:"list"`
16046}
16047
16048// String returns the string representation
16049func (s CreateRelationalDatabaseSnapshotInput) String() string {
16050	return awsutil.Prettify(s)
16051}
16052
16053// GoString returns the string representation
16054func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
16055	return s.String()
16056}
16057
16058// Validate inspects the fields of the type to determine if they are valid.
16059func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
16060	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
16061	if s.RelationalDatabaseName == nil {
16062		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
16063	}
16064	if s.RelationalDatabaseSnapshotName == nil {
16065		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
16066	}
16067
16068	if invalidParams.Len() > 0 {
16069		return invalidParams
16070	}
16071	return nil
16072}
16073
16074// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
16075func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
16076	s.RelationalDatabaseName = &v
16077	return s
16078}
16079
16080// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
16081func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
16082	s.RelationalDatabaseSnapshotName = &v
16083	return s
16084}
16085
16086// SetTags sets the Tags field's value.
16087func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
16088	s.Tags = v
16089	return s
16090}
16091
16092type CreateRelationalDatabaseSnapshotOutput struct {
16093	_ struct{} `type:"structure"`
16094
16095	// An array of objects that describe the result of the action, such as the status
16096	// of the request, the time stamp of the request, and the resources affected
16097	// by the request.
16098	Operations []*Operation `locationName:"operations" type:"list"`
16099}
16100
16101// String returns the string representation
16102func (s CreateRelationalDatabaseSnapshotOutput) String() string {
16103	return awsutil.Prettify(s)
16104}
16105
16106// GoString returns the string representation
16107func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
16108	return s.String()
16109}
16110
16111// SetOperations sets the Operations field's value.
16112func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
16113	s.Operations = v
16114	return s
16115}
16116
16117type DeleteAlarmInput struct {
16118	_ struct{} `type:"structure"`
16119
16120	// The name of the alarm to delete.
16121	//
16122	// AlarmName is a required field
16123	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
16124}
16125
16126// String returns the string representation
16127func (s DeleteAlarmInput) String() string {
16128	return awsutil.Prettify(s)
16129}
16130
16131// GoString returns the string representation
16132func (s DeleteAlarmInput) GoString() string {
16133	return s.String()
16134}
16135
16136// Validate inspects the fields of the type to determine if they are valid.
16137func (s *DeleteAlarmInput) Validate() error {
16138	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
16139	if s.AlarmName == nil {
16140		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
16141	}
16142
16143	if invalidParams.Len() > 0 {
16144		return invalidParams
16145	}
16146	return nil
16147}
16148
16149// SetAlarmName sets the AlarmName field's value.
16150func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
16151	s.AlarmName = &v
16152	return s
16153}
16154
16155type DeleteAlarmOutput struct {
16156	_ struct{} `type:"structure"`
16157
16158	// An array of objects that describe the result of the action, such as the status
16159	// of the request, the time stamp of the request, and the resources affected
16160	// by the request.
16161	Operations []*Operation `locationName:"operations" type:"list"`
16162}
16163
16164// String returns the string representation
16165func (s DeleteAlarmOutput) String() string {
16166	return awsutil.Prettify(s)
16167}
16168
16169// GoString returns the string representation
16170func (s DeleteAlarmOutput) GoString() string {
16171	return s.String()
16172}
16173
16174// SetOperations sets the Operations field's value.
16175func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
16176	s.Operations = v
16177	return s
16178}
16179
16180type DeleteAutoSnapshotInput struct {
16181	_ struct{} `type:"structure"`
16182
16183	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
16184	// get auto snapshots operation to get the available automatic snapshots for
16185	// a resource.
16186	//
16187	// Date is a required field
16188	Date *string `locationName:"date" type:"string" required:"true"`
16189
16190	// The name of the source instance or disk from which to delete the automatic
16191	// snapshot.
16192	//
16193	// ResourceName is a required field
16194	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
16195}
16196
16197// String returns the string representation
16198func (s DeleteAutoSnapshotInput) String() string {
16199	return awsutil.Prettify(s)
16200}
16201
16202// GoString returns the string representation
16203func (s DeleteAutoSnapshotInput) GoString() string {
16204	return s.String()
16205}
16206
16207// Validate inspects the fields of the type to determine if they are valid.
16208func (s *DeleteAutoSnapshotInput) Validate() error {
16209	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
16210	if s.Date == nil {
16211		invalidParams.Add(request.NewErrParamRequired("Date"))
16212	}
16213	if s.ResourceName == nil {
16214		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
16215	}
16216
16217	if invalidParams.Len() > 0 {
16218		return invalidParams
16219	}
16220	return nil
16221}
16222
16223// SetDate sets the Date field's value.
16224func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
16225	s.Date = &v
16226	return s
16227}
16228
16229// SetResourceName sets the ResourceName field's value.
16230func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
16231	s.ResourceName = &v
16232	return s
16233}
16234
16235type DeleteAutoSnapshotOutput struct {
16236	_ struct{} `type:"structure"`
16237
16238	// An array of objects that describe the result of the action, such as the status
16239	// of the request, the time stamp of the request, and the resources affected
16240	// by the request.
16241	Operations []*Operation `locationName:"operations" type:"list"`
16242}
16243
16244// String returns the string representation
16245func (s DeleteAutoSnapshotOutput) String() string {
16246	return awsutil.Prettify(s)
16247}
16248
16249// GoString returns the string representation
16250func (s DeleteAutoSnapshotOutput) GoString() string {
16251	return s.String()
16252}
16253
16254// SetOperations sets the Operations field's value.
16255func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
16256	s.Operations = v
16257	return s
16258}
16259
16260type DeleteContactMethodInput struct {
16261	_ struct{} `type:"structure"`
16262
16263	// The protocol that will be deleted, such as Email or SMS (text messaging).
16264	//
16265	// To delete an Email and an SMS contact method if you added both, you must
16266	// run separate DeleteContactMethod actions to delete each protocol.
16267	//
16268	// Protocol is a required field
16269	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
16270}
16271
16272// String returns the string representation
16273func (s DeleteContactMethodInput) String() string {
16274	return awsutil.Prettify(s)
16275}
16276
16277// GoString returns the string representation
16278func (s DeleteContactMethodInput) GoString() string {
16279	return s.String()
16280}
16281
16282// Validate inspects the fields of the type to determine if they are valid.
16283func (s *DeleteContactMethodInput) Validate() error {
16284	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
16285	if s.Protocol == nil {
16286		invalidParams.Add(request.NewErrParamRequired("Protocol"))
16287	}
16288
16289	if invalidParams.Len() > 0 {
16290		return invalidParams
16291	}
16292	return nil
16293}
16294
16295// SetProtocol sets the Protocol field's value.
16296func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
16297	s.Protocol = &v
16298	return s
16299}
16300
16301type DeleteContactMethodOutput struct {
16302	_ struct{} `type:"structure"`
16303
16304	// An array of objects that describe the result of the action, such as the status
16305	// of the request, the time stamp of the request, and the resources affected
16306	// by the request.
16307	Operations []*Operation `locationName:"operations" type:"list"`
16308}
16309
16310// String returns the string representation
16311func (s DeleteContactMethodOutput) String() string {
16312	return awsutil.Prettify(s)
16313}
16314
16315// GoString returns the string representation
16316func (s DeleteContactMethodOutput) GoString() string {
16317	return s.String()
16318}
16319
16320// SetOperations sets the Operations field's value.
16321func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
16322	s.Operations = v
16323	return s
16324}
16325
16326type DeleteDiskInput struct {
16327	_ struct{} `type:"structure"`
16328
16329	// The unique name of the disk you want to delete (e.g., my-disk).
16330	//
16331	// DiskName is a required field
16332	DiskName *string `locationName:"diskName" type:"string" required:"true"`
16333
16334	// A Boolean value to indicate whether to delete the enabled add-ons for the
16335	// disk.
16336	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
16337}
16338
16339// String returns the string representation
16340func (s DeleteDiskInput) String() string {
16341	return awsutil.Prettify(s)
16342}
16343
16344// GoString returns the string representation
16345func (s DeleteDiskInput) GoString() string {
16346	return s.String()
16347}
16348
16349// Validate inspects the fields of the type to determine if they are valid.
16350func (s *DeleteDiskInput) Validate() error {
16351	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
16352	if s.DiskName == nil {
16353		invalidParams.Add(request.NewErrParamRequired("DiskName"))
16354	}
16355
16356	if invalidParams.Len() > 0 {
16357		return invalidParams
16358	}
16359	return nil
16360}
16361
16362// SetDiskName sets the DiskName field's value.
16363func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
16364	s.DiskName = &v
16365	return s
16366}
16367
16368// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
16369func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
16370	s.ForceDeleteAddOns = &v
16371	return s
16372}
16373
16374type DeleteDiskOutput struct {
16375	_ struct{} `type:"structure"`
16376
16377	// An array of objects that describe the result of the action, such as the status
16378	// of the request, the time stamp of the request, and the resources affected
16379	// by the request.
16380	Operations []*Operation `locationName:"operations" type:"list"`
16381}
16382
16383// String returns the string representation
16384func (s DeleteDiskOutput) String() string {
16385	return awsutil.Prettify(s)
16386}
16387
16388// GoString returns the string representation
16389func (s DeleteDiskOutput) GoString() string {
16390	return s.String()
16391}
16392
16393// SetOperations sets the Operations field's value.
16394func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
16395	s.Operations = v
16396	return s
16397}
16398
16399type DeleteDiskSnapshotInput struct {
16400	_ struct{} `type:"structure"`
16401
16402	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
16403	//
16404	// DiskSnapshotName is a required field
16405	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
16406}
16407
16408// String returns the string representation
16409func (s DeleteDiskSnapshotInput) String() string {
16410	return awsutil.Prettify(s)
16411}
16412
16413// GoString returns the string representation
16414func (s DeleteDiskSnapshotInput) GoString() string {
16415	return s.String()
16416}
16417
16418// Validate inspects the fields of the type to determine if they are valid.
16419func (s *DeleteDiskSnapshotInput) Validate() error {
16420	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
16421	if s.DiskSnapshotName == nil {
16422		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
16423	}
16424
16425	if invalidParams.Len() > 0 {
16426		return invalidParams
16427	}
16428	return nil
16429}
16430
16431// SetDiskSnapshotName sets the DiskSnapshotName field's value.
16432func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
16433	s.DiskSnapshotName = &v
16434	return s
16435}
16436
16437type DeleteDiskSnapshotOutput struct {
16438	_ struct{} `type:"structure"`
16439
16440	// An array of objects that describe the result of the action, such as the status
16441	// of the request, the time stamp of the request, and the resources affected
16442	// by the request.
16443	Operations []*Operation `locationName:"operations" type:"list"`
16444}
16445
16446// String returns the string representation
16447func (s DeleteDiskSnapshotOutput) String() string {
16448	return awsutil.Prettify(s)
16449}
16450
16451// GoString returns the string representation
16452func (s DeleteDiskSnapshotOutput) GoString() string {
16453	return s.String()
16454}
16455
16456// SetOperations sets the Operations field's value.
16457func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
16458	s.Operations = v
16459	return s
16460}
16461
16462type DeleteDomainEntryInput struct {
16463	_ struct{} `type:"structure"`
16464
16465	// An array of key-value pairs containing information about your domain entries.
16466	//
16467	// DomainEntry is a required field
16468	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
16469
16470	// The name of the domain entry to delete.
16471	//
16472	// DomainName is a required field
16473	DomainName *string `locationName:"domainName" type:"string" required:"true"`
16474}
16475
16476// String returns the string representation
16477func (s DeleteDomainEntryInput) String() string {
16478	return awsutil.Prettify(s)
16479}
16480
16481// GoString returns the string representation
16482func (s DeleteDomainEntryInput) GoString() string {
16483	return s.String()
16484}
16485
16486// Validate inspects the fields of the type to determine if they are valid.
16487func (s *DeleteDomainEntryInput) Validate() error {
16488	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
16489	if s.DomainEntry == nil {
16490		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
16491	}
16492	if s.DomainName == nil {
16493		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16494	}
16495
16496	if invalidParams.Len() > 0 {
16497		return invalidParams
16498	}
16499	return nil
16500}
16501
16502// SetDomainEntry sets the DomainEntry field's value.
16503func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
16504	s.DomainEntry = v
16505	return s
16506}
16507
16508// SetDomainName sets the DomainName field's value.
16509func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
16510	s.DomainName = &v
16511	return s
16512}
16513
16514type DeleteDomainEntryOutput struct {
16515	_ struct{} `type:"structure"`
16516
16517	// An array of objects that describe the result of the action, such as the status
16518	// of the request, the time stamp of the request, and the resources affected
16519	// by the request.
16520	Operation *Operation `locationName:"operation" type:"structure"`
16521}
16522
16523// String returns the string representation
16524func (s DeleteDomainEntryOutput) String() string {
16525	return awsutil.Prettify(s)
16526}
16527
16528// GoString returns the string representation
16529func (s DeleteDomainEntryOutput) GoString() string {
16530	return s.String()
16531}
16532
16533// SetOperation sets the Operation field's value.
16534func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
16535	s.Operation = v
16536	return s
16537}
16538
16539type DeleteDomainInput struct {
16540	_ struct{} `type:"structure"`
16541
16542	// The specific domain name to delete.
16543	//
16544	// DomainName is a required field
16545	DomainName *string `locationName:"domainName" type:"string" required:"true"`
16546}
16547
16548// String returns the string representation
16549func (s DeleteDomainInput) String() string {
16550	return awsutil.Prettify(s)
16551}
16552
16553// GoString returns the string representation
16554func (s DeleteDomainInput) GoString() string {
16555	return s.String()
16556}
16557
16558// Validate inspects the fields of the type to determine if they are valid.
16559func (s *DeleteDomainInput) Validate() error {
16560	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
16561	if s.DomainName == nil {
16562		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16563	}
16564
16565	if invalidParams.Len() > 0 {
16566		return invalidParams
16567	}
16568	return nil
16569}
16570
16571// SetDomainName sets the DomainName field's value.
16572func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
16573	s.DomainName = &v
16574	return s
16575}
16576
16577type DeleteDomainOutput struct {
16578	_ struct{} `type:"structure"`
16579
16580	// An array of objects that describe the result of the action, such as the status
16581	// of the request, the time stamp of the request, and the resources affected
16582	// by the request.
16583	Operation *Operation `locationName:"operation" type:"structure"`
16584}
16585
16586// String returns the string representation
16587func (s DeleteDomainOutput) String() string {
16588	return awsutil.Prettify(s)
16589}
16590
16591// GoString returns the string representation
16592func (s DeleteDomainOutput) GoString() string {
16593	return s.String()
16594}
16595
16596// SetOperation sets the Operation field's value.
16597func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
16598	s.Operation = v
16599	return s
16600}
16601
16602type DeleteInstanceInput struct {
16603	_ struct{} `type:"structure"`
16604
16605	// A Boolean value to indicate whether to delete the enabled add-ons for the
16606	// disk.
16607	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
16608
16609	// The name of the instance to delete.
16610	//
16611	// InstanceName is a required field
16612	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16613}
16614
16615// String returns the string representation
16616func (s DeleteInstanceInput) String() string {
16617	return awsutil.Prettify(s)
16618}
16619
16620// GoString returns the string representation
16621func (s DeleteInstanceInput) GoString() string {
16622	return s.String()
16623}
16624
16625// Validate inspects the fields of the type to determine if they are valid.
16626func (s *DeleteInstanceInput) Validate() error {
16627	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
16628	if s.InstanceName == nil {
16629		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16630	}
16631
16632	if invalidParams.Len() > 0 {
16633		return invalidParams
16634	}
16635	return nil
16636}
16637
16638// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
16639func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
16640	s.ForceDeleteAddOns = &v
16641	return s
16642}
16643
16644// SetInstanceName sets the InstanceName field's value.
16645func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
16646	s.InstanceName = &v
16647	return s
16648}
16649
16650type DeleteInstanceOutput struct {
16651	_ struct{} `type:"structure"`
16652
16653	// An array of objects that describe the result of the action, such as the status
16654	// of the request, the time stamp of the request, and the resources affected
16655	// by the request.
16656	Operations []*Operation `locationName:"operations" type:"list"`
16657}
16658
16659// String returns the string representation
16660func (s DeleteInstanceOutput) String() string {
16661	return awsutil.Prettify(s)
16662}
16663
16664// GoString returns the string representation
16665func (s DeleteInstanceOutput) GoString() string {
16666	return s.String()
16667}
16668
16669// SetOperations sets the Operations field's value.
16670func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
16671	s.Operations = v
16672	return s
16673}
16674
16675type DeleteInstanceSnapshotInput struct {
16676	_ struct{} `type:"structure"`
16677
16678	// The name of the snapshot to delete.
16679	//
16680	// InstanceSnapshotName is a required field
16681	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
16682}
16683
16684// String returns the string representation
16685func (s DeleteInstanceSnapshotInput) String() string {
16686	return awsutil.Prettify(s)
16687}
16688
16689// GoString returns the string representation
16690func (s DeleteInstanceSnapshotInput) GoString() string {
16691	return s.String()
16692}
16693
16694// Validate inspects the fields of the type to determine if they are valid.
16695func (s *DeleteInstanceSnapshotInput) Validate() error {
16696	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
16697	if s.InstanceSnapshotName == nil {
16698		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
16699	}
16700
16701	if invalidParams.Len() > 0 {
16702		return invalidParams
16703	}
16704	return nil
16705}
16706
16707// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
16708func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
16709	s.InstanceSnapshotName = &v
16710	return s
16711}
16712
16713type DeleteInstanceSnapshotOutput struct {
16714	_ struct{} `type:"structure"`
16715
16716	// An array of objects that describe the result of the action, such as the status
16717	// of the request, the time stamp of the request, and the resources affected
16718	// by the request.
16719	Operations []*Operation `locationName:"operations" type:"list"`
16720}
16721
16722// String returns the string representation
16723func (s DeleteInstanceSnapshotOutput) String() string {
16724	return awsutil.Prettify(s)
16725}
16726
16727// GoString returns the string representation
16728func (s DeleteInstanceSnapshotOutput) GoString() string {
16729	return s.String()
16730}
16731
16732// SetOperations sets the Operations field's value.
16733func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
16734	s.Operations = v
16735	return s
16736}
16737
16738type DeleteKeyPairInput struct {
16739	_ struct{} `type:"structure"`
16740
16741	// The name of the key pair to delete.
16742	//
16743	// KeyPairName is a required field
16744	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
16745}
16746
16747// String returns the string representation
16748func (s DeleteKeyPairInput) String() string {
16749	return awsutil.Prettify(s)
16750}
16751
16752// GoString returns the string representation
16753func (s DeleteKeyPairInput) GoString() string {
16754	return s.String()
16755}
16756
16757// Validate inspects the fields of the type to determine if they are valid.
16758func (s *DeleteKeyPairInput) Validate() error {
16759	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
16760	if s.KeyPairName == nil {
16761		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
16762	}
16763
16764	if invalidParams.Len() > 0 {
16765		return invalidParams
16766	}
16767	return nil
16768}
16769
16770// SetKeyPairName sets the KeyPairName field's value.
16771func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
16772	s.KeyPairName = &v
16773	return s
16774}
16775
16776type DeleteKeyPairOutput struct {
16777	_ struct{} `type:"structure"`
16778
16779	// An array of objects that describe the result of the action, such as the status
16780	// of the request, the time stamp of the request, and the resources affected
16781	// by the request.
16782	Operation *Operation `locationName:"operation" type:"structure"`
16783}
16784
16785// String returns the string representation
16786func (s DeleteKeyPairOutput) String() string {
16787	return awsutil.Prettify(s)
16788}
16789
16790// GoString returns the string representation
16791func (s DeleteKeyPairOutput) GoString() string {
16792	return s.String()
16793}
16794
16795// SetOperation sets the Operation field's value.
16796func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
16797	s.Operation = v
16798	return s
16799}
16800
16801type DeleteKnownHostKeysInput struct {
16802	_ struct{} `type:"structure"`
16803
16804	// The name of the instance for which you want to reset the host key or certificate.
16805	//
16806	// InstanceName is a required field
16807	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16808}
16809
16810// String returns the string representation
16811func (s DeleteKnownHostKeysInput) String() string {
16812	return awsutil.Prettify(s)
16813}
16814
16815// GoString returns the string representation
16816func (s DeleteKnownHostKeysInput) GoString() string {
16817	return s.String()
16818}
16819
16820// Validate inspects the fields of the type to determine if they are valid.
16821func (s *DeleteKnownHostKeysInput) Validate() error {
16822	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
16823	if s.InstanceName == nil {
16824		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16825	}
16826
16827	if invalidParams.Len() > 0 {
16828		return invalidParams
16829	}
16830	return nil
16831}
16832
16833// SetInstanceName sets the InstanceName field's value.
16834func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
16835	s.InstanceName = &v
16836	return s
16837}
16838
16839type DeleteKnownHostKeysOutput struct {
16840	_ struct{} `type:"structure"`
16841
16842	// An array of objects that describe the result of the action, such as the status
16843	// of the request, the time stamp of the request, and the resources affected
16844	// by the request.
16845	Operations []*Operation `locationName:"operations" type:"list"`
16846}
16847
16848// String returns the string representation
16849func (s DeleteKnownHostKeysOutput) String() string {
16850	return awsutil.Prettify(s)
16851}
16852
16853// GoString returns the string representation
16854func (s DeleteKnownHostKeysOutput) GoString() string {
16855	return s.String()
16856}
16857
16858// SetOperations sets the Operations field's value.
16859func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
16860	s.Operations = v
16861	return s
16862}
16863
16864type DeleteLoadBalancerInput struct {
16865	_ struct{} `type:"structure"`
16866
16867	// The name of the load balancer you want to delete.
16868	//
16869	// LoadBalancerName is a required field
16870	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
16871}
16872
16873// String returns the string representation
16874func (s DeleteLoadBalancerInput) String() string {
16875	return awsutil.Prettify(s)
16876}
16877
16878// GoString returns the string representation
16879func (s DeleteLoadBalancerInput) GoString() string {
16880	return s.String()
16881}
16882
16883// Validate inspects the fields of the type to determine if they are valid.
16884func (s *DeleteLoadBalancerInput) Validate() error {
16885	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
16886	if s.LoadBalancerName == nil {
16887		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
16888	}
16889
16890	if invalidParams.Len() > 0 {
16891		return invalidParams
16892	}
16893	return nil
16894}
16895
16896// SetLoadBalancerName sets the LoadBalancerName field's value.
16897func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
16898	s.LoadBalancerName = &v
16899	return s
16900}
16901
16902type DeleteLoadBalancerOutput struct {
16903	_ struct{} `type:"structure"`
16904
16905	// An array of objects that describe the result of the action, such as the status
16906	// of the request, the time stamp of the request, and the resources affected
16907	// by the request.
16908	Operations []*Operation `locationName:"operations" type:"list"`
16909}
16910
16911// String returns the string representation
16912func (s DeleteLoadBalancerOutput) String() string {
16913	return awsutil.Prettify(s)
16914}
16915
16916// GoString returns the string representation
16917func (s DeleteLoadBalancerOutput) GoString() string {
16918	return s.String()
16919}
16920
16921// SetOperations sets the Operations field's value.
16922func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
16923	s.Operations = v
16924	return s
16925}
16926
16927type DeleteLoadBalancerTlsCertificateInput struct {
16928	_ struct{} `type:"structure"`
16929
16930	// The SSL/TLS certificate name.
16931	//
16932	// CertificateName is a required field
16933	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
16934
16935	// When true, forces the deletion of an SSL/TLS certificate.
16936	//
16937	// There can be two certificates associated with a Lightsail load balancer:
16938	// the primary and the backup. The force parameter is required when the primary
16939	// SSL/TLS certificate is in use by an instance attached to the load balancer.
16940	Force *bool `locationName:"force" type:"boolean"`
16941
16942	// The load balancer name.
16943	//
16944	// LoadBalancerName is a required field
16945	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
16946}
16947
16948// String returns the string representation
16949func (s DeleteLoadBalancerTlsCertificateInput) String() string {
16950	return awsutil.Prettify(s)
16951}
16952
16953// GoString returns the string representation
16954func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
16955	return s.String()
16956}
16957
16958// Validate inspects the fields of the type to determine if they are valid.
16959func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
16960	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
16961	if s.CertificateName == nil {
16962		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
16963	}
16964	if s.LoadBalancerName == nil {
16965		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
16966	}
16967
16968	if invalidParams.Len() > 0 {
16969		return invalidParams
16970	}
16971	return nil
16972}
16973
16974// SetCertificateName sets the CertificateName field's value.
16975func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
16976	s.CertificateName = &v
16977	return s
16978}
16979
16980// SetForce sets the Force field's value.
16981func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
16982	s.Force = &v
16983	return s
16984}
16985
16986// SetLoadBalancerName sets the LoadBalancerName field's value.
16987func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
16988	s.LoadBalancerName = &v
16989	return s
16990}
16991
16992type DeleteLoadBalancerTlsCertificateOutput struct {
16993	_ struct{} `type:"structure"`
16994
16995	// An array of objects that describe the result of the action, such as the status
16996	// of the request, the time stamp of the request, and the resources affected
16997	// by the request.
16998	Operations []*Operation `locationName:"operations" type:"list"`
16999}
17000
17001// String returns the string representation
17002func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
17003	return awsutil.Prettify(s)
17004}
17005
17006// GoString returns the string representation
17007func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
17008	return s.String()
17009}
17010
17011// SetOperations sets the Operations field's value.
17012func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
17013	s.Operations = v
17014	return s
17015}
17016
17017type DeleteRelationalDatabaseInput struct {
17018	_ struct{} `type:"structure"`
17019
17020	// The name of the database snapshot created if skip final snapshot is false,
17021	// which is the default value for that parameter.
17022	//
17023	// Specifying this parameter and also specifying the skip final snapshot parameter
17024	// to true results in an error.
17025	//
17026	// Constraints:
17027	//
17028	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
17029	//
17030	//    * The first and last character must be a letter or number.
17031	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
17032
17033	// The name of the database that you are deleting.
17034	//
17035	// RelationalDatabaseName is a required field
17036	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
17037
17038	// Determines whether a final database snapshot is created before your database
17039	// is deleted. If true is specified, no database snapshot is created. If false
17040	// is specified, a database snapshot is created before your database is deleted.
17041	//
17042	// You must specify the final relational database snapshot name parameter if
17043	// the skip final snapshot parameter is false.
17044	//
17045	// Default: false
17046	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
17047}
17048
17049// String returns the string representation
17050func (s DeleteRelationalDatabaseInput) String() string {
17051	return awsutil.Prettify(s)
17052}
17053
17054// GoString returns the string representation
17055func (s DeleteRelationalDatabaseInput) GoString() string {
17056	return s.String()
17057}
17058
17059// Validate inspects the fields of the type to determine if they are valid.
17060func (s *DeleteRelationalDatabaseInput) Validate() error {
17061	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
17062	if s.RelationalDatabaseName == nil {
17063		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
17064	}
17065
17066	if invalidParams.Len() > 0 {
17067		return invalidParams
17068	}
17069	return nil
17070}
17071
17072// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
17073func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
17074	s.FinalRelationalDatabaseSnapshotName = &v
17075	return s
17076}
17077
17078// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
17079func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
17080	s.RelationalDatabaseName = &v
17081	return s
17082}
17083
17084// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
17085func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
17086	s.SkipFinalSnapshot = &v
17087	return s
17088}
17089
17090type DeleteRelationalDatabaseOutput struct {
17091	_ struct{} `type:"structure"`
17092
17093	// An array of objects that describe the result of the action, such as the status
17094	// of the request, the time stamp of the request, and the resources affected
17095	// by the request.
17096	Operations []*Operation `locationName:"operations" type:"list"`
17097}
17098
17099// String returns the string representation
17100func (s DeleteRelationalDatabaseOutput) String() string {
17101	return awsutil.Prettify(s)
17102}
17103
17104// GoString returns the string representation
17105func (s DeleteRelationalDatabaseOutput) GoString() string {
17106	return s.String()
17107}
17108
17109// SetOperations sets the Operations field's value.
17110func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
17111	s.Operations = v
17112	return s
17113}
17114
17115type DeleteRelationalDatabaseSnapshotInput struct {
17116	_ struct{} `type:"structure"`
17117
17118	// The name of the database snapshot that you are deleting.
17119	//
17120	// RelationalDatabaseSnapshotName is a required field
17121	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
17122}
17123
17124// String returns the string representation
17125func (s DeleteRelationalDatabaseSnapshotInput) String() string {
17126	return awsutil.Prettify(s)
17127}
17128
17129// GoString returns the string representation
17130func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
17131	return s.String()
17132}
17133
17134// Validate inspects the fields of the type to determine if they are valid.
17135func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
17136	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
17137	if s.RelationalDatabaseSnapshotName == nil {
17138		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
17139	}
17140
17141	if invalidParams.Len() > 0 {
17142		return invalidParams
17143	}
17144	return nil
17145}
17146
17147// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
17148func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
17149	s.RelationalDatabaseSnapshotName = &v
17150	return s
17151}
17152
17153type DeleteRelationalDatabaseSnapshotOutput struct {
17154	_ struct{} `type:"structure"`
17155
17156	// An array of objects that describe the result of the action, such as the status
17157	// of the request, the time stamp of the request, and the resources affected
17158	// by the request.
17159	Operations []*Operation `locationName:"operations" type:"list"`
17160}
17161
17162// String returns the string representation
17163func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
17164	return awsutil.Prettify(s)
17165}
17166
17167// GoString returns the string representation
17168func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
17169	return s.String()
17170}
17171
17172// SetOperations sets the Operations field's value.
17173func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
17174	s.Operations = v
17175	return s
17176}
17177
17178// Describes the destination of a record.
17179type DestinationInfo struct {
17180	_ struct{} `type:"structure"`
17181
17182	// The ID of the resource created at the destination.
17183	Id *string `locationName:"id" type:"string"`
17184
17185	// The destination service of the record.
17186	Service *string `locationName:"service" type:"string"`
17187}
17188
17189// String returns the string representation
17190func (s DestinationInfo) String() string {
17191	return awsutil.Prettify(s)
17192}
17193
17194// GoString returns the string representation
17195func (s DestinationInfo) GoString() string {
17196	return s.String()
17197}
17198
17199// SetId sets the Id field's value.
17200func (s *DestinationInfo) SetId(v string) *DestinationInfo {
17201	s.Id = &v
17202	return s
17203}
17204
17205// SetService sets the Service field's value.
17206func (s *DestinationInfo) SetService(v string) *DestinationInfo {
17207	s.Service = &v
17208	return s
17209}
17210
17211type DetachDiskInput struct {
17212	_ struct{} `type:"structure"`
17213
17214	// The unique name of the disk you want to detach from your instance (e.g.,
17215	// my-disk).
17216	//
17217	// DiskName is a required field
17218	DiskName *string `locationName:"diskName" type:"string" required:"true"`
17219}
17220
17221// String returns the string representation
17222func (s DetachDiskInput) String() string {
17223	return awsutil.Prettify(s)
17224}
17225
17226// GoString returns the string representation
17227func (s DetachDiskInput) GoString() string {
17228	return s.String()
17229}
17230
17231// Validate inspects the fields of the type to determine if they are valid.
17232func (s *DetachDiskInput) Validate() error {
17233	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
17234	if s.DiskName == nil {
17235		invalidParams.Add(request.NewErrParamRequired("DiskName"))
17236	}
17237
17238	if invalidParams.Len() > 0 {
17239		return invalidParams
17240	}
17241	return nil
17242}
17243
17244// SetDiskName sets the DiskName field's value.
17245func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
17246	s.DiskName = &v
17247	return s
17248}
17249
17250type DetachDiskOutput struct {
17251	_ struct{} `type:"structure"`
17252
17253	// An array of objects that describe the result of the action, such as the status
17254	// of the request, the time stamp of the request, and the resources affected
17255	// by the request.
17256	Operations []*Operation `locationName:"operations" type:"list"`
17257}
17258
17259// String returns the string representation
17260func (s DetachDiskOutput) String() string {
17261	return awsutil.Prettify(s)
17262}
17263
17264// GoString returns the string representation
17265func (s DetachDiskOutput) GoString() string {
17266	return s.String()
17267}
17268
17269// SetOperations sets the Operations field's value.
17270func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
17271	s.Operations = v
17272	return s
17273}
17274
17275type DetachInstancesFromLoadBalancerInput struct {
17276	_ struct{} `type:"structure"`
17277
17278	// An array of strings containing the names of the instances you want to detach
17279	// from the load balancer.
17280	//
17281	// InstanceNames is a required field
17282	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
17283
17284	// The name of the Lightsail load balancer.
17285	//
17286	// LoadBalancerName is a required field
17287	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17288}
17289
17290// String returns the string representation
17291func (s DetachInstancesFromLoadBalancerInput) String() string {
17292	return awsutil.Prettify(s)
17293}
17294
17295// GoString returns the string representation
17296func (s DetachInstancesFromLoadBalancerInput) GoString() string {
17297	return s.String()
17298}
17299
17300// Validate inspects the fields of the type to determine if they are valid.
17301func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
17302	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
17303	if s.InstanceNames == nil {
17304		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
17305	}
17306	if s.LoadBalancerName == nil {
17307		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17308	}
17309
17310	if invalidParams.Len() > 0 {
17311		return invalidParams
17312	}
17313	return nil
17314}
17315
17316// SetInstanceNames sets the InstanceNames field's value.
17317func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
17318	s.InstanceNames = v
17319	return s
17320}
17321
17322// SetLoadBalancerName sets the LoadBalancerName field's value.
17323func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
17324	s.LoadBalancerName = &v
17325	return s
17326}
17327
17328type DetachInstancesFromLoadBalancerOutput struct {
17329	_ struct{} `type:"structure"`
17330
17331	// An array of objects that describe the result of the action, such as the status
17332	// of the request, the time stamp of the request, and the resources affected
17333	// by the request.
17334	Operations []*Operation `locationName:"operations" type:"list"`
17335}
17336
17337// String returns the string representation
17338func (s DetachInstancesFromLoadBalancerOutput) String() string {
17339	return awsutil.Prettify(s)
17340}
17341
17342// GoString returns the string representation
17343func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
17344	return s.String()
17345}
17346
17347// SetOperations sets the Operations field's value.
17348func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
17349	s.Operations = v
17350	return s
17351}
17352
17353type DetachStaticIpInput struct {
17354	_ struct{} `type:"structure"`
17355
17356	// The name of the static IP to detach from the instance.
17357	//
17358	// StaticIpName is a required field
17359	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
17360}
17361
17362// String returns the string representation
17363func (s DetachStaticIpInput) String() string {
17364	return awsutil.Prettify(s)
17365}
17366
17367// GoString returns the string representation
17368func (s DetachStaticIpInput) GoString() string {
17369	return s.String()
17370}
17371
17372// Validate inspects the fields of the type to determine if they are valid.
17373func (s *DetachStaticIpInput) Validate() error {
17374	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
17375	if s.StaticIpName == nil {
17376		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
17377	}
17378
17379	if invalidParams.Len() > 0 {
17380		return invalidParams
17381	}
17382	return nil
17383}
17384
17385// SetStaticIpName sets the StaticIpName field's value.
17386func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
17387	s.StaticIpName = &v
17388	return s
17389}
17390
17391type DetachStaticIpOutput struct {
17392	_ struct{} `type:"structure"`
17393
17394	// An array of objects that describe the result of the action, such as the status
17395	// of the request, the time stamp of the request, and the resources affected
17396	// by the request.
17397	Operations []*Operation `locationName:"operations" type:"list"`
17398}
17399
17400// String returns the string representation
17401func (s DetachStaticIpOutput) String() string {
17402	return awsutil.Prettify(s)
17403}
17404
17405// GoString returns the string representation
17406func (s DetachStaticIpOutput) GoString() string {
17407	return s.String()
17408}
17409
17410// SetOperations sets the Operations field's value.
17411func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
17412	s.Operations = v
17413	return s
17414}
17415
17416type DisableAddOnInput struct {
17417	_ struct{} `type:"structure"`
17418
17419	// The add-on type to disable.
17420	//
17421	// AddOnType is a required field
17422	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
17423
17424	// The name of the source resource for which to disable the add-on.
17425	//
17426	// ResourceName is a required field
17427	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
17428}
17429
17430// String returns the string representation
17431func (s DisableAddOnInput) String() string {
17432	return awsutil.Prettify(s)
17433}
17434
17435// GoString returns the string representation
17436func (s DisableAddOnInput) GoString() string {
17437	return s.String()
17438}
17439
17440// Validate inspects the fields of the type to determine if they are valid.
17441func (s *DisableAddOnInput) Validate() error {
17442	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
17443	if s.AddOnType == nil {
17444		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
17445	}
17446	if s.ResourceName == nil {
17447		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
17448	}
17449
17450	if invalidParams.Len() > 0 {
17451		return invalidParams
17452	}
17453	return nil
17454}
17455
17456// SetAddOnType sets the AddOnType field's value.
17457func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
17458	s.AddOnType = &v
17459	return s
17460}
17461
17462// SetResourceName sets the ResourceName field's value.
17463func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
17464	s.ResourceName = &v
17465	return s
17466}
17467
17468type DisableAddOnOutput struct {
17469	_ struct{} `type:"structure"`
17470
17471	// An array of objects that describe the result of the action, such as the status
17472	// of the request, the time stamp of the request, and the resources affected
17473	// by the request.
17474	Operations []*Operation `locationName:"operations" type:"list"`
17475}
17476
17477// String returns the string representation
17478func (s DisableAddOnOutput) String() string {
17479	return awsutil.Prettify(s)
17480}
17481
17482// GoString returns the string representation
17483func (s DisableAddOnOutput) GoString() string {
17484	return s.String()
17485}
17486
17487// SetOperations sets the Operations field's value.
17488func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
17489	s.Operations = v
17490	return s
17491}
17492
17493// Describes a system disk or a block storage disk.
17494type Disk struct {
17495	_ struct{} `type:"structure"`
17496
17497	// An array of objects representing the add-ons enabled on the disk.
17498	AddOns []*AddOn `locationName:"addOns" type:"list"`
17499
17500	// The Amazon Resource Name (ARN) of the disk.
17501	Arn *string `locationName:"arn" type:"string"`
17502
17503	// The resources to which the disk is attached.
17504	AttachedTo *string `locationName:"attachedTo" type:"string"`
17505
17506	// (Deprecated) The attachment state of the disk.
17507	//
17508	// In releases prior to November 14, 2017, this parameter returned attached
17509	// for system disks in the API response. It is now deprecated, but still included
17510	// in the response. Use isAttached instead.
17511	//
17512	// Deprecated: AttachmentState has been deprecated
17513	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
17514
17515	// The date when the disk was created.
17516	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17517
17518	// (Deprecated) The number of GB in use by the disk.
17519	//
17520	// In releases prior to November 14, 2017, this parameter was not included in
17521	// the API response. It is now deprecated.
17522	//
17523	// Deprecated: GbInUse has been deprecated
17524	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
17525
17526	// The input/output operations per second (IOPS) of the disk.
17527	Iops *int64 `locationName:"iops" type:"integer"`
17528
17529	// A Boolean value indicating whether the disk is attached.
17530	IsAttached *bool `locationName:"isAttached" type:"boolean"`
17531
17532	// A Boolean value indicating whether this disk is a system disk (has an operating
17533	// system loaded on it).
17534	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
17535
17536	// The AWS Region and Availability Zone where the disk is located.
17537	Location *ResourceLocation `locationName:"location" type:"structure"`
17538
17539	// The unique name of the disk.
17540	Name *string `locationName:"name" type:"string"`
17541
17542	// The disk path.
17543	Path *string `locationName:"path" type:"string"`
17544
17545	// The Lightsail resource type (e.g., Disk).
17546	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
17547
17548	// The size of the disk in GB.
17549	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
17550
17551	// Describes the status of the disk.
17552	State *string `locationName:"state" type:"string" enum:"DiskState"`
17553
17554	// The support code. Include this code in your email to support when you have
17555	// questions about an instance or another resource in Lightsail. This code enables
17556	// our support team to look up your Lightsail information more easily.
17557	SupportCode *string `locationName:"supportCode" type:"string"`
17558
17559	// The tag keys and optional values for the resource. For more information about
17560	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
17561	Tags []*Tag `locationName:"tags" type:"list"`
17562}
17563
17564// String returns the string representation
17565func (s Disk) String() string {
17566	return awsutil.Prettify(s)
17567}
17568
17569// GoString returns the string representation
17570func (s Disk) GoString() string {
17571	return s.String()
17572}
17573
17574// SetAddOns sets the AddOns field's value.
17575func (s *Disk) SetAddOns(v []*AddOn) *Disk {
17576	s.AddOns = v
17577	return s
17578}
17579
17580// SetArn sets the Arn field's value.
17581func (s *Disk) SetArn(v string) *Disk {
17582	s.Arn = &v
17583	return s
17584}
17585
17586// SetAttachedTo sets the AttachedTo field's value.
17587func (s *Disk) SetAttachedTo(v string) *Disk {
17588	s.AttachedTo = &v
17589	return s
17590}
17591
17592// SetAttachmentState sets the AttachmentState field's value.
17593func (s *Disk) SetAttachmentState(v string) *Disk {
17594	s.AttachmentState = &v
17595	return s
17596}
17597
17598// SetCreatedAt sets the CreatedAt field's value.
17599func (s *Disk) SetCreatedAt(v time.Time) *Disk {
17600	s.CreatedAt = &v
17601	return s
17602}
17603
17604// SetGbInUse sets the GbInUse field's value.
17605func (s *Disk) SetGbInUse(v int64) *Disk {
17606	s.GbInUse = &v
17607	return s
17608}
17609
17610// SetIops sets the Iops field's value.
17611func (s *Disk) SetIops(v int64) *Disk {
17612	s.Iops = &v
17613	return s
17614}
17615
17616// SetIsAttached sets the IsAttached field's value.
17617func (s *Disk) SetIsAttached(v bool) *Disk {
17618	s.IsAttached = &v
17619	return s
17620}
17621
17622// SetIsSystemDisk sets the IsSystemDisk field's value.
17623func (s *Disk) SetIsSystemDisk(v bool) *Disk {
17624	s.IsSystemDisk = &v
17625	return s
17626}
17627
17628// SetLocation sets the Location field's value.
17629func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
17630	s.Location = v
17631	return s
17632}
17633
17634// SetName sets the Name field's value.
17635func (s *Disk) SetName(v string) *Disk {
17636	s.Name = &v
17637	return s
17638}
17639
17640// SetPath sets the Path field's value.
17641func (s *Disk) SetPath(v string) *Disk {
17642	s.Path = &v
17643	return s
17644}
17645
17646// SetResourceType sets the ResourceType field's value.
17647func (s *Disk) SetResourceType(v string) *Disk {
17648	s.ResourceType = &v
17649	return s
17650}
17651
17652// SetSizeInGb sets the SizeInGb field's value.
17653func (s *Disk) SetSizeInGb(v int64) *Disk {
17654	s.SizeInGb = &v
17655	return s
17656}
17657
17658// SetState sets the State field's value.
17659func (s *Disk) SetState(v string) *Disk {
17660	s.State = &v
17661	return s
17662}
17663
17664// SetSupportCode sets the SupportCode field's value.
17665func (s *Disk) SetSupportCode(v string) *Disk {
17666	s.SupportCode = &v
17667	return s
17668}
17669
17670// SetTags sets the Tags field's value.
17671func (s *Disk) SetTags(v []*Tag) *Disk {
17672	s.Tags = v
17673	return s
17674}
17675
17676// Describes a disk.
17677type DiskInfo struct {
17678	_ struct{} `type:"structure"`
17679
17680	// A Boolean value indicating whether this disk is a system disk (has an operating
17681	// system loaded on it).
17682	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
17683
17684	// The disk name.
17685	Name *string `locationName:"name" type:"string"`
17686
17687	// The disk path.
17688	Path *string `locationName:"path" type:"string"`
17689
17690	// The size of the disk in GB (e.g., 32).
17691	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
17692}
17693
17694// String returns the string representation
17695func (s DiskInfo) String() string {
17696	return awsutil.Prettify(s)
17697}
17698
17699// GoString returns the string representation
17700func (s DiskInfo) GoString() string {
17701	return s.String()
17702}
17703
17704// SetIsSystemDisk sets the IsSystemDisk field's value.
17705func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
17706	s.IsSystemDisk = &v
17707	return s
17708}
17709
17710// SetName sets the Name field's value.
17711func (s *DiskInfo) SetName(v string) *DiskInfo {
17712	s.Name = &v
17713	return s
17714}
17715
17716// SetPath sets the Path field's value.
17717func (s *DiskInfo) SetPath(v string) *DiskInfo {
17718	s.Path = &v
17719	return s
17720}
17721
17722// SetSizeInGb sets the SizeInGb field's value.
17723func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
17724	s.SizeInGb = &v
17725	return s
17726}
17727
17728// Describes a block storage disk mapping.
17729type DiskMap struct {
17730	_ struct{} `type:"structure"`
17731
17732	// The new disk name (e.g., my-new-disk).
17733	NewDiskName *string `locationName:"newDiskName" type:"string"`
17734
17735	// The original disk path exposed to the instance (for example, /dev/sdh).
17736	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
17737}
17738
17739// String returns the string representation
17740func (s DiskMap) String() string {
17741	return awsutil.Prettify(s)
17742}
17743
17744// GoString returns the string representation
17745func (s DiskMap) GoString() string {
17746	return s.String()
17747}
17748
17749// SetNewDiskName sets the NewDiskName field's value.
17750func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
17751	s.NewDiskName = &v
17752	return s
17753}
17754
17755// SetOriginalDiskPath sets the OriginalDiskPath field's value.
17756func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
17757	s.OriginalDiskPath = &v
17758	return s
17759}
17760
17761// Describes a block storage disk snapshot.
17762type DiskSnapshot struct {
17763	_ struct{} `type:"structure"`
17764
17765	// The Amazon Resource Name (ARN) of the disk snapshot.
17766	Arn *string `locationName:"arn" type:"string"`
17767
17768	// The date when the disk snapshot was created.
17769	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17770
17771	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
17772	// was created.
17773	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
17774
17775	// The unique name of the source disk from which the disk snapshot was created.
17776	FromDiskName *string `locationName:"fromDiskName" type:"string"`
17777
17778	// The Amazon Resource Name (ARN) of the source instance from which the disk
17779	// (system volume) snapshot was created.
17780	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
17781
17782	// The unique name of the source instance from which the disk (system volume)
17783	// snapshot was created.
17784	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
17785
17786	// A Boolean value indicating whether the snapshot was created from an automatic
17787	// snapshot.
17788	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
17789
17790	// The AWS Region and Availability Zone where the disk snapshot was created.
17791	Location *ResourceLocation `locationName:"location" type:"structure"`
17792
17793	// The name of the disk snapshot (e.g., my-disk-snapshot).
17794	Name *string `locationName:"name" type:"string"`
17795
17796	// The progress of the disk snapshot operation.
17797	Progress *string `locationName:"progress" type:"string"`
17798
17799	// The Lightsail resource type (e.g., DiskSnapshot).
17800	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
17801
17802	// The size of the disk in GB.
17803	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
17804
17805	// The status of the disk snapshot operation.
17806	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
17807
17808	// The support code. Include this code in your email to support when you have
17809	// questions about an instance or another resource in Lightsail. This code enables
17810	// our support team to look up your Lightsail information more easily.
17811	SupportCode *string `locationName:"supportCode" type:"string"`
17812
17813	// The tag keys and optional values for the resource. For more information about
17814	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
17815	Tags []*Tag `locationName:"tags" type:"list"`
17816}
17817
17818// String returns the string representation
17819func (s DiskSnapshot) String() string {
17820	return awsutil.Prettify(s)
17821}
17822
17823// GoString returns the string representation
17824func (s DiskSnapshot) GoString() string {
17825	return s.String()
17826}
17827
17828// SetArn sets the Arn field's value.
17829func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
17830	s.Arn = &v
17831	return s
17832}
17833
17834// SetCreatedAt sets the CreatedAt field's value.
17835func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
17836	s.CreatedAt = &v
17837	return s
17838}
17839
17840// SetFromDiskArn sets the FromDiskArn field's value.
17841func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
17842	s.FromDiskArn = &v
17843	return s
17844}
17845
17846// SetFromDiskName sets the FromDiskName field's value.
17847func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
17848	s.FromDiskName = &v
17849	return s
17850}
17851
17852// SetFromInstanceArn sets the FromInstanceArn field's value.
17853func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
17854	s.FromInstanceArn = &v
17855	return s
17856}
17857
17858// SetFromInstanceName sets the FromInstanceName field's value.
17859func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
17860	s.FromInstanceName = &v
17861	return s
17862}
17863
17864// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
17865func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
17866	s.IsFromAutoSnapshot = &v
17867	return s
17868}
17869
17870// SetLocation sets the Location field's value.
17871func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
17872	s.Location = v
17873	return s
17874}
17875
17876// SetName sets the Name field's value.
17877func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
17878	s.Name = &v
17879	return s
17880}
17881
17882// SetProgress sets the Progress field's value.
17883func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
17884	s.Progress = &v
17885	return s
17886}
17887
17888// SetResourceType sets the ResourceType field's value.
17889func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
17890	s.ResourceType = &v
17891	return s
17892}
17893
17894// SetSizeInGb sets the SizeInGb field's value.
17895func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
17896	s.SizeInGb = &v
17897	return s
17898}
17899
17900// SetState sets the State field's value.
17901func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
17902	s.State = &v
17903	return s
17904}
17905
17906// SetSupportCode sets the SupportCode field's value.
17907func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
17908	s.SupportCode = &v
17909	return s
17910}
17911
17912// SetTags sets the Tags field's value.
17913func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
17914	s.Tags = v
17915	return s
17916}
17917
17918// Describes a disk snapshot.
17919type DiskSnapshotInfo struct {
17920	_ struct{} `type:"structure"`
17921
17922	// The size of the disk in GB (e.g., 32).
17923	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
17924}
17925
17926// String returns the string representation
17927func (s DiskSnapshotInfo) String() string {
17928	return awsutil.Prettify(s)
17929}
17930
17931// GoString returns the string representation
17932func (s DiskSnapshotInfo) GoString() string {
17933	return s.String()
17934}
17935
17936// SetSizeInGb sets the SizeInGb field's value.
17937func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
17938	s.SizeInGb = &v
17939	return s
17940}
17941
17942// Describes a domain where you are storing recordsets in Lightsail.
17943type Domain struct {
17944	_ struct{} `type:"structure"`
17945
17946	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
17947	Arn *string `locationName:"arn" type:"string"`
17948
17949	// The date when the domain recordset was created.
17950	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17951
17952	// An array of key-value pairs containing information about the domain entries.
17953	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
17954
17955	// The AWS Region and Availability Zones where the domain recordset was created.
17956	Location *ResourceLocation `locationName:"location" type:"structure"`
17957
17958	// The name of the domain.
17959	Name *string `locationName:"name" type:"string"`
17960
17961	// The resource type.
17962	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
17963
17964	// The support code. Include this code in your email to support when you have
17965	// questions about an instance or another resource in Lightsail. This code enables
17966	// our support team to look up your Lightsail information more easily.
17967	SupportCode *string `locationName:"supportCode" type:"string"`
17968
17969	// The tag keys and optional values for the resource. For more information about
17970	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
17971	Tags []*Tag `locationName:"tags" type:"list"`
17972}
17973
17974// String returns the string representation
17975func (s Domain) String() string {
17976	return awsutil.Prettify(s)
17977}
17978
17979// GoString returns the string representation
17980func (s Domain) GoString() string {
17981	return s.String()
17982}
17983
17984// SetArn sets the Arn field's value.
17985func (s *Domain) SetArn(v string) *Domain {
17986	s.Arn = &v
17987	return s
17988}
17989
17990// SetCreatedAt sets the CreatedAt field's value.
17991func (s *Domain) SetCreatedAt(v time.Time) *Domain {
17992	s.CreatedAt = &v
17993	return s
17994}
17995
17996// SetDomainEntries sets the DomainEntries field's value.
17997func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
17998	s.DomainEntries = v
17999	return s
18000}
18001
18002// SetLocation sets the Location field's value.
18003func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
18004	s.Location = v
18005	return s
18006}
18007
18008// SetName sets the Name field's value.
18009func (s *Domain) SetName(v string) *Domain {
18010	s.Name = &v
18011	return s
18012}
18013
18014// SetResourceType sets the ResourceType field's value.
18015func (s *Domain) SetResourceType(v string) *Domain {
18016	s.ResourceType = &v
18017	return s
18018}
18019
18020// SetSupportCode sets the SupportCode field's value.
18021func (s *Domain) SetSupportCode(v string) *Domain {
18022	s.SupportCode = &v
18023	return s
18024}
18025
18026// SetTags sets the Tags field's value.
18027func (s *Domain) SetTags(v []*Tag) *Domain {
18028	s.Tags = v
18029	return s
18030}
18031
18032// Describes a domain recordset entry.
18033type DomainEntry struct {
18034	_ struct{} `type:"structure"`
18035
18036	// The ID of the domain recordset entry.
18037	Id *string `locationName:"id" type:"string"`
18038
18039	// When true, specifies whether the domain entry is an alias used by the Lightsail
18040	// load balancer. You can include an alias (A type) record in your request,
18041	// which points to a load balancer DNS name and routes traffic to your load
18042	// balancer
18043	IsAlias *bool `locationName:"isAlias" type:"boolean"`
18044
18045	// The name of the domain.
18046	Name *string `locationName:"name" type:"string"`
18047
18048	// (Deprecated) The options for the domain entry.
18049	//
18050	// In releases prior to November 29, 2017, this parameter was not included in
18051	// the API response. It is now deprecated.
18052	//
18053	// Deprecated: Options has been deprecated
18054	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
18055
18056	// The target AWS name server (e.g., ns-111.awsdns-22.com.).
18057	//
18058	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
18059	// Be sure to also set isAlias to true when setting up an A record for a load
18060	// balancer.
18061	Target *string `locationName:"target" type:"string"`
18062
18063	// The type of domain entry, such as address (A), canonical name (CNAME), mail
18064	// exchanger (MX), name server (NS), start of authority (SOA), service locator
18065	// (SRV), or text (TXT).
18066	//
18067	// The following domain entry types can be used:
18068	//
18069	//    * A
18070	//
18071	//    * CNAME
18072	//
18073	//    * MX
18074	//
18075	//    * NS
18076	//
18077	//    * SOA
18078	//
18079	//    * SRV
18080	//
18081	//    * TXT
18082	Type *string `locationName:"type" type:"string"`
18083}
18084
18085// String returns the string representation
18086func (s DomainEntry) String() string {
18087	return awsutil.Prettify(s)
18088}
18089
18090// GoString returns the string representation
18091func (s DomainEntry) GoString() string {
18092	return s.String()
18093}
18094
18095// SetId sets the Id field's value.
18096func (s *DomainEntry) SetId(v string) *DomainEntry {
18097	s.Id = &v
18098	return s
18099}
18100
18101// SetIsAlias sets the IsAlias field's value.
18102func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
18103	s.IsAlias = &v
18104	return s
18105}
18106
18107// SetName sets the Name field's value.
18108func (s *DomainEntry) SetName(v string) *DomainEntry {
18109	s.Name = &v
18110	return s
18111}
18112
18113// SetOptions sets the Options field's value.
18114func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
18115	s.Options = v
18116	return s
18117}
18118
18119// SetTarget sets the Target field's value.
18120func (s *DomainEntry) SetTarget(v string) *DomainEntry {
18121	s.Target = &v
18122	return s
18123}
18124
18125// SetType sets the Type field's value.
18126func (s *DomainEntry) SetType(v string) *DomainEntry {
18127	s.Type = &v
18128	return s
18129}
18130
18131type DownloadDefaultKeyPairInput struct {
18132	_ struct{} `type:"structure"`
18133}
18134
18135// String returns the string representation
18136func (s DownloadDefaultKeyPairInput) String() string {
18137	return awsutil.Prettify(s)
18138}
18139
18140// GoString returns the string representation
18141func (s DownloadDefaultKeyPairInput) GoString() string {
18142	return s.String()
18143}
18144
18145type DownloadDefaultKeyPairOutput struct {
18146	_ struct{} `type:"structure"`
18147
18148	// A base64-encoded RSA private key.
18149	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
18150
18151	// A base64-encoded public key of the ssh-rsa type.
18152	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
18153}
18154
18155// String returns the string representation
18156func (s DownloadDefaultKeyPairOutput) String() string {
18157	return awsutil.Prettify(s)
18158}
18159
18160// GoString returns the string representation
18161func (s DownloadDefaultKeyPairOutput) GoString() string {
18162	return s.String()
18163}
18164
18165// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
18166func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
18167	s.PrivateKeyBase64 = &v
18168	return s
18169}
18170
18171// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
18172func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
18173	s.PublicKeyBase64 = &v
18174	return s
18175}
18176
18177type EnableAddOnInput struct {
18178	_ struct{} `type:"structure"`
18179
18180	// An array of strings representing the add-on to enable or modify.
18181	//
18182	// AddOnRequest is a required field
18183	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
18184
18185	// The name of the source resource for which to enable or modify the add-on.
18186	//
18187	// ResourceName is a required field
18188	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
18189}
18190
18191// String returns the string representation
18192func (s EnableAddOnInput) String() string {
18193	return awsutil.Prettify(s)
18194}
18195
18196// GoString returns the string representation
18197func (s EnableAddOnInput) GoString() string {
18198	return s.String()
18199}
18200
18201// Validate inspects the fields of the type to determine if they are valid.
18202func (s *EnableAddOnInput) Validate() error {
18203	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
18204	if s.AddOnRequest == nil {
18205		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
18206	}
18207	if s.ResourceName == nil {
18208		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
18209	}
18210	if s.AddOnRequest != nil {
18211		if err := s.AddOnRequest.Validate(); err != nil {
18212			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
18213		}
18214	}
18215
18216	if invalidParams.Len() > 0 {
18217		return invalidParams
18218	}
18219	return nil
18220}
18221
18222// SetAddOnRequest sets the AddOnRequest field's value.
18223func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
18224	s.AddOnRequest = v
18225	return s
18226}
18227
18228// SetResourceName sets the ResourceName field's value.
18229func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
18230	s.ResourceName = &v
18231	return s
18232}
18233
18234type EnableAddOnOutput struct {
18235	_ struct{} `type:"structure"`
18236
18237	// An array of objects that describe the result of the action, such as the status
18238	// of the request, the time stamp of the request, and the resources affected
18239	// by the request.
18240	Operations []*Operation `locationName:"operations" type:"list"`
18241}
18242
18243// String returns the string representation
18244func (s EnableAddOnOutput) String() string {
18245	return awsutil.Prettify(s)
18246}
18247
18248// GoString returns the string representation
18249func (s EnableAddOnOutput) GoString() string {
18250	return s.String()
18251}
18252
18253// SetOperations sets the Operations field's value.
18254func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
18255	s.Operations = v
18256	return s
18257}
18258
18259type ExportSnapshotInput struct {
18260	_ struct{} `type:"structure"`
18261
18262	// The name of the instance or disk snapshot to be exported to Amazon EC2.
18263	//
18264	// SourceSnapshotName is a required field
18265	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
18266}
18267
18268// String returns the string representation
18269func (s ExportSnapshotInput) String() string {
18270	return awsutil.Prettify(s)
18271}
18272
18273// GoString returns the string representation
18274func (s ExportSnapshotInput) GoString() string {
18275	return s.String()
18276}
18277
18278// Validate inspects the fields of the type to determine if they are valid.
18279func (s *ExportSnapshotInput) Validate() error {
18280	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
18281	if s.SourceSnapshotName == nil {
18282		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
18283	}
18284
18285	if invalidParams.Len() > 0 {
18286		return invalidParams
18287	}
18288	return nil
18289}
18290
18291// SetSourceSnapshotName sets the SourceSnapshotName field's value.
18292func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
18293	s.SourceSnapshotName = &v
18294	return s
18295}
18296
18297type ExportSnapshotOutput struct {
18298	_ struct{} `type:"structure"`
18299
18300	// An array of objects that describe the result of the action, such as the status
18301	// of the request, the time stamp of the request, and the resources affected
18302	// by the request.
18303	Operations []*Operation `locationName:"operations" type:"list"`
18304}
18305
18306// String returns the string representation
18307func (s ExportSnapshotOutput) String() string {
18308	return awsutil.Prettify(s)
18309}
18310
18311// GoString returns the string representation
18312func (s ExportSnapshotOutput) GoString() string {
18313	return s.String()
18314}
18315
18316// SetOperations sets the Operations field's value.
18317func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
18318	s.Operations = v
18319	return s
18320}
18321
18322// Describes an export snapshot record.
18323type ExportSnapshotRecord struct {
18324	_ struct{} `type:"structure"`
18325
18326	// The Amazon Resource Name (ARN) of the export snapshot record.
18327	Arn *string `locationName:"arn" type:"string"`
18328
18329	// The date when the export snapshot record was created.
18330	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18331
18332	// A list of objects describing the destination of the export snapshot record.
18333	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
18334
18335	// The AWS Region and Availability Zone where the export snapshot record is
18336	// located.
18337	Location *ResourceLocation `locationName:"location" type:"structure"`
18338
18339	// The export snapshot record name.
18340	Name *string `locationName:"name" type:"string"`
18341
18342	// The Lightsail resource type (e.g., ExportSnapshotRecord).
18343	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
18344
18345	// A list of objects describing the source of the export snapshot record.
18346	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
18347
18348	// The state of the export snapshot record.
18349	State *string `locationName:"state" type:"string" enum:"RecordState"`
18350}
18351
18352// String returns the string representation
18353func (s ExportSnapshotRecord) String() string {
18354	return awsutil.Prettify(s)
18355}
18356
18357// GoString returns the string representation
18358func (s ExportSnapshotRecord) GoString() string {
18359	return s.String()
18360}
18361
18362// SetArn sets the Arn field's value.
18363func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
18364	s.Arn = &v
18365	return s
18366}
18367
18368// SetCreatedAt sets the CreatedAt field's value.
18369func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
18370	s.CreatedAt = &v
18371	return s
18372}
18373
18374// SetDestinationInfo sets the DestinationInfo field's value.
18375func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
18376	s.DestinationInfo = v
18377	return s
18378}
18379
18380// SetLocation sets the Location field's value.
18381func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
18382	s.Location = v
18383	return s
18384}
18385
18386// SetName sets the Name field's value.
18387func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
18388	s.Name = &v
18389	return s
18390}
18391
18392// SetResourceType sets the ResourceType field's value.
18393func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
18394	s.ResourceType = &v
18395	return s
18396}
18397
18398// SetSourceInfo sets the SourceInfo field's value.
18399func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
18400	s.SourceInfo = v
18401	return s
18402}
18403
18404// SetState sets the State field's value.
18405func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
18406	s.State = &v
18407	return s
18408}
18409
18410// Describes the source of an export snapshot record.
18411type ExportSnapshotRecordSourceInfo struct {
18412	_ struct{} `type:"structure"`
18413
18414	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
18415	Arn *string `locationName:"arn" type:"string"`
18416
18417	// The date when the source instance or disk snapshot was created.
18418	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18419
18420	// A list of objects describing a disk snapshot.
18421	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
18422
18423	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
18424	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
18425
18426	// The name of the snapshot's source instance or disk.
18427	FromResourceName *string `locationName:"fromResourceName" type:"string"`
18428
18429	// A list of objects describing an instance snapshot.
18430	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
18431
18432	// The name of the source instance or disk snapshot.
18433	Name *string `locationName:"name" type:"string"`
18434
18435	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
18436	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
18437}
18438
18439// String returns the string representation
18440func (s ExportSnapshotRecordSourceInfo) String() string {
18441	return awsutil.Prettify(s)
18442}
18443
18444// GoString returns the string representation
18445func (s ExportSnapshotRecordSourceInfo) GoString() string {
18446	return s.String()
18447}
18448
18449// SetArn sets the Arn field's value.
18450func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
18451	s.Arn = &v
18452	return s
18453}
18454
18455// SetCreatedAt sets the CreatedAt field's value.
18456func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
18457	s.CreatedAt = &v
18458	return s
18459}
18460
18461// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
18462func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
18463	s.DiskSnapshotInfo = v
18464	return s
18465}
18466
18467// SetFromResourceArn sets the FromResourceArn field's value.
18468func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
18469	s.FromResourceArn = &v
18470	return s
18471}
18472
18473// SetFromResourceName sets the FromResourceName field's value.
18474func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
18475	s.FromResourceName = &v
18476	return s
18477}
18478
18479// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
18480func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
18481	s.InstanceSnapshotInfo = v
18482	return s
18483}
18484
18485// SetName sets the Name field's value.
18486func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
18487	s.Name = &v
18488	return s
18489}
18490
18491// SetResourceType sets the ResourceType field's value.
18492func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
18493	s.ResourceType = &v
18494	return s
18495}
18496
18497type GetActiveNamesInput struct {
18498	_ struct{} `type:"structure"`
18499
18500	// The token to advance to the next page of results from your request.
18501	//
18502	// To get a page token, perform an initial GetActiveNames request. If your results
18503	// are paginated, the response will return a next page token that you can specify
18504	// as the page token in a subsequent request.
18505	PageToken *string `locationName:"pageToken" type:"string"`
18506}
18507
18508// String returns the string representation
18509func (s GetActiveNamesInput) String() string {
18510	return awsutil.Prettify(s)
18511}
18512
18513// GoString returns the string representation
18514func (s GetActiveNamesInput) GoString() string {
18515	return s.String()
18516}
18517
18518// SetPageToken sets the PageToken field's value.
18519func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
18520	s.PageToken = &v
18521	return s
18522}
18523
18524type GetActiveNamesOutput struct {
18525	_ struct{} `type:"structure"`
18526
18527	// The list of active names returned by the get active names request.
18528	ActiveNames []*string `locationName:"activeNames" type:"list"`
18529
18530	// The token to advance to the next page of resutls from your request.
18531	//
18532	// A next page token is not returned if there are no more results to display.
18533	//
18534	// To get the next page of results, perform another GetActiveNames request and
18535	// specify the next page token using the pageToken parameter.
18536	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18537}
18538
18539// String returns the string representation
18540func (s GetActiveNamesOutput) String() string {
18541	return awsutil.Prettify(s)
18542}
18543
18544// GoString returns the string representation
18545func (s GetActiveNamesOutput) GoString() string {
18546	return s.String()
18547}
18548
18549// SetActiveNames sets the ActiveNames field's value.
18550func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
18551	s.ActiveNames = v
18552	return s
18553}
18554
18555// SetNextPageToken sets the NextPageToken field's value.
18556func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
18557	s.NextPageToken = &v
18558	return s
18559}
18560
18561type GetAlarmsInput struct {
18562	_ struct{} `type:"structure"`
18563
18564	// The name of the alarm.
18565	//
18566	// Specify an alarm name to return information about a specific alarm.
18567	AlarmName *string `locationName:"alarmName" type:"string"`
18568
18569	// The name of the Lightsail resource being monitored by the alarm.
18570	//
18571	// Specify a monitored resource name to return information about all alarms
18572	// for a specific resource.
18573	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
18574
18575	// The token to advance to the next page of results from your request.
18576	//
18577	// To get a page token, perform an initial GetAlarms request. If your results
18578	// are paginated, the response will return a next page token that you can specify
18579	// as the page token in a subsequent request.
18580	PageToken *string `locationName:"pageToken" type:"string"`
18581}
18582
18583// String returns the string representation
18584func (s GetAlarmsInput) String() string {
18585	return awsutil.Prettify(s)
18586}
18587
18588// GoString returns the string representation
18589func (s GetAlarmsInput) GoString() string {
18590	return s.String()
18591}
18592
18593// SetAlarmName sets the AlarmName field's value.
18594func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
18595	s.AlarmName = &v
18596	return s
18597}
18598
18599// SetMonitoredResourceName sets the MonitoredResourceName field's value.
18600func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
18601	s.MonitoredResourceName = &v
18602	return s
18603}
18604
18605// SetPageToken sets the PageToken field's value.
18606func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
18607	s.PageToken = &v
18608	return s
18609}
18610
18611type GetAlarmsOutput struct {
18612	_ struct{} `type:"structure"`
18613
18614	// An array of objects that describe the alarms.
18615	Alarms []*Alarm `locationName:"alarms" type:"list"`
18616
18617	// The token to advance to the next page of resutls from your request.
18618	//
18619	// A next page token is not returned if there are no more results to display.
18620	//
18621	// To get the next page of results, perform another GetAlarms request and specify
18622	// the next page token using the pageToken parameter.
18623	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18624}
18625
18626// String returns the string representation
18627func (s GetAlarmsOutput) String() string {
18628	return awsutil.Prettify(s)
18629}
18630
18631// GoString returns the string representation
18632func (s GetAlarmsOutput) GoString() string {
18633	return s.String()
18634}
18635
18636// SetAlarms sets the Alarms field's value.
18637func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
18638	s.Alarms = v
18639	return s
18640}
18641
18642// SetNextPageToken sets the NextPageToken field's value.
18643func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
18644	s.NextPageToken = &v
18645	return s
18646}
18647
18648type GetAutoSnapshotsInput struct {
18649	_ struct{} `type:"structure"`
18650
18651	// The name of the source instance or disk from which to get automatic snapshot
18652	// information.
18653	//
18654	// ResourceName is a required field
18655	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
18656}
18657
18658// String returns the string representation
18659func (s GetAutoSnapshotsInput) String() string {
18660	return awsutil.Prettify(s)
18661}
18662
18663// GoString returns the string representation
18664func (s GetAutoSnapshotsInput) GoString() string {
18665	return s.String()
18666}
18667
18668// Validate inspects the fields of the type to determine if they are valid.
18669func (s *GetAutoSnapshotsInput) Validate() error {
18670	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
18671	if s.ResourceName == nil {
18672		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
18673	}
18674
18675	if invalidParams.Len() > 0 {
18676		return invalidParams
18677	}
18678	return nil
18679}
18680
18681// SetResourceName sets the ResourceName field's value.
18682func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
18683	s.ResourceName = &v
18684	return s
18685}
18686
18687type GetAutoSnapshotsOutput struct {
18688	_ struct{} `type:"structure"`
18689
18690	// An array of objects that describe the automatic snapshots that are available
18691	// for the specified source instance or disk.
18692	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
18693
18694	// The name of the source instance or disk for the automatic snapshots.
18695	ResourceName *string `locationName:"resourceName" type:"string"`
18696
18697	// The resource type (e.g., Instance or Disk).
18698	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
18699}
18700
18701// String returns the string representation
18702func (s GetAutoSnapshotsOutput) String() string {
18703	return awsutil.Prettify(s)
18704}
18705
18706// GoString returns the string representation
18707func (s GetAutoSnapshotsOutput) GoString() string {
18708	return s.String()
18709}
18710
18711// SetAutoSnapshots sets the AutoSnapshots field's value.
18712func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
18713	s.AutoSnapshots = v
18714	return s
18715}
18716
18717// SetResourceName sets the ResourceName field's value.
18718func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
18719	s.ResourceName = &v
18720	return s
18721}
18722
18723// SetResourceType sets the ResourceType field's value.
18724func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
18725	s.ResourceType = &v
18726	return s
18727}
18728
18729type GetBlueprintsInput struct {
18730	_ struct{} `type:"structure"`
18731
18732	// A Boolean value indicating whether to include inactive results in your request.
18733	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
18734
18735	// The token to advance to the next page of results from your request.
18736	//
18737	// To get a page token, perform an initial GetBlueprints request. If your results
18738	// are paginated, the response will return a next page token that you can specify
18739	// as the page token in a subsequent request.
18740	PageToken *string `locationName:"pageToken" type:"string"`
18741}
18742
18743// String returns the string representation
18744func (s GetBlueprintsInput) String() string {
18745	return awsutil.Prettify(s)
18746}
18747
18748// GoString returns the string representation
18749func (s GetBlueprintsInput) GoString() string {
18750	return s.String()
18751}
18752
18753// SetIncludeInactive sets the IncludeInactive field's value.
18754func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
18755	s.IncludeInactive = &v
18756	return s
18757}
18758
18759// SetPageToken sets the PageToken field's value.
18760func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
18761	s.PageToken = &v
18762	return s
18763}
18764
18765type GetBlueprintsOutput struct {
18766	_ struct{} `type:"structure"`
18767
18768	// An array of key-value pairs that contains information about the available
18769	// blueprints.
18770	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
18771
18772	// The token to advance to the next page of resutls from your request.
18773	//
18774	// A next page token is not returned if there are no more results to display.
18775	//
18776	// To get the next page of results, perform another GetBlueprints request and
18777	// specify the next page token using the pageToken parameter.
18778	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18779}
18780
18781// String returns the string representation
18782func (s GetBlueprintsOutput) String() string {
18783	return awsutil.Prettify(s)
18784}
18785
18786// GoString returns the string representation
18787func (s GetBlueprintsOutput) GoString() string {
18788	return s.String()
18789}
18790
18791// SetBlueprints sets the Blueprints field's value.
18792func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
18793	s.Blueprints = v
18794	return s
18795}
18796
18797// SetNextPageToken sets the NextPageToken field's value.
18798func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
18799	s.NextPageToken = &v
18800	return s
18801}
18802
18803type GetBundlesInput struct {
18804	_ struct{} `type:"structure"`
18805
18806	// A Boolean value that indicates whether to include inactive bundle results
18807	// in your request.
18808	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
18809
18810	// The token to advance to the next page of results from your request.
18811	//
18812	// To get a page token, perform an initial GetBundles request. If your results
18813	// are paginated, the response will return a next page token that you can specify
18814	// as the page token in a subsequent request.
18815	PageToken *string `locationName:"pageToken" type:"string"`
18816}
18817
18818// String returns the string representation
18819func (s GetBundlesInput) String() string {
18820	return awsutil.Prettify(s)
18821}
18822
18823// GoString returns the string representation
18824func (s GetBundlesInput) GoString() string {
18825	return s.String()
18826}
18827
18828// SetIncludeInactive sets the IncludeInactive field's value.
18829func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
18830	s.IncludeInactive = &v
18831	return s
18832}
18833
18834// SetPageToken sets the PageToken field's value.
18835func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
18836	s.PageToken = &v
18837	return s
18838}
18839
18840type GetBundlesOutput struct {
18841	_ struct{} `type:"structure"`
18842
18843	// An array of key-value pairs that contains information about the available
18844	// bundles.
18845	Bundles []*Bundle `locationName:"bundles" type:"list"`
18846
18847	// The token to advance to the next page of resutls from your request.
18848	//
18849	// A next page token is not returned if there are no more results to display.
18850	//
18851	// To get the next page of results, perform another GetBundles request and specify
18852	// the next page token using the pageToken parameter.
18853	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18854}
18855
18856// String returns the string representation
18857func (s GetBundlesOutput) String() string {
18858	return awsutil.Prettify(s)
18859}
18860
18861// GoString returns the string representation
18862func (s GetBundlesOutput) GoString() string {
18863	return s.String()
18864}
18865
18866// SetBundles sets the Bundles field's value.
18867func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
18868	s.Bundles = v
18869	return s
18870}
18871
18872// SetNextPageToken sets the NextPageToken field's value.
18873func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
18874	s.NextPageToken = &v
18875	return s
18876}
18877
18878type GetCloudFormationStackRecordsInput struct {
18879	_ struct{} `type:"structure"`
18880
18881	// The token to advance to the next page of results from your request.
18882	//
18883	// To get a page token, perform an initial GetClouFormationStackRecords request.
18884	// If your results are paginated, the response will return a next page token
18885	// that you can specify as the page token in a subsequent request.
18886	PageToken *string `locationName:"pageToken" type:"string"`
18887}
18888
18889// String returns the string representation
18890func (s GetCloudFormationStackRecordsInput) String() string {
18891	return awsutil.Prettify(s)
18892}
18893
18894// GoString returns the string representation
18895func (s GetCloudFormationStackRecordsInput) GoString() string {
18896	return s.String()
18897}
18898
18899// SetPageToken sets the PageToken field's value.
18900func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
18901	s.PageToken = &v
18902	return s
18903}
18904
18905type GetCloudFormationStackRecordsOutput struct {
18906	_ struct{} `type:"structure"`
18907
18908	// A list of objects describing the CloudFormation stack records.
18909	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
18910
18911	// The token to advance to the next page of resutls from your request.
18912	//
18913	// A next page token is not returned if there are no more results to display.
18914	//
18915	// To get the next page of results, perform another GetCloudFormationStackRecords
18916	// request and specify the next page token using the pageToken parameter.
18917	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18918}
18919
18920// String returns the string representation
18921func (s GetCloudFormationStackRecordsOutput) String() string {
18922	return awsutil.Prettify(s)
18923}
18924
18925// GoString returns the string representation
18926func (s GetCloudFormationStackRecordsOutput) GoString() string {
18927	return s.String()
18928}
18929
18930// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
18931func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
18932	s.CloudFormationStackRecords = v
18933	return s
18934}
18935
18936// SetNextPageToken sets the NextPageToken field's value.
18937func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
18938	s.NextPageToken = &v
18939	return s
18940}
18941
18942type GetContactMethodsInput struct {
18943	_ struct{} `type:"structure"`
18944
18945	// The protocols used to send notifications, such as Email, or SMS (text messaging).
18946	//
18947	// Specify a protocol in your request to return information about a specific
18948	// contact method protocol.
18949	Protocols []*string `locationName:"protocols" type:"list"`
18950}
18951
18952// String returns the string representation
18953func (s GetContactMethodsInput) String() string {
18954	return awsutil.Prettify(s)
18955}
18956
18957// GoString returns the string representation
18958func (s GetContactMethodsInput) GoString() string {
18959	return s.String()
18960}
18961
18962// SetProtocols sets the Protocols field's value.
18963func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
18964	s.Protocols = v
18965	return s
18966}
18967
18968type GetContactMethodsOutput struct {
18969	_ struct{} `type:"structure"`
18970
18971	// An array of objects that describe the contact methods.
18972	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
18973}
18974
18975// String returns the string representation
18976func (s GetContactMethodsOutput) String() string {
18977	return awsutil.Prettify(s)
18978}
18979
18980// GoString returns the string representation
18981func (s GetContactMethodsOutput) GoString() string {
18982	return s.String()
18983}
18984
18985// SetContactMethods sets the ContactMethods field's value.
18986func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
18987	s.ContactMethods = v
18988	return s
18989}
18990
18991type GetDiskInput struct {
18992	_ struct{} `type:"structure"`
18993
18994	// The name of the disk (e.g., my-disk).
18995	//
18996	// DiskName is a required field
18997	DiskName *string `locationName:"diskName" type:"string" required:"true"`
18998}
18999
19000// String returns the string representation
19001func (s GetDiskInput) String() string {
19002	return awsutil.Prettify(s)
19003}
19004
19005// GoString returns the string representation
19006func (s GetDiskInput) GoString() string {
19007	return s.String()
19008}
19009
19010// Validate inspects the fields of the type to determine if they are valid.
19011func (s *GetDiskInput) Validate() error {
19012	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
19013	if s.DiskName == nil {
19014		invalidParams.Add(request.NewErrParamRequired("DiskName"))
19015	}
19016
19017	if invalidParams.Len() > 0 {
19018		return invalidParams
19019	}
19020	return nil
19021}
19022
19023// SetDiskName sets the DiskName field's value.
19024func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
19025	s.DiskName = &v
19026	return s
19027}
19028
19029type GetDiskOutput struct {
19030	_ struct{} `type:"structure"`
19031
19032	// An object containing information about the disk.
19033	Disk *Disk `locationName:"disk" type:"structure"`
19034}
19035
19036// String returns the string representation
19037func (s GetDiskOutput) String() string {
19038	return awsutil.Prettify(s)
19039}
19040
19041// GoString returns the string representation
19042func (s GetDiskOutput) GoString() string {
19043	return s.String()
19044}
19045
19046// SetDisk sets the Disk field's value.
19047func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
19048	s.Disk = v
19049	return s
19050}
19051
19052type GetDiskSnapshotInput struct {
19053	_ struct{} `type:"structure"`
19054
19055	// The name of the disk snapshot (e.g., my-disk-snapshot).
19056	//
19057	// DiskSnapshotName is a required field
19058	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
19059}
19060
19061// String returns the string representation
19062func (s GetDiskSnapshotInput) String() string {
19063	return awsutil.Prettify(s)
19064}
19065
19066// GoString returns the string representation
19067func (s GetDiskSnapshotInput) GoString() string {
19068	return s.String()
19069}
19070
19071// Validate inspects the fields of the type to determine if they are valid.
19072func (s *GetDiskSnapshotInput) Validate() error {
19073	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
19074	if s.DiskSnapshotName == nil {
19075		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
19076	}
19077
19078	if invalidParams.Len() > 0 {
19079		return invalidParams
19080	}
19081	return nil
19082}
19083
19084// SetDiskSnapshotName sets the DiskSnapshotName field's value.
19085func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
19086	s.DiskSnapshotName = &v
19087	return s
19088}
19089
19090type GetDiskSnapshotOutput struct {
19091	_ struct{} `type:"structure"`
19092
19093	// An object containing information about the disk snapshot.
19094	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
19095}
19096
19097// String returns the string representation
19098func (s GetDiskSnapshotOutput) String() string {
19099	return awsutil.Prettify(s)
19100}
19101
19102// GoString returns the string representation
19103func (s GetDiskSnapshotOutput) GoString() string {
19104	return s.String()
19105}
19106
19107// SetDiskSnapshot sets the DiskSnapshot field's value.
19108func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
19109	s.DiskSnapshot = v
19110	return s
19111}
19112
19113type GetDiskSnapshotsInput struct {
19114	_ struct{} `type:"structure"`
19115
19116	// The token to advance to the next page of results from your request.
19117	//
19118	// To get a page token, perform an initial GetDiskSnapshots request. If your
19119	// results are paginated, the response will return a next page token that you
19120	// can specify as the page token in a subsequent request.
19121	PageToken *string `locationName:"pageToken" type:"string"`
19122}
19123
19124// String returns the string representation
19125func (s GetDiskSnapshotsInput) String() string {
19126	return awsutil.Prettify(s)
19127}
19128
19129// GoString returns the string representation
19130func (s GetDiskSnapshotsInput) GoString() string {
19131	return s.String()
19132}
19133
19134// SetPageToken sets the PageToken field's value.
19135func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
19136	s.PageToken = &v
19137	return s
19138}
19139
19140type GetDiskSnapshotsOutput struct {
19141	_ struct{} `type:"structure"`
19142
19143	// An array of objects containing information about all block storage disk snapshots.
19144	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
19145
19146	// The token to advance to the next page of resutls from your request.
19147	//
19148	// A next page token is not returned if there are no more results to display.
19149	//
19150	// To get the next page of results, perform another GetDiskSnapshots request
19151	// and specify the next page token using the pageToken parameter.
19152	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19153}
19154
19155// String returns the string representation
19156func (s GetDiskSnapshotsOutput) String() string {
19157	return awsutil.Prettify(s)
19158}
19159
19160// GoString returns the string representation
19161func (s GetDiskSnapshotsOutput) GoString() string {
19162	return s.String()
19163}
19164
19165// SetDiskSnapshots sets the DiskSnapshots field's value.
19166func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
19167	s.DiskSnapshots = v
19168	return s
19169}
19170
19171// SetNextPageToken sets the NextPageToken field's value.
19172func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
19173	s.NextPageToken = &v
19174	return s
19175}
19176
19177type GetDisksInput struct {
19178	_ struct{} `type:"structure"`
19179
19180	// The token to advance to the next page of results from your request.
19181	//
19182	// To get a page token, perform an initial GetDisks request. If your results
19183	// are paginated, the response will return a next page token that you can specify
19184	// as the page token in a subsequent request.
19185	PageToken *string `locationName:"pageToken" type:"string"`
19186}
19187
19188// String returns the string representation
19189func (s GetDisksInput) String() string {
19190	return awsutil.Prettify(s)
19191}
19192
19193// GoString returns the string representation
19194func (s GetDisksInput) GoString() string {
19195	return s.String()
19196}
19197
19198// SetPageToken sets the PageToken field's value.
19199func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
19200	s.PageToken = &v
19201	return s
19202}
19203
19204type GetDisksOutput struct {
19205	_ struct{} `type:"structure"`
19206
19207	// An array of objects containing information about all block storage disks.
19208	Disks []*Disk `locationName:"disks" type:"list"`
19209
19210	// The token to advance to the next page of resutls from your request.
19211	//
19212	// A next page token is not returned if there are no more results to display.
19213	//
19214	// To get the next page of results, perform another GetDisks request and specify
19215	// the next page token using the pageToken parameter.
19216	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19217}
19218
19219// String returns the string representation
19220func (s GetDisksOutput) String() string {
19221	return awsutil.Prettify(s)
19222}
19223
19224// GoString returns the string representation
19225func (s GetDisksOutput) GoString() string {
19226	return s.String()
19227}
19228
19229// SetDisks sets the Disks field's value.
19230func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
19231	s.Disks = v
19232	return s
19233}
19234
19235// SetNextPageToken sets the NextPageToken field's value.
19236func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
19237	s.NextPageToken = &v
19238	return s
19239}
19240
19241type GetDomainInput struct {
19242	_ struct{} `type:"structure"`
19243
19244	// The domain name for which your want to return information about.
19245	//
19246	// DomainName is a required field
19247	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19248}
19249
19250// String returns the string representation
19251func (s GetDomainInput) String() string {
19252	return awsutil.Prettify(s)
19253}
19254
19255// GoString returns the string representation
19256func (s GetDomainInput) GoString() string {
19257	return s.String()
19258}
19259
19260// Validate inspects the fields of the type to determine if they are valid.
19261func (s *GetDomainInput) Validate() error {
19262	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
19263	if s.DomainName == nil {
19264		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19265	}
19266
19267	if invalidParams.Len() > 0 {
19268		return invalidParams
19269	}
19270	return nil
19271}
19272
19273// SetDomainName sets the DomainName field's value.
19274func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
19275	s.DomainName = &v
19276	return s
19277}
19278
19279type GetDomainOutput struct {
19280	_ struct{} `type:"structure"`
19281
19282	// An array of key-value pairs containing information about your get domain
19283	// request.
19284	Domain *Domain `locationName:"domain" type:"structure"`
19285}
19286
19287// String returns the string representation
19288func (s GetDomainOutput) String() string {
19289	return awsutil.Prettify(s)
19290}
19291
19292// GoString returns the string representation
19293func (s GetDomainOutput) GoString() string {
19294	return s.String()
19295}
19296
19297// SetDomain sets the Domain field's value.
19298func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
19299	s.Domain = v
19300	return s
19301}
19302
19303type GetDomainsInput struct {
19304	_ struct{} `type:"structure"`
19305
19306	// The token to advance to the next page of results from your request.
19307	//
19308	// To get a page token, perform an initial GetDomains request. If your results
19309	// are paginated, the response will return a next page token that you can specify
19310	// as the page token in a subsequent request.
19311	PageToken *string `locationName:"pageToken" type:"string"`
19312}
19313
19314// String returns the string representation
19315func (s GetDomainsInput) String() string {
19316	return awsutil.Prettify(s)
19317}
19318
19319// GoString returns the string representation
19320func (s GetDomainsInput) GoString() string {
19321	return s.String()
19322}
19323
19324// SetPageToken sets the PageToken field's value.
19325func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
19326	s.PageToken = &v
19327	return s
19328}
19329
19330type GetDomainsOutput struct {
19331	_ struct{} `type:"structure"`
19332
19333	// An array of key-value pairs containing information about each of the domain
19334	// entries in the user's account.
19335	Domains []*Domain `locationName:"domains" type:"list"`
19336
19337	// The token to advance to the next page of resutls from your request.
19338	//
19339	// A next page token is not returned if there are no more results to display.
19340	//
19341	// To get the next page of results, perform another GetDomains request and specify
19342	// the next page token using the pageToken parameter.
19343	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19344}
19345
19346// String returns the string representation
19347func (s GetDomainsOutput) String() string {
19348	return awsutil.Prettify(s)
19349}
19350
19351// GoString returns the string representation
19352func (s GetDomainsOutput) GoString() string {
19353	return s.String()
19354}
19355
19356// SetDomains sets the Domains field's value.
19357func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
19358	s.Domains = v
19359	return s
19360}
19361
19362// SetNextPageToken sets the NextPageToken field's value.
19363func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
19364	s.NextPageToken = &v
19365	return s
19366}
19367
19368type GetExportSnapshotRecordsInput struct {
19369	_ struct{} `type:"structure"`
19370
19371	// The token to advance to the next page of results from your request.
19372	//
19373	// To get a page token, perform an initial GetExportSnapshotRecords request.
19374	// If your results are paginated, the response will return a next page token
19375	// that you can specify as the page token in a subsequent request.
19376	PageToken *string `locationName:"pageToken" type:"string"`
19377}
19378
19379// String returns the string representation
19380func (s GetExportSnapshotRecordsInput) String() string {
19381	return awsutil.Prettify(s)
19382}
19383
19384// GoString returns the string representation
19385func (s GetExportSnapshotRecordsInput) GoString() string {
19386	return s.String()
19387}
19388
19389// SetPageToken sets the PageToken field's value.
19390func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
19391	s.PageToken = &v
19392	return s
19393}
19394
19395type GetExportSnapshotRecordsOutput struct {
19396	_ struct{} `type:"structure"`
19397
19398	// A list of objects describing the export snapshot records.
19399	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
19400
19401	// The token to advance to the next page of resutls from your request.
19402	//
19403	// A next page token is not returned if there are no more results to display.
19404	//
19405	// To get the next page of results, perform another GetExportSnapshotRecords
19406	// request and specify the next page token using the pageToken parameter.
19407	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19408}
19409
19410// String returns the string representation
19411func (s GetExportSnapshotRecordsOutput) String() string {
19412	return awsutil.Prettify(s)
19413}
19414
19415// GoString returns the string representation
19416func (s GetExportSnapshotRecordsOutput) GoString() string {
19417	return s.String()
19418}
19419
19420// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
19421func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
19422	s.ExportSnapshotRecords = v
19423	return s
19424}
19425
19426// SetNextPageToken sets the NextPageToken field's value.
19427func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
19428	s.NextPageToken = &v
19429	return s
19430}
19431
19432type GetInstanceAccessDetailsInput struct {
19433	_ struct{} `type:"structure"`
19434
19435	// The name of the instance to access.
19436	//
19437	// InstanceName is a required field
19438	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19439
19440	// The protocol to use to connect to your instance. Defaults to ssh.
19441	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
19442}
19443
19444// String returns the string representation
19445func (s GetInstanceAccessDetailsInput) String() string {
19446	return awsutil.Prettify(s)
19447}
19448
19449// GoString returns the string representation
19450func (s GetInstanceAccessDetailsInput) GoString() string {
19451	return s.String()
19452}
19453
19454// Validate inspects the fields of the type to determine if they are valid.
19455func (s *GetInstanceAccessDetailsInput) Validate() error {
19456	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
19457	if s.InstanceName == nil {
19458		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19459	}
19460
19461	if invalidParams.Len() > 0 {
19462		return invalidParams
19463	}
19464	return nil
19465}
19466
19467// SetInstanceName sets the InstanceName field's value.
19468func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
19469	s.InstanceName = &v
19470	return s
19471}
19472
19473// SetProtocol sets the Protocol field's value.
19474func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
19475	s.Protocol = &v
19476	return s
19477}
19478
19479type GetInstanceAccessDetailsOutput struct {
19480	_ struct{} `type:"structure"`
19481
19482	// An array of key-value pairs containing information about a get instance access
19483	// request.
19484	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
19485}
19486
19487// String returns the string representation
19488func (s GetInstanceAccessDetailsOutput) String() string {
19489	return awsutil.Prettify(s)
19490}
19491
19492// GoString returns the string representation
19493func (s GetInstanceAccessDetailsOutput) GoString() string {
19494	return s.String()
19495}
19496
19497// SetAccessDetails sets the AccessDetails field's value.
19498func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
19499	s.AccessDetails = v
19500	return s
19501}
19502
19503type GetInstanceInput struct {
19504	_ struct{} `type:"structure"`
19505
19506	// The name of the instance.
19507	//
19508	// InstanceName is a required field
19509	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19510}
19511
19512// String returns the string representation
19513func (s GetInstanceInput) String() string {
19514	return awsutil.Prettify(s)
19515}
19516
19517// GoString returns the string representation
19518func (s GetInstanceInput) GoString() string {
19519	return s.String()
19520}
19521
19522// Validate inspects the fields of the type to determine if they are valid.
19523func (s *GetInstanceInput) Validate() error {
19524	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
19525	if s.InstanceName == nil {
19526		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19527	}
19528
19529	if invalidParams.Len() > 0 {
19530		return invalidParams
19531	}
19532	return nil
19533}
19534
19535// SetInstanceName sets the InstanceName field's value.
19536func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
19537	s.InstanceName = &v
19538	return s
19539}
19540
19541type GetInstanceMetricDataInput struct {
19542	_ struct{} `type:"structure"`
19543
19544	// The end time of the time period.
19545	//
19546	// EndTime is a required field
19547	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
19548
19549	// The name of the instance for which you want to get metrics data.
19550	//
19551	// InstanceName is a required field
19552	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19553
19554	// The metric for which you want to return information.
19555	//
19556	// Valid instance metric names are listed below, along with the most useful
19557	// statistics to include in your request, and the published unit value.
19558	//
19559	//    * CPUUtilization — The percentage of allocated compute units that are
19560	//    currently in use on the instance. This metric identifies the processing
19561	//    power to run the applications on the instance. Tools in your operating
19562	//    system can show a lower percentage than Lightsail when the instance is
19563	//    not allocated a full processor core. Statistics: The most useful statistics
19564	//    are Maximum and Average. Unit: The published unit is Percent.
19565	//
19566	//    * NetworkIn — The number of bytes received on all network interfaces
19567	//    by the instance. This metric identifies the volume of incoming network
19568	//    traffic to the instance. The number reported is the number of bytes received
19569	//    during the period. Because this metric is reported in 5-minute intervals,
19570	//    divide the reported number by 300 to find Bytes/second. Statistics: The
19571	//    most useful statistic is Sum. Unit: The published unit is Bytes.
19572	//
19573	//    * NetworkOut — The number of bytes sent out on all network interfaces
19574	//    by the instance. This metric identifies the volume of outgoing network
19575	//    traffic from the instance. The number reported is the number of bytes
19576	//    sent during the period. Because this metric is reported in 5-minute intervals,
19577	//    divide the reported number by 300 to find Bytes/second. Statistics: The
19578	//    most useful statistic is Sum. Unit: The published unit is Bytes.
19579	//
19580	//    * StatusCheckFailed — Reports whether the instance passed or failed
19581	//    both the instance status check and the system status check. This metric
19582	//    can be either 0 (passed) or 1 (failed). This metric data is available
19583	//    in 1-minute (60 seconds) granularity. Statistics: The most useful statistic
19584	//    is Sum. Unit: The published unit is Count.
19585	//
19586	//    * StatusCheckFailed_Instance — Reports whether the instance passed or
19587	//    failed the instance status check. This metric can be either 0 (passed)
19588	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
19589	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
19590	//    unit is Count.
19591	//
19592	//    * StatusCheckFailed_System — Reports whether the instance passed or
19593	//    failed the system status check. This metric can be either 0 (passed) or
19594	//    1 (failed). This metric data is available in 1-minute (60 seconds) granularity.
19595	//    Statistics: The most useful statistic is Sum. Unit: The published unit
19596	//    is Count.
19597	//
19598	// MetricName is a required field
19599	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
19600
19601	// The granularity, in seconds, of the returned data points.
19602	//
19603	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
19604	// instance metric data is available in 1-minute (60 seconds) granularity. All
19605	// other instance metric data is available in 5-minute (300 seconds) granularity.
19606	//
19607	// Period is a required field
19608	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
19609
19610	// The start time of the time period.
19611	//
19612	// StartTime is a required field
19613	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
19614
19615	// The statistic for the metric.
19616	//
19617	// The following statistics are available:
19618	//
19619	//    * Minimum — The lowest value observed during the specified period. Use
19620	//    this value to determine low volumes of activity for your application.
19621	//
19622	//    * Maximum — The highest value observed during the specified period.
19623	//    Use this value to determine high volumes of activity for your application.
19624	//
19625	//    * Sum — All values submitted for the matching metric added together.
19626	//    You can use this statistic to determine the total volume of a metric.
19627	//
19628	//    * Average — The value of Sum / SampleCount during the specified period.
19629	//    By comparing this statistic with the Minimum and Maximum values, you can
19630	//    determine the full scope of a metric and how close the average use is
19631	//    to the Minimum and Maximum values. This comparison helps you to know when
19632	//    to increase or decrease your resources.
19633	//
19634	//    * SampleCount — The count, or number, of data points used for the statistical
19635	//    calculation.
19636	//
19637	// Statistics is a required field
19638	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
19639
19640	// The unit for the metric data request. Valid units depend on the metric data
19641	// being required. For the valid units with each available metric, see the metricName
19642	// parameter.
19643	//
19644	// Unit is a required field
19645	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
19646}
19647
19648// String returns the string representation
19649func (s GetInstanceMetricDataInput) String() string {
19650	return awsutil.Prettify(s)
19651}
19652
19653// GoString returns the string representation
19654func (s GetInstanceMetricDataInput) GoString() string {
19655	return s.String()
19656}
19657
19658// Validate inspects the fields of the type to determine if they are valid.
19659func (s *GetInstanceMetricDataInput) Validate() error {
19660	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
19661	if s.EndTime == nil {
19662		invalidParams.Add(request.NewErrParamRequired("EndTime"))
19663	}
19664	if s.InstanceName == nil {
19665		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19666	}
19667	if s.MetricName == nil {
19668		invalidParams.Add(request.NewErrParamRequired("MetricName"))
19669	}
19670	if s.Period == nil {
19671		invalidParams.Add(request.NewErrParamRequired("Period"))
19672	}
19673	if s.Period != nil && *s.Period < 60 {
19674		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
19675	}
19676	if s.StartTime == nil {
19677		invalidParams.Add(request.NewErrParamRequired("StartTime"))
19678	}
19679	if s.Statistics == nil {
19680		invalidParams.Add(request.NewErrParamRequired("Statistics"))
19681	}
19682	if s.Unit == nil {
19683		invalidParams.Add(request.NewErrParamRequired("Unit"))
19684	}
19685
19686	if invalidParams.Len() > 0 {
19687		return invalidParams
19688	}
19689	return nil
19690}
19691
19692// SetEndTime sets the EndTime field's value.
19693func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
19694	s.EndTime = &v
19695	return s
19696}
19697
19698// SetInstanceName sets the InstanceName field's value.
19699func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
19700	s.InstanceName = &v
19701	return s
19702}
19703
19704// SetMetricName sets the MetricName field's value.
19705func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
19706	s.MetricName = &v
19707	return s
19708}
19709
19710// SetPeriod sets the Period field's value.
19711func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
19712	s.Period = &v
19713	return s
19714}
19715
19716// SetStartTime sets the StartTime field's value.
19717func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
19718	s.StartTime = &v
19719	return s
19720}
19721
19722// SetStatistics sets the Statistics field's value.
19723func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
19724	s.Statistics = v
19725	return s
19726}
19727
19728// SetUnit sets the Unit field's value.
19729func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
19730	s.Unit = &v
19731	return s
19732}
19733
19734type GetInstanceMetricDataOutput struct {
19735	_ struct{} `type:"structure"`
19736
19737	// An array of key-value pairs containing information about the results of your
19738	// get instance metric data request.
19739	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
19740
19741	// The metric name to return data for.
19742	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
19743}
19744
19745// String returns the string representation
19746func (s GetInstanceMetricDataOutput) String() string {
19747	return awsutil.Prettify(s)
19748}
19749
19750// GoString returns the string representation
19751func (s GetInstanceMetricDataOutput) GoString() string {
19752	return s.String()
19753}
19754
19755// SetMetricData sets the MetricData field's value.
19756func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
19757	s.MetricData = v
19758	return s
19759}
19760
19761// SetMetricName sets the MetricName field's value.
19762func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
19763	s.MetricName = &v
19764	return s
19765}
19766
19767type GetInstanceOutput struct {
19768	_ struct{} `type:"structure"`
19769
19770	// An array of key-value pairs containing information about the specified instance.
19771	Instance *Instance `locationName:"instance" type:"structure"`
19772}
19773
19774// String returns the string representation
19775func (s GetInstanceOutput) String() string {
19776	return awsutil.Prettify(s)
19777}
19778
19779// GoString returns the string representation
19780func (s GetInstanceOutput) GoString() string {
19781	return s.String()
19782}
19783
19784// SetInstance sets the Instance field's value.
19785func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
19786	s.Instance = v
19787	return s
19788}
19789
19790type GetInstancePortStatesInput struct {
19791	_ struct{} `type:"structure"`
19792
19793	// The name of the instance.
19794	//
19795	// InstanceName is a required field
19796	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19797}
19798
19799// String returns the string representation
19800func (s GetInstancePortStatesInput) String() string {
19801	return awsutil.Prettify(s)
19802}
19803
19804// GoString returns the string representation
19805func (s GetInstancePortStatesInput) GoString() string {
19806	return s.String()
19807}
19808
19809// Validate inspects the fields of the type to determine if they are valid.
19810func (s *GetInstancePortStatesInput) Validate() error {
19811	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
19812	if s.InstanceName == nil {
19813		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19814	}
19815
19816	if invalidParams.Len() > 0 {
19817		return invalidParams
19818	}
19819	return nil
19820}
19821
19822// SetInstanceName sets the InstanceName field's value.
19823func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
19824	s.InstanceName = &v
19825	return s
19826}
19827
19828type GetInstancePortStatesOutput struct {
19829	_ struct{} `type:"structure"`
19830
19831	// Information about the port states resulting from your request.
19832	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
19833}
19834
19835// String returns the string representation
19836func (s GetInstancePortStatesOutput) String() string {
19837	return awsutil.Prettify(s)
19838}
19839
19840// GoString returns the string representation
19841func (s GetInstancePortStatesOutput) GoString() string {
19842	return s.String()
19843}
19844
19845// SetPortStates sets the PortStates field's value.
19846func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
19847	s.PortStates = v
19848	return s
19849}
19850
19851type GetInstanceSnapshotInput struct {
19852	_ struct{} `type:"structure"`
19853
19854	// The name of the snapshot for which you are requesting information.
19855	//
19856	// InstanceSnapshotName is a required field
19857	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
19858}
19859
19860// String returns the string representation
19861func (s GetInstanceSnapshotInput) String() string {
19862	return awsutil.Prettify(s)
19863}
19864
19865// GoString returns the string representation
19866func (s GetInstanceSnapshotInput) GoString() string {
19867	return s.String()
19868}
19869
19870// Validate inspects the fields of the type to determine if they are valid.
19871func (s *GetInstanceSnapshotInput) Validate() error {
19872	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
19873	if s.InstanceSnapshotName == nil {
19874		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
19875	}
19876
19877	if invalidParams.Len() > 0 {
19878		return invalidParams
19879	}
19880	return nil
19881}
19882
19883// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
19884func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
19885	s.InstanceSnapshotName = &v
19886	return s
19887}
19888
19889type GetInstanceSnapshotOutput struct {
19890	_ struct{} `type:"structure"`
19891
19892	// An array of key-value pairs containing information about the results of your
19893	// get instance snapshot request.
19894	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
19895}
19896
19897// String returns the string representation
19898func (s GetInstanceSnapshotOutput) String() string {
19899	return awsutil.Prettify(s)
19900}
19901
19902// GoString returns the string representation
19903func (s GetInstanceSnapshotOutput) GoString() string {
19904	return s.String()
19905}
19906
19907// SetInstanceSnapshot sets the InstanceSnapshot field's value.
19908func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
19909	s.InstanceSnapshot = v
19910	return s
19911}
19912
19913type GetInstanceSnapshotsInput struct {
19914	_ struct{} `type:"structure"`
19915
19916	// The token to advance to the next page of results from your request.
19917	//
19918	// To get a page token, perform an initial GetInstanceSnapshots request. If
19919	// your results are paginated, the response will return a next page token that
19920	// you can specify as the page token in a subsequent request.
19921	PageToken *string `locationName:"pageToken" type:"string"`
19922}
19923
19924// String returns the string representation
19925func (s GetInstanceSnapshotsInput) String() string {
19926	return awsutil.Prettify(s)
19927}
19928
19929// GoString returns the string representation
19930func (s GetInstanceSnapshotsInput) GoString() string {
19931	return s.String()
19932}
19933
19934// SetPageToken sets the PageToken field's value.
19935func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
19936	s.PageToken = &v
19937	return s
19938}
19939
19940type GetInstanceSnapshotsOutput struct {
19941	_ struct{} `type:"structure"`
19942
19943	// An array of key-value pairs containing information about the results of your
19944	// get instance snapshots request.
19945	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
19946
19947	// The token to advance to the next page of resutls from your request.
19948	//
19949	// A next page token is not returned if there are no more results to display.
19950	//
19951	// To get the next page of results, perform another GetInstanceSnapshots request
19952	// and specify the next page token using the pageToken parameter.
19953	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19954}
19955
19956// String returns the string representation
19957func (s GetInstanceSnapshotsOutput) String() string {
19958	return awsutil.Prettify(s)
19959}
19960
19961// GoString returns the string representation
19962func (s GetInstanceSnapshotsOutput) GoString() string {
19963	return s.String()
19964}
19965
19966// SetInstanceSnapshots sets the InstanceSnapshots field's value.
19967func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
19968	s.InstanceSnapshots = v
19969	return s
19970}
19971
19972// SetNextPageToken sets the NextPageToken field's value.
19973func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
19974	s.NextPageToken = &v
19975	return s
19976}
19977
19978type GetInstanceStateInput struct {
19979	_ struct{} `type:"structure"`
19980
19981	// The name of the instance to get state information about.
19982	//
19983	// InstanceName is a required field
19984	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19985}
19986
19987// String returns the string representation
19988func (s GetInstanceStateInput) String() string {
19989	return awsutil.Prettify(s)
19990}
19991
19992// GoString returns the string representation
19993func (s GetInstanceStateInput) GoString() string {
19994	return s.String()
19995}
19996
19997// Validate inspects the fields of the type to determine if they are valid.
19998func (s *GetInstanceStateInput) Validate() error {
19999	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
20000	if s.InstanceName == nil {
20001		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
20002	}
20003
20004	if invalidParams.Len() > 0 {
20005		return invalidParams
20006	}
20007	return nil
20008}
20009
20010// SetInstanceName sets the InstanceName field's value.
20011func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
20012	s.InstanceName = &v
20013	return s
20014}
20015
20016type GetInstanceStateOutput struct {
20017	_ struct{} `type:"structure"`
20018
20019	// The state of the instance.
20020	State *InstanceState `locationName:"state" type:"structure"`
20021}
20022
20023// String returns the string representation
20024func (s GetInstanceStateOutput) String() string {
20025	return awsutil.Prettify(s)
20026}
20027
20028// GoString returns the string representation
20029func (s GetInstanceStateOutput) GoString() string {
20030	return s.String()
20031}
20032
20033// SetState sets the State field's value.
20034func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
20035	s.State = v
20036	return s
20037}
20038
20039type GetInstancesInput struct {
20040	_ struct{} `type:"structure"`
20041
20042	// The token to advance to the next page of results from your request.
20043	//
20044	// To get a page token, perform an initial GetInstances request. If your results
20045	// are paginated, the response will return a next page token that you can specify
20046	// as the page token in a subsequent request.
20047	PageToken *string `locationName:"pageToken" type:"string"`
20048}
20049
20050// String returns the string representation
20051func (s GetInstancesInput) String() string {
20052	return awsutil.Prettify(s)
20053}
20054
20055// GoString returns the string representation
20056func (s GetInstancesInput) GoString() string {
20057	return s.String()
20058}
20059
20060// SetPageToken sets the PageToken field's value.
20061func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
20062	s.PageToken = &v
20063	return s
20064}
20065
20066type GetInstancesOutput struct {
20067	_ struct{} `type:"structure"`
20068
20069	// An array of key-value pairs containing information about your instances.
20070	Instances []*Instance `locationName:"instances" type:"list"`
20071
20072	// The token to advance to the next page of resutls from your request.
20073	//
20074	// A next page token is not returned if there are no more results to display.
20075	//
20076	// To get the next page of results, perform another GetInstances request and
20077	// specify the next page token using the pageToken parameter.
20078	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20079}
20080
20081// String returns the string representation
20082func (s GetInstancesOutput) String() string {
20083	return awsutil.Prettify(s)
20084}
20085
20086// GoString returns the string representation
20087func (s GetInstancesOutput) GoString() string {
20088	return s.String()
20089}
20090
20091// SetInstances sets the Instances field's value.
20092func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
20093	s.Instances = v
20094	return s
20095}
20096
20097// SetNextPageToken sets the NextPageToken field's value.
20098func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
20099	s.NextPageToken = &v
20100	return s
20101}
20102
20103type GetKeyPairInput struct {
20104	_ struct{} `type:"structure"`
20105
20106	// The name of the key pair for which you are requesting information.
20107	//
20108	// KeyPairName is a required field
20109	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
20110}
20111
20112// String returns the string representation
20113func (s GetKeyPairInput) String() string {
20114	return awsutil.Prettify(s)
20115}
20116
20117// GoString returns the string representation
20118func (s GetKeyPairInput) GoString() string {
20119	return s.String()
20120}
20121
20122// Validate inspects the fields of the type to determine if they are valid.
20123func (s *GetKeyPairInput) Validate() error {
20124	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
20125	if s.KeyPairName == nil {
20126		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
20127	}
20128
20129	if invalidParams.Len() > 0 {
20130		return invalidParams
20131	}
20132	return nil
20133}
20134
20135// SetKeyPairName sets the KeyPairName field's value.
20136func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
20137	s.KeyPairName = &v
20138	return s
20139}
20140
20141type GetKeyPairOutput struct {
20142	_ struct{} `type:"structure"`
20143
20144	// An array of key-value pairs containing information about the key pair.
20145	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
20146}
20147
20148// String returns the string representation
20149func (s GetKeyPairOutput) String() string {
20150	return awsutil.Prettify(s)
20151}
20152
20153// GoString returns the string representation
20154func (s GetKeyPairOutput) GoString() string {
20155	return s.String()
20156}
20157
20158// SetKeyPair sets the KeyPair field's value.
20159func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
20160	s.KeyPair = v
20161	return s
20162}
20163
20164type GetKeyPairsInput struct {
20165	_ struct{} `type:"structure"`
20166
20167	// The token to advance to the next page of results from your request.
20168	//
20169	// To get a page token, perform an initial GetKeyPairs request. If your results
20170	// are paginated, the response will return a next page token that you can specify
20171	// as the page token in a subsequent request.
20172	PageToken *string `locationName:"pageToken" type:"string"`
20173}
20174
20175// String returns the string representation
20176func (s GetKeyPairsInput) String() string {
20177	return awsutil.Prettify(s)
20178}
20179
20180// GoString returns the string representation
20181func (s GetKeyPairsInput) GoString() string {
20182	return s.String()
20183}
20184
20185// SetPageToken sets the PageToken field's value.
20186func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
20187	s.PageToken = &v
20188	return s
20189}
20190
20191type GetKeyPairsOutput struct {
20192	_ struct{} `type:"structure"`
20193
20194	// An array of key-value pairs containing information about the key pairs.
20195	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
20196
20197	// The token to advance to the next page of resutls from your request.
20198	//
20199	// A next page token is not returned if there are no more results to display.
20200	//
20201	// To get the next page of results, perform another GetKeyPairs request and
20202	// specify the next page token using the pageToken parameter.
20203	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20204}
20205
20206// String returns the string representation
20207func (s GetKeyPairsOutput) String() string {
20208	return awsutil.Prettify(s)
20209}
20210
20211// GoString returns the string representation
20212func (s GetKeyPairsOutput) GoString() string {
20213	return s.String()
20214}
20215
20216// SetKeyPairs sets the KeyPairs field's value.
20217func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
20218	s.KeyPairs = v
20219	return s
20220}
20221
20222// SetNextPageToken sets the NextPageToken field's value.
20223func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
20224	s.NextPageToken = &v
20225	return s
20226}
20227
20228type GetLoadBalancerInput struct {
20229	_ struct{} `type:"structure"`
20230
20231	// The name of the load balancer.
20232	//
20233	// LoadBalancerName is a required field
20234	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20235}
20236
20237// String returns the string representation
20238func (s GetLoadBalancerInput) String() string {
20239	return awsutil.Prettify(s)
20240}
20241
20242// GoString returns the string representation
20243func (s GetLoadBalancerInput) GoString() string {
20244	return s.String()
20245}
20246
20247// Validate inspects the fields of the type to determine if they are valid.
20248func (s *GetLoadBalancerInput) Validate() error {
20249	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
20250	if s.LoadBalancerName == nil {
20251		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20252	}
20253
20254	if invalidParams.Len() > 0 {
20255		return invalidParams
20256	}
20257	return nil
20258}
20259
20260// SetLoadBalancerName sets the LoadBalancerName field's value.
20261func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
20262	s.LoadBalancerName = &v
20263	return s
20264}
20265
20266type GetLoadBalancerMetricDataInput struct {
20267	_ struct{} `type:"structure"`
20268
20269	// The end time of the period.
20270	//
20271	// EndTime is a required field
20272	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
20273
20274	// The name of the load balancer.
20275	//
20276	// LoadBalancerName is a required field
20277	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20278
20279	// The metric for which you want to return information.
20280	//
20281	// Valid load balancer metric names are listed below, along with the most useful
20282	// statistics to include in your request, and the published unit value.
20283	//
20284	//    * ClientTLSNegotiationErrorCount — The number of TLS connections initiated
20285	//    by the client that did not establish a session with the load balancer
20286	//    due to a TLS error generated by the load balancer. Possible causes include
20287	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
20288	//    is Sum. Unit: The published unit is Count.
20289	//
20290	//    * HealthyHostCount — The number of target instances that are considered
20291	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
20292	//    Maximum. Unit: The published unit is Count.
20293	//
20294	//    * HTTPCode_Instance_2XX_Count — The number of HTTP 2XX response codes
20295	//    generated by the target instances. This does not include any response
20296	//    codes generated by the load balancer. Statistics: The most useful statistic
20297	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
20298	//    published unit is Count.
20299	//
20300	//    * HTTPCode_Instance_3XX_Count — The number of HTTP 3XX response codes
20301	//    generated by the target instances. This does not include any response
20302	//    codes generated by the load balancer. Statistics: The most useful statistic
20303	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
20304	//    published unit is Count.
20305	//
20306	//    * HTTPCode_Instance_4XX_Count — The number of HTTP 4XX response codes
20307	//    generated by the target instances. This does not include any response
20308	//    codes generated by the load balancer. Statistics: The most useful statistic
20309	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
20310	//    published unit is Count.
20311	//
20312	//    * HTTPCode_Instance_5XX_Count — The number of HTTP 5XX response codes
20313	//    generated by the target instances. This does not include any response
20314	//    codes generated by the load balancer. Statistics: The most useful statistic
20315	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
20316	//    published unit is Count.
20317	//
20318	//    * HTTPCode_LB_4XX_Count — The number of HTTP 4XX client error codes
20319	//    that originated from the load balancer. Client errors are generated when
20320	//    requests are malformed or incomplete. These requests were not received
20321	//    by the target instance. This count does not include response codes generated
20322	//    by the target instances. Statistics: The most useful statistic is Sum.
20323	//    Note that Minimum, Maximum, and Average all return 1. Unit: The published
20324	//    unit is Count.
20325	//
20326	//    * HTTPCode_LB_5XX_Count — The number of HTTP 5XX server error codes
20327	//    that originated from the load balancer. This does not include any response
20328	//    codes generated by the target instance. This metric is reported if there
20329	//    are no healthy instances attached to the load balancer, or if the request
20330	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
20331	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
20332	//    and Average all return 1. Unit: The published unit is Count.
20333	//
20334	//    * InstanceResponseTime — The time elapsed, in seconds, after the request
20335	//    leaves the load balancer until a response from the target instance is
20336	//    received. Statistics: The most useful statistic is Average. Unit: The
20337	//    published unit is Seconds.
20338	//
20339	//    * RejectedConnectionCount — The number of connections that were rejected
20340	//    because the load balancer had reached its maximum number of connections.
20341	//    Statistics: The most useful statistic is Sum. Unit: The published unit
20342	//    is Count.
20343	//
20344	//    * RequestCount — The number of requests processed over IPv4. This count
20345	//    includes only the requests with a response generated by a target instance
20346	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
20347	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
20348	//    is Count.
20349	//
20350	//    * UnhealthyHostCount — The number of target instances that are considered
20351	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
20352	//    and Maximum. Unit: The published unit is Count.
20353	//
20354	// MetricName is a required field
20355	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
20356
20357	// The granularity, in seconds, of the returned data points.
20358	//
20359	// Period is a required field
20360	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
20361
20362	// The start time of the period.
20363	//
20364	// StartTime is a required field
20365	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
20366
20367	// The statistic for the metric.
20368	//
20369	// The following statistics are available:
20370	//
20371	//    * Minimum — The lowest value observed during the specified period. Use
20372	//    this value to determine low volumes of activity for your application.
20373	//
20374	//    * Maximum — The highest value observed during the specified period.
20375	//    Use this value to determine high volumes of activity for your application.
20376	//
20377	//    * Sum — All values submitted for the matching metric added together.
20378	//    You can use this statistic to determine the total volume of a metric.
20379	//
20380	//    * Average — The value of Sum / SampleCount during the specified period.
20381	//    By comparing this statistic with the Minimum and Maximum values, you can
20382	//    determine the full scope of a metric and how close the average use is
20383	//    to the Minimum and Maximum values. This comparison helps you to know when
20384	//    to increase or decrease your resources.
20385	//
20386	//    * SampleCount — The count, or number, of data points used for the statistical
20387	//    calculation.
20388	//
20389	// Statistics is a required field
20390	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
20391
20392	// The unit for the metric data request. Valid units depend on the metric data
20393	// being required. For the valid units with each available metric, see the metricName
20394	// parameter.
20395	//
20396	// Unit is a required field
20397	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
20398}
20399
20400// String returns the string representation
20401func (s GetLoadBalancerMetricDataInput) String() string {
20402	return awsutil.Prettify(s)
20403}
20404
20405// GoString returns the string representation
20406func (s GetLoadBalancerMetricDataInput) GoString() string {
20407	return s.String()
20408}
20409
20410// Validate inspects the fields of the type to determine if they are valid.
20411func (s *GetLoadBalancerMetricDataInput) Validate() error {
20412	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
20413	if s.EndTime == nil {
20414		invalidParams.Add(request.NewErrParamRequired("EndTime"))
20415	}
20416	if s.LoadBalancerName == nil {
20417		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20418	}
20419	if s.MetricName == nil {
20420		invalidParams.Add(request.NewErrParamRequired("MetricName"))
20421	}
20422	if s.Period == nil {
20423		invalidParams.Add(request.NewErrParamRequired("Period"))
20424	}
20425	if s.Period != nil && *s.Period < 60 {
20426		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
20427	}
20428	if s.StartTime == nil {
20429		invalidParams.Add(request.NewErrParamRequired("StartTime"))
20430	}
20431	if s.Statistics == nil {
20432		invalidParams.Add(request.NewErrParamRequired("Statistics"))
20433	}
20434	if s.Unit == nil {
20435		invalidParams.Add(request.NewErrParamRequired("Unit"))
20436	}
20437
20438	if invalidParams.Len() > 0 {
20439		return invalidParams
20440	}
20441	return nil
20442}
20443
20444// SetEndTime sets the EndTime field's value.
20445func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
20446	s.EndTime = &v
20447	return s
20448}
20449
20450// SetLoadBalancerName sets the LoadBalancerName field's value.
20451func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
20452	s.LoadBalancerName = &v
20453	return s
20454}
20455
20456// SetMetricName sets the MetricName field's value.
20457func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
20458	s.MetricName = &v
20459	return s
20460}
20461
20462// SetPeriod sets the Period field's value.
20463func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
20464	s.Period = &v
20465	return s
20466}
20467
20468// SetStartTime sets the StartTime field's value.
20469func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
20470	s.StartTime = &v
20471	return s
20472}
20473
20474// SetStatistics sets the Statistics field's value.
20475func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
20476	s.Statistics = v
20477	return s
20478}
20479
20480// SetUnit sets the Unit field's value.
20481func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
20482	s.Unit = &v
20483	return s
20484}
20485
20486type GetLoadBalancerMetricDataOutput struct {
20487	_ struct{} `type:"structure"`
20488
20489	// An array of metric datapoint objects.
20490	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
20491
20492	// The metric about which you are receiving information. Valid values are listed
20493	// below, along with the most useful statistics to include in your request.
20494	//
20495	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
20496	//    by the client that did not establish a session with the load balancer.
20497	//    Possible causes include a mismatch of ciphers or protocols. Statistics:
20498	//    The most useful statistic is Sum.
20499	//
20500	//    * HealthyHostCount - The number of target instances that are considered
20501	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
20502	//    Maximum.
20503	//
20504	//    * UnhealthyHostCount - The number of target instances that are considered
20505	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
20506	//    and Maximum.
20507	//
20508	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
20509	//    originate from the load balancer. Client errors are generated when requests
20510	//    are malformed or incomplete. These requests have not been received by
20511	//    the target instance. This count does not include any response codes generated
20512	//    by the target instances. Statistics: The most useful statistic is Sum.
20513	//    Note that Minimum, Maximum, and Average all return 1.
20514	//
20515	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
20516	//    originate from the load balancer. This count does not include any response
20517	//    codes generated by the target instances. Statistics: The most useful statistic
20518	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Note that
20519	//    Minimum, Maximum, and Average all return 1.
20520	//
20521	//    * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated
20522	//    by the target instances. This does not include any response codes generated
20523	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
20524	//    that Minimum, Maximum, and Average all return 1.
20525	//
20526	//    * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated
20527	//    by the target instances. This does not include any response codes generated
20528	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
20529	//    that Minimum, Maximum, and Average all return 1.
20530	//
20531	//    * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated
20532	//    by the target instances. This does not include any response codes generated
20533	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
20534	//    that Minimum, Maximum, and Average all return 1.
20535	//
20536	//    * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated
20537	//    by the target instances. This does not include any response codes generated
20538	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
20539	//    that Minimum, Maximum, and Average all return 1.
20540	//
20541	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
20542	//    leaves the load balancer until a response from the target instance is
20543	//    received. Statistics: The most useful statistic is Average.
20544	//
20545	//    * RejectedConnectionCount - The number of connections that were rejected
20546	//    because the load balancer had reached its maximum number of connections.
20547	//    Statistics: The most useful statistic is Sum.
20548	//
20549	//    * RequestCount - The number of requests processed over IPv4. This count
20550	//    includes only the requests with a response generated by a target instance
20551	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
20552	//    that Minimum, Maximum, and Average all return 1.
20553	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
20554}
20555
20556// String returns the string representation
20557func (s GetLoadBalancerMetricDataOutput) String() string {
20558	return awsutil.Prettify(s)
20559}
20560
20561// GoString returns the string representation
20562func (s GetLoadBalancerMetricDataOutput) GoString() string {
20563	return s.String()
20564}
20565
20566// SetMetricData sets the MetricData field's value.
20567func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
20568	s.MetricData = v
20569	return s
20570}
20571
20572// SetMetricName sets the MetricName field's value.
20573func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
20574	s.MetricName = &v
20575	return s
20576}
20577
20578type GetLoadBalancerOutput struct {
20579	_ struct{} `type:"structure"`
20580
20581	// An object containing information about your load balancer.
20582	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
20583}
20584
20585// String returns the string representation
20586func (s GetLoadBalancerOutput) String() string {
20587	return awsutil.Prettify(s)
20588}
20589
20590// GoString returns the string representation
20591func (s GetLoadBalancerOutput) GoString() string {
20592	return s.String()
20593}
20594
20595// SetLoadBalancer sets the LoadBalancer field's value.
20596func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
20597	s.LoadBalancer = v
20598	return s
20599}
20600
20601type GetLoadBalancerTlsCertificatesInput struct {
20602	_ struct{} `type:"structure"`
20603
20604	// The name of the load balancer you associated with your SSL/TLS certificate.
20605	//
20606	// LoadBalancerName is a required field
20607	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20608}
20609
20610// String returns the string representation
20611func (s GetLoadBalancerTlsCertificatesInput) String() string {
20612	return awsutil.Prettify(s)
20613}
20614
20615// GoString returns the string representation
20616func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
20617	return s.String()
20618}
20619
20620// Validate inspects the fields of the type to determine if they are valid.
20621func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
20622	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
20623	if s.LoadBalancerName == nil {
20624		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20625	}
20626
20627	if invalidParams.Len() > 0 {
20628		return invalidParams
20629	}
20630	return nil
20631}
20632
20633// SetLoadBalancerName sets the LoadBalancerName field's value.
20634func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
20635	s.LoadBalancerName = &v
20636	return s
20637}
20638
20639type GetLoadBalancerTlsCertificatesOutput struct {
20640	_ struct{} `type:"structure"`
20641
20642	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
20643	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
20644}
20645
20646// String returns the string representation
20647func (s GetLoadBalancerTlsCertificatesOutput) String() string {
20648	return awsutil.Prettify(s)
20649}
20650
20651// GoString returns the string representation
20652func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
20653	return s.String()
20654}
20655
20656// SetTlsCertificates sets the TlsCertificates field's value.
20657func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
20658	s.TlsCertificates = v
20659	return s
20660}
20661
20662type GetLoadBalancersInput struct {
20663	_ struct{} `type:"structure"`
20664
20665	// The token to advance to the next page of results from your request.
20666	//
20667	// To get a page token, perform an initial GetLoadBalancers request. If your
20668	// results are paginated, the response will return a next page token that you
20669	// can specify as the page token in a subsequent request.
20670	PageToken *string `locationName:"pageToken" type:"string"`
20671}
20672
20673// String returns the string representation
20674func (s GetLoadBalancersInput) String() string {
20675	return awsutil.Prettify(s)
20676}
20677
20678// GoString returns the string representation
20679func (s GetLoadBalancersInput) GoString() string {
20680	return s.String()
20681}
20682
20683// SetPageToken sets the PageToken field's value.
20684func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
20685	s.PageToken = &v
20686	return s
20687}
20688
20689type GetLoadBalancersOutput struct {
20690	_ struct{} `type:"structure"`
20691
20692	// An array of LoadBalancer objects describing your load balancers.
20693	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
20694
20695	// The token to advance to the next page of resutls from your request.
20696	//
20697	// A next page token is not returned if there are no more results to display.
20698	//
20699	// To get the next page of results, perform another GetLoadBalancers request
20700	// and specify the next page token using the pageToken parameter.
20701	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20702}
20703
20704// String returns the string representation
20705func (s GetLoadBalancersOutput) String() string {
20706	return awsutil.Prettify(s)
20707}
20708
20709// GoString returns the string representation
20710func (s GetLoadBalancersOutput) GoString() string {
20711	return s.String()
20712}
20713
20714// SetLoadBalancers sets the LoadBalancers field's value.
20715func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
20716	s.LoadBalancers = v
20717	return s
20718}
20719
20720// SetNextPageToken sets the NextPageToken field's value.
20721func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
20722	s.NextPageToken = &v
20723	return s
20724}
20725
20726type GetOperationInput struct {
20727	_ struct{} `type:"structure"`
20728
20729	// A GUID used to identify the operation.
20730	//
20731	// OperationId is a required field
20732	OperationId *string `locationName:"operationId" type:"string" required:"true"`
20733}
20734
20735// String returns the string representation
20736func (s GetOperationInput) String() string {
20737	return awsutil.Prettify(s)
20738}
20739
20740// GoString returns the string representation
20741func (s GetOperationInput) GoString() string {
20742	return s.String()
20743}
20744
20745// Validate inspects the fields of the type to determine if they are valid.
20746func (s *GetOperationInput) Validate() error {
20747	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
20748	if s.OperationId == nil {
20749		invalidParams.Add(request.NewErrParamRequired("OperationId"))
20750	}
20751
20752	if invalidParams.Len() > 0 {
20753		return invalidParams
20754	}
20755	return nil
20756}
20757
20758// SetOperationId sets the OperationId field's value.
20759func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
20760	s.OperationId = &v
20761	return s
20762}
20763
20764type GetOperationOutput struct {
20765	_ struct{} `type:"structure"`
20766
20767	// An array of objects that describe the result of the action, such as the status
20768	// of the request, the time stamp of the request, and the resources affected
20769	// by the request.
20770	Operation *Operation `locationName:"operation" type:"structure"`
20771}
20772
20773// String returns the string representation
20774func (s GetOperationOutput) String() string {
20775	return awsutil.Prettify(s)
20776}
20777
20778// GoString returns the string representation
20779func (s GetOperationOutput) GoString() string {
20780	return s.String()
20781}
20782
20783// SetOperation sets the Operation field's value.
20784func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
20785	s.Operation = v
20786	return s
20787}
20788
20789type GetOperationsForResourceInput struct {
20790	_ struct{} `type:"structure"`
20791
20792	// The token to advance to the next page of results from your request.
20793	//
20794	// To get a page token, perform an initial GetOperationsForResource request.
20795	// If your results are paginated, the response will return a next page token
20796	// that you can specify as the page token in a subsequent request.
20797	PageToken *string `locationName:"pageToken" type:"string"`
20798
20799	// The name of the resource for which you are requesting information.
20800	//
20801	// ResourceName is a required field
20802	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
20803}
20804
20805// String returns the string representation
20806func (s GetOperationsForResourceInput) String() string {
20807	return awsutil.Prettify(s)
20808}
20809
20810// GoString returns the string representation
20811func (s GetOperationsForResourceInput) GoString() string {
20812	return s.String()
20813}
20814
20815// Validate inspects the fields of the type to determine if they are valid.
20816func (s *GetOperationsForResourceInput) Validate() error {
20817	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
20818	if s.ResourceName == nil {
20819		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
20820	}
20821
20822	if invalidParams.Len() > 0 {
20823		return invalidParams
20824	}
20825	return nil
20826}
20827
20828// SetPageToken sets the PageToken field's value.
20829func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
20830	s.PageToken = &v
20831	return s
20832}
20833
20834// SetResourceName sets the ResourceName field's value.
20835func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
20836	s.ResourceName = &v
20837	return s
20838}
20839
20840type GetOperationsForResourceOutput struct {
20841	_ struct{} `type:"structure"`
20842
20843	// (Deprecated) Returns the number of pages of results that remain.
20844	//
20845	// In releases prior to June 12, 2017, this parameter returned null by the API.
20846	// It is now deprecated, and the API returns the next page token parameter instead.
20847	//
20848	// Deprecated: NextPageCount has been deprecated
20849	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
20850
20851	// The token to advance to the next page of resutls from your request.
20852	//
20853	// A next page token is not returned if there are no more results to display.
20854	//
20855	// To get the next page of results, perform another GetOperationsForResource
20856	// request and specify the next page token using the pageToken parameter.
20857	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20858
20859	// An array of objects that describe the result of the action, such as the status
20860	// of the request, the time stamp of the request, and the resources affected
20861	// by the request.
20862	Operations []*Operation `locationName:"operations" type:"list"`
20863}
20864
20865// String returns the string representation
20866func (s GetOperationsForResourceOutput) String() string {
20867	return awsutil.Prettify(s)
20868}
20869
20870// GoString returns the string representation
20871func (s GetOperationsForResourceOutput) GoString() string {
20872	return s.String()
20873}
20874
20875// SetNextPageCount sets the NextPageCount field's value.
20876func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
20877	s.NextPageCount = &v
20878	return s
20879}
20880
20881// SetNextPageToken sets the NextPageToken field's value.
20882func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
20883	s.NextPageToken = &v
20884	return s
20885}
20886
20887// SetOperations sets the Operations field's value.
20888func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
20889	s.Operations = v
20890	return s
20891}
20892
20893type GetOperationsInput struct {
20894	_ struct{} `type:"structure"`
20895
20896	// The token to advance to the next page of results from your request.
20897	//
20898	// To get a page token, perform an initial GetOperations request. If your results
20899	// are paginated, the response will return a next page token that you can specify
20900	// as the page token in a subsequent request.
20901	PageToken *string `locationName:"pageToken" type:"string"`
20902}
20903
20904// String returns the string representation
20905func (s GetOperationsInput) String() string {
20906	return awsutil.Prettify(s)
20907}
20908
20909// GoString returns the string representation
20910func (s GetOperationsInput) GoString() string {
20911	return s.String()
20912}
20913
20914// SetPageToken sets the PageToken field's value.
20915func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
20916	s.PageToken = &v
20917	return s
20918}
20919
20920type GetOperationsOutput struct {
20921	_ struct{} `type:"structure"`
20922
20923	// The token to advance to the next page of resutls from your request.
20924	//
20925	// A next page token is not returned if there are no more results to display.
20926	//
20927	// To get the next page of results, perform another GetOperations request and
20928	// specify the next page token using the pageToken parameter.
20929	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20930
20931	// An array of objects that describe the result of the action, such as the status
20932	// of the request, the time stamp of the request, and the resources affected
20933	// by the request.
20934	Operations []*Operation `locationName:"operations" type:"list"`
20935}
20936
20937// String returns the string representation
20938func (s GetOperationsOutput) String() string {
20939	return awsutil.Prettify(s)
20940}
20941
20942// GoString returns the string representation
20943func (s GetOperationsOutput) GoString() string {
20944	return s.String()
20945}
20946
20947// SetNextPageToken sets the NextPageToken field's value.
20948func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
20949	s.NextPageToken = &v
20950	return s
20951}
20952
20953// SetOperations sets the Operations field's value.
20954func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
20955	s.Operations = v
20956	return s
20957}
20958
20959type GetRegionsInput struct {
20960	_ struct{} `type:"structure"`
20961
20962	// A Boolean value indicating whether to also include Availability Zones in
20963	// your get regions request. Availability Zones are indicated with a letter:
20964	// e.g., us-east-2a.
20965	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
20966
20967	// >A Boolean value indicating whether to also include Availability Zones for
20968	// databases in your get regions request. Availability Zones are indicated with
20969	// a letter (e.g., us-east-2a).
20970	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
20971}
20972
20973// String returns the string representation
20974func (s GetRegionsInput) String() string {
20975	return awsutil.Prettify(s)
20976}
20977
20978// GoString returns the string representation
20979func (s GetRegionsInput) GoString() string {
20980	return s.String()
20981}
20982
20983// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
20984func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
20985	s.IncludeAvailabilityZones = &v
20986	return s
20987}
20988
20989// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
20990func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
20991	s.IncludeRelationalDatabaseAvailabilityZones = &v
20992	return s
20993}
20994
20995type GetRegionsOutput struct {
20996	_ struct{} `type:"structure"`
20997
20998	// An array of key-value pairs containing information about your get regions
20999	// request.
21000	Regions []*Region `locationName:"regions" type:"list"`
21001}
21002
21003// String returns the string representation
21004func (s GetRegionsOutput) String() string {
21005	return awsutil.Prettify(s)
21006}
21007
21008// GoString returns the string representation
21009func (s GetRegionsOutput) GoString() string {
21010	return s.String()
21011}
21012
21013// SetRegions sets the Regions field's value.
21014func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
21015	s.Regions = v
21016	return s
21017}
21018
21019type GetRelationalDatabaseBlueprintsInput struct {
21020	_ struct{} `type:"structure"`
21021
21022	// The token to advance to the next page of results from your request.
21023	//
21024	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
21025	// If your results are paginated, the response will return a next page token
21026	// that you can specify as the page token in a subsequent request.
21027	PageToken *string `locationName:"pageToken" type:"string"`
21028}
21029
21030// String returns the string representation
21031func (s GetRelationalDatabaseBlueprintsInput) String() string {
21032	return awsutil.Prettify(s)
21033}
21034
21035// GoString returns the string representation
21036func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
21037	return s.String()
21038}
21039
21040// SetPageToken sets the PageToken field's value.
21041func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
21042	s.PageToken = &v
21043	return s
21044}
21045
21046type GetRelationalDatabaseBlueprintsOutput struct {
21047	_ struct{} `type:"structure"`
21048
21049	// An object describing the result of your get relational database blueprints
21050	// request.
21051	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
21052
21053	// The token to advance to the next page of resutls from your request.
21054	//
21055	// A next page token is not returned if there are no more results to display.
21056	//
21057	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
21058	// request and specify the next page token using the pageToken parameter.
21059	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21060}
21061
21062// String returns the string representation
21063func (s GetRelationalDatabaseBlueprintsOutput) String() string {
21064	return awsutil.Prettify(s)
21065}
21066
21067// GoString returns the string representation
21068func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
21069	return s.String()
21070}
21071
21072// SetBlueprints sets the Blueprints field's value.
21073func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
21074	s.Blueprints = v
21075	return s
21076}
21077
21078// SetNextPageToken sets the NextPageToken field's value.
21079func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
21080	s.NextPageToken = &v
21081	return s
21082}
21083
21084type GetRelationalDatabaseBundlesInput struct {
21085	_ struct{} `type:"structure"`
21086
21087	// The token to advance to the next page of results from your request.
21088	//
21089	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
21090	// If your results are paginated, the response will return a next page token
21091	// that you can specify as the page token in a subsequent request.
21092	PageToken *string `locationName:"pageToken" type:"string"`
21093}
21094
21095// String returns the string representation
21096func (s GetRelationalDatabaseBundlesInput) String() string {
21097	return awsutil.Prettify(s)
21098}
21099
21100// GoString returns the string representation
21101func (s GetRelationalDatabaseBundlesInput) GoString() string {
21102	return s.String()
21103}
21104
21105// SetPageToken sets the PageToken field's value.
21106func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
21107	s.PageToken = &v
21108	return s
21109}
21110
21111type GetRelationalDatabaseBundlesOutput struct {
21112	_ struct{} `type:"structure"`
21113
21114	// An object describing the result of your get relational database bundles request.
21115	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
21116
21117	// The token to advance to the next page of resutls from your request.
21118	//
21119	// A next page token is not returned if there are no more results to display.
21120	//
21121	// To get the next page of results, perform another GetRelationalDatabaseBundles
21122	// request and specify the next page token using the pageToken parameter.
21123	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21124}
21125
21126// String returns the string representation
21127func (s GetRelationalDatabaseBundlesOutput) String() string {
21128	return awsutil.Prettify(s)
21129}
21130
21131// GoString returns the string representation
21132func (s GetRelationalDatabaseBundlesOutput) GoString() string {
21133	return s.String()
21134}
21135
21136// SetBundles sets the Bundles field's value.
21137func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
21138	s.Bundles = v
21139	return s
21140}
21141
21142// SetNextPageToken sets the NextPageToken field's value.
21143func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
21144	s.NextPageToken = &v
21145	return s
21146}
21147
21148type GetRelationalDatabaseEventsInput struct {
21149	_ struct{} `type:"structure"`
21150
21151	// The number of minutes in the past from which to retrieve events. For example,
21152	// to get all events from the past 2 hours, enter 120.
21153	//
21154	// Default: 60
21155	//
21156	// The minimum is 1 and the maximum is 14 days (20160 minutes).
21157	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
21158
21159	// The token to advance to the next page of results from your request.
21160	//
21161	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
21162	// If your results are paginated, the response will return a next page token
21163	// that you can specify as the page token in a subsequent request.
21164	PageToken *string `locationName:"pageToken" type:"string"`
21165
21166	// The name of the database from which to get events.
21167	//
21168	// RelationalDatabaseName is a required field
21169	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21170}
21171
21172// String returns the string representation
21173func (s GetRelationalDatabaseEventsInput) String() string {
21174	return awsutil.Prettify(s)
21175}
21176
21177// GoString returns the string representation
21178func (s GetRelationalDatabaseEventsInput) GoString() string {
21179	return s.String()
21180}
21181
21182// Validate inspects the fields of the type to determine if they are valid.
21183func (s *GetRelationalDatabaseEventsInput) Validate() error {
21184	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
21185	if s.RelationalDatabaseName == nil {
21186		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21187	}
21188
21189	if invalidParams.Len() > 0 {
21190		return invalidParams
21191	}
21192	return nil
21193}
21194
21195// SetDurationInMinutes sets the DurationInMinutes field's value.
21196func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
21197	s.DurationInMinutes = &v
21198	return s
21199}
21200
21201// SetPageToken sets the PageToken field's value.
21202func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
21203	s.PageToken = &v
21204	return s
21205}
21206
21207// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21208func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
21209	s.RelationalDatabaseName = &v
21210	return s
21211}
21212
21213type GetRelationalDatabaseEventsOutput struct {
21214	_ struct{} `type:"structure"`
21215
21216	// The token to advance to the next page of resutls from your request.
21217	//
21218	// A next page token is not returned if there are no more results to display.
21219	//
21220	// To get the next page of results, perform another GetRelationalDatabaseEvents
21221	// request and specify the next page token using the pageToken parameter.
21222	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21223
21224	// An object describing the result of your get relational database events request.
21225	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
21226}
21227
21228// String returns the string representation
21229func (s GetRelationalDatabaseEventsOutput) String() string {
21230	return awsutil.Prettify(s)
21231}
21232
21233// GoString returns the string representation
21234func (s GetRelationalDatabaseEventsOutput) GoString() string {
21235	return s.String()
21236}
21237
21238// SetNextPageToken sets the NextPageToken field's value.
21239func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
21240	s.NextPageToken = &v
21241	return s
21242}
21243
21244// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
21245func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
21246	s.RelationalDatabaseEvents = v
21247	return s
21248}
21249
21250type GetRelationalDatabaseInput struct {
21251	_ struct{} `type:"structure"`
21252
21253	// The name of the database that you are looking up.
21254	//
21255	// RelationalDatabaseName is a required field
21256	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21257}
21258
21259// String returns the string representation
21260func (s GetRelationalDatabaseInput) String() string {
21261	return awsutil.Prettify(s)
21262}
21263
21264// GoString returns the string representation
21265func (s GetRelationalDatabaseInput) GoString() string {
21266	return s.String()
21267}
21268
21269// Validate inspects the fields of the type to determine if they are valid.
21270func (s *GetRelationalDatabaseInput) Validate() error {
21271	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
21272	if s.RelationalDatabaseName == nil {
21273		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21274	}
21275
21276	if invalidParams.Len() > 0 {
21277		return invalidParams
21278	}
21279	return nil
21280}
21281
21282// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21283func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
21284	s.RelationalDatabaseName = &v
21285	return s
21286}
21287
21288type GetRelationalDatabaseLogEventsInput struct {
21289	_ struct{} `type:"structure"`
21290
21291	// The end of the time interval from which to get log events.
21292	//
21293	// Constraints:
21294	//
21295	//    * Specified in Coordinated Universal Time (UTC).
21296	//
21297	//    * Specified in the Unix time format. For example, if you wish to use an
21298	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
21299	//    the end time.
21300	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
21301
21302	// The name of the log stream.
21303	//
21304	// Use the get relational database log streams operation to get a list of available
21305	// log streams.
21306	//
21307	// LogStreamName is a required field
21308	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
21309
21310	// The token to advance to the next or previous page of results from your request.
21311	//
21312	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
21313	// If your results are paginated, the response will return a next forward token
21314	// and/or next backward token that you can specify as the page token in a subsequent
21315	// request.
21316	PageToken *string `locationName:"pageToken" type:"string"`
21317
21318	// The name of your database for which to get log events.
21319	//
21320	// RelationalDatabaseName is a required field
21321	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21322
21323	// Parameter to specify if the log should start from head or tail. If true is
21324	// specified, the log event starts from the head of the log. If false is specified,
21325	// the log event starts from the tail of the log.
21326	//
21327	// For PostgreSQL, the default value of false is the only option available.
21328	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
21329
21330	// The start of the time interval from which to get log events.
21331	//
21332	// Constraints:
21333	//
21334	//    * Specified in Coordinated Universal Time (UTC).
21335	//
21336	//    * Specified in the Unix time format. For example, if you wish to use a
21337	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
21338	//    as the start time.
21339	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
21340}
21341
21342// String returns the string representation
21343func (s GetRelationalDatabaseLogEventsInput) String() string {
21344	return awsutil.Prettify(s)
21345}
21346
21347// GoString returns the string representation
21348func (s GetRelationalDatabaseLogEventsInput) GoString() string {
21349	return s.String()
21350}
21351
21352// Validate inspects the fields of the type to determine if they are valid.
21353func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
21354	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
21355	if s.LogStreamName == nil {
21356		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
21357	}
21358	if s.RelationalDatabaseName == nil {
21359		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21360	}
21361
21362	if invalidParams.Len() > 0 {
21363		return invalidParams
21364	}
21365	return nil
21366}
21367
21368// SetEndTime sets the EndTime field's value.
21369func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
21370	s.EndTime = &v
21371	return s
21372}
21373
21374// SetLogStreamName sets the LogStreamName field's value.
21375func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
21376	s.LogStreamName = &v
21377	return s
21378}
21379
21380// SetPageToken sets the PageToken field's value.
21381func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
21382	s.PageToken = &v
21383	return s
21384}
21385
21386// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21387func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
21388	s.RelationalDatabaseName = &v
21389	return s
21390}
21391
21392// SetStartFromHead sets the StartFromHead field's value.
21393func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
21394	s.StartFromHead = &v
21395	return s
21396}
21397
21398// SetStartTime sets the StartTime field's value.
21399func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
21400	s.StartTime = &v
21401	return s
21402}
21403
21404type GetRelationalDatabaseLogEventsOutput struct {
21405	_ struct{} `type:"structure"`
21406
21407	// A token used for advancing to the previous page of results from your get
21408	// relational database log events request.
21409	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
21410
21411	// A token used for advancing to the next page of results from your get relational
21412	// database log events request.
21413	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
21414
21415	// An object describing the result of your get relational database log events
21416	// request.
21417	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
21418}
21419
21420// String returns the string representation
21421func (s GetRelationalDatabaseLogEventsOutput) String() string {
21422	return awsutil.Prettify(s)
21423}
21424
21425// GoString returns the string representation
21426func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
21427	return s.String()
21428}
21429
21430// SetNextBackwardToken sets the NextBackwardToken field's value.
21431func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
21432	s.NextBackwardToken = &v
21433	return s
21434}
21435
21436// SetNextForwardToken sets the NextForwardToken field's value.
21437func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
21438	s.NextForwardToken = &v
21439	return s
21440}
21441
21442// SetResourceLogEvents sets the ResourceLogEvents field's value.
21443func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
21444	s.ResourceLogEvents = v
21445	return s
21446}
21447
21448type GetRelationalDatabaseLogStreamsInput struct {
21449	_ struct{} `type:"structure"`
21450
21451	// The name of your database for which to get log streams.
21452	//
21453	// RelationalDatabaseName is a required field
21454	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21455}
21456
21457// String returns the string representation
21458func (s GetRelationalDatabaseLogStreamsInput) String() string {
21459	return awsutil.Prettify(s)
21460}
21461
21462// GoString returns the string representation
21463func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
21464	return s.String()
21465}
21466
21467// Validate inspects the fields of the type to determine if they are valid.
21468func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
21469	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
21470	if s.RelationalDatabaseName == nil {
21471		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21472	}
21473
21474	if invalidParams.Len() > 0 {
21475		return invalidParams
21476	}
21477	return nil
21478}
21479
21480// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21481func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
21482	s.RelationalDatabaseName = &v
21483	return s
21484}
21485
21486type GetRelationalDatabaseLogStreamsOutput struct {
21487	_ struct{} `type:"structure"`
21488
21489	// An object describing the result of your get relational database log streams
21490	// request.
21491	LogStreams []*string `locationName:"logStreams" type:"list"`
21492}
21493
21494// String returns the string representation
21495func (s GetRelationalDatabaseLogStreamsOutput) String() string {
21496	return awsutil.Prettify(s)
21497}
21498
21499// GoString returns the string representation
21500func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
21501	return s.String()
21502}
21503
21504// SetLogStreams sets the LogStreams field's value.
21505func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
21506	s.LogStreams = v
21507	return s
21508}
21509
21510type GetRelationalDatabaseMasterUserPasswordInput struct {
21511	_ struct{} `type:"structure"`
21512
21513	// The password version to return.
21514	//
21515	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
21516	// respectively. Specifying PENDING returns the newest version of the password
21517	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
21518	// the PENDING password is no longer available.
21519	//
21520	// Default: CURRENT
21521	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
21522
21523	// The name of your database for which to get the master user password.
21524	//
21525	// RelationalDatabaseName is a required field
21526	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21527}
21528
21529// String returns the string representation
21530func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
21531	return awsutil.Prettify(s)
21532}
21533
21534// GoString returns the string representation
21535func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
21536	return s.String()
21537}
21538
21539// Validate inspects the fields of the type to determine if they are valid.
21540func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
21541	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
21542	if s.RelationalDatabaseName == nil {
21543		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21544	}
21545
21546	if invalidParams.Len() > 0 {
21547		return invalidParams
21548	}
21549	return nil
21550}
21551
21552// SetPasswordVersion sets the PasswordVersion field's value.
21553func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
21554	s.PasswordVersion = &v
21555	return s
21556}
21557
21558// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21559func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
21560	s.RelationalDatabaseName = &v
21561	return s
21562}
21563
21564type GetRelationalDatabaseMasterUserPasswordOutput struct {
21565	_ struct{} `type:"structure"`
21566
21567	// The timestamp when the specified version of the master user password was
21568	// created.
21569	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21570
21571	// The master user password for the password version specified.
21572	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
21573}
21574
21575// String returns the string representation
21576func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
21577	return awsutil.Prettify(s)
21578}
21579
21580// GoString returns the string representation
21581func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
21582	return s.String()
21583}
21584
21585// SetCreatedAt sets the CreatedAt field's value.
21586func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
21587	s.CreatedAt = &v
21588	return s
21589}
21590
21591// SetMasterUserPassword sets the MasterUserPassword field's value.
21592func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
21593	s.MasterUserPassword = &v
21594	return s
21595}
21596
21597type GetRelationalDatabaseMetricDataInput struct {
21598	_ struct{} `type:"structure"`
21599
21600	// The end of the time interval from which to get metric data.
21601	//
21602	// Constraints:
21603	//
21604	//    * Specified in Coordinated Universal Time (UTC).
21605	//
21606	//    * Specified in the Unix time format. For example, if you wish to use an
21607	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
21608	//    the end time.
21609	//
21610	// EndTime is a required field
21611	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
21612
21613	// The metric for which you want to return information.
21614	//
21615	// Valid relational database metric names are listed below, along with the most
21616	// useful statistics to include in your request, and the published unit value.
21617	// All relational database metric data is available in 1-minute (60 seconds)
21618	// granularity.
21619	//
21620	//    * CPUUtilization — The percentage of CPU utilization currently in use
21621	//    on the database. Statistics: The most useful statistics are Maximum and
21622	//    Average. Unit: The published unit is Percent.
21623	//
21624	//    * DatabaseConnections — The number of database connections in use. Statistics:
21625	//    The most useful statistics are Maximum and Sum. Unit: The published unit
21626	//    is Count.
21627	//
21628	//    * DiskQueueDepth — The number of outstanding IOs (read/write requests)
21629	//    that are waiting to access the disk. Statistics: The most useful statistic
21630	//    is Sum. Unit: The published unit is Count.
21631	//
21632	//    * FreeStorageSpace — The amount of available storage space. Statistics:
21633	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
21634	//
21635	//    * NetworkReceiveThroughput — The incoming (Receive) network traffic
21636	//    on the database, including both customer database traffic and AWS traffic
21637	//    used for monitoring and replication. Statistics: The most useful statistic
21638	//    is Average. Unit: The published unit is Bytes/Second.
21639	//
21640	//    * NetworkTransmitThroughput — The outgoing (Transmit) network traffic
21641	//    on the database, including both customer database traffic and AWS traffic
21642	//    used for monitoring and replication. Statistics: The most useful statistic
21643	//    is Average. Unit: The published unit is Bytes/Second.
21644	//
21645	// MetricName is a required field
21646	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
21647
21648	// The granularity, in seconds, of the returned data points.
21649	//
21650	// All relational database metric data is available in 1-minute (60 seconds)
21651	// granularity.
21652	//
21653	// Period is a required field
21654	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
21655
21656	// The name of your database from which to get metric data.
21657	//
21658	// RelationalDatabaseName is a required field
21659	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21660
21661	// The start of the time interval from which to get metric data.
21662	//
21663	// Constraints:
21664	//
21665	//    * Specified in Coordinated Universal Time (UTC).
21666	//
21667	//    * Specified in the Unix time format. For example, if you wish to use a
21668	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
21669	//    as the start time.
21670	//
21671	// StartTime is a required field
21672	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
21673
21674	// The statistic for the metric.
21675	//
21676	// The following statistics are available:
21677	//
21678	//    * Minimum — The lowest value observed during the specified period. Use
21679	//    this value to determine low volumes of activity for your application.
21680	//
21681	//    * Maximum — The highest value observed during the specified period.
21682	//    Use this value to determine high volumes of activity for your application.
21683	//
21684	//    * Sum — All values submitted for the matching metric added together.
21685	//    You can use this statistic to determine the total volume of a metric.
21686	//
21687	//    * Average — The value of Sum / SampleCount during the specified period.
21688	//    By comparing this statistic with the Minimum and Maximum values, you can
21689	//    determine the full scope of a metric and how close the average use is
21690	//    to the Minimum and Maximum values. This comparison helps you to know when
21691	//    to increase or decrease your resources.
21692	//
21693	//    * SampleCount — The count, or number, of data points used for the statistical
21694	//    calculation.
21695	//
21696	// Statistics is a required field
21697	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
21698
21699	// The unit for the metric data request. Valid units depend on the metric data
21700	// being required. For the valid units with each available metric, see the metricName
21701	// parameter.
21702	//
21703	// Unit is a required field
21704	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
21705}
21706
21707// String returns the string representation
21708func (s GetRelationalDatabaseMetricDataInput) String() string {
21709	return awsutil.Prettify(s)
21710}
21711
21712// GoString returns the string representation
21713func (s GetRelationalDatabaseMetricDataInput) GoString() string {
21714	return s.String()
21715}
21716
21717// Validate inspects the fields of the type to determine if they are valid.
21718func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
21719	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
21720	if s.EndTime == nil {
21721		invalidParams.Add(request.NewErrParamRequired("EndTime"))
21722	}
21723	if s.MetricName == nil {
21724		invalidParams.Add(request.NewErrParamRequired("MetricName"))
21725	}
21726	if s.Period == nil {
21727		invalidParams.Add(request.NewErrParamRequired("Period"))
21728	}
21729	if s.Period != nil && *s.Period < 60 {
21730		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
21731	}
21732	if s.RelationalDatabaseName == nil {
21733		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21734	}
21735	if s.StartTime == nil {
21736		invalidParams.Add(request.NewErrParamRequired("StartTime"))
21737	}
21738	if s.Statistics == nil {
21739		invalidParams.Add(request.NewErrParamRequired("Statistics"))
21740	}
21741	if s.Unit == nil {
21742		invalidParams.Add(request.NewErrParamRequired("Unit"))
21743	}
21744
21745	if invalidParams.Len() > 0 {
21746		return invalidParams
21747	}
21748	return nil
21749}
21750
21751// SetEndTime sets the EndTime field's value.
21752func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
21753	s.EndTime = &v
21754	return s
21755}
21756
21757// SetMetricName sets the MetricName field's value.
21758func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
21759	s.MetricName = &v
21760	return s
21761}
21762
21763// SetPeriod sets the Period field's value.
21764func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
21765	s.Period = &v
21766	return s
21767}
21768
21769// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21770func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
21771	s.RelationalDatabaseName = &v
21772	return s
21773}
21774
21775// SetStartTime sets the StartTime field's value.
21776func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
21777	s.StartTime = &v
21778	return s
21779}
21780
21781// SetStatistics sets the Statistics field's value.
21782func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
21783	s.Statistics = v
21784	return s
21785}
21786
21787// SetUnit sets the Unit field's value.
21788func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
21789	s.Unit = &v
21790	return s
21791}
21792
21793type GetRelationalDatabaseMetricDataOutput struct {
21794	_ struct{} `type:"structure"`
21795
21796	// An object describing the result of your get relational database metric data
21797	// request.
21798	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
21799
21800	// The name of the metric.
21801	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
21802}
21803
21804// String returns the string representation
21805func (s GetRelationalDatabaseMetricDataOutput) String() string {
21806	return awsutil.Prettify(s)
21807}
21808
21809// GoString returns the string representation
21810func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
21811	return s.String()
21812}
21813
21814// SetMetricData sets the MetricData field's value.
21815func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
21816	s.MetricData = v
21817	return s
21818}
21819
21820// SetMetricName sets the MetricName field's value.
21821func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
21822	s.MetricName = &v
21823	return s
21824}
21825
21826type GetRelationalDatabaseOutput struct {
21827	_ struct{} `type:"structure"`
21828
21829	// An object describing the specified database.
21830	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
21831}
21832
21833// String returns the string representation
21834func (s GetRelationalDatabaseOutput) String() string {
21835	return awsutil.Prettify(s)
21836}
21837
21838// GoString returns the string representation
21839func (s GetRelationalDatabaseOutput) GoString() string {
21840	return s.String()
21841}
21842
21843// SetRelationalDatabase sets the RelationalDatabase field's value.
21844func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
21845	s.RelationalDatabase = v
21846	return s
21847}
21848
21849type GetRelationalDatabaseParametersInput struct {
21850	_ struct{} `type:"structure"`
21851
21852	// The token to advance to the next page of results from your request.
21853	//
21854	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
21855	// If your results are paginated, the response will return a next page token
21856	// that you can specify as the page token in a subsequent request.
21857	PageToken *string `locationName:"pageToken" type:"string"`
21858
21859	// The name of your database for which to get parameters.
21860	//
21861	// RelationalDatabaseName is a required field
21862	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21863}
21864
21865// String returns the string representation
21866func (s GetRelationalDatabaseParametersInput) String() string {
21867	return awsutil.Prettify(s)
21868}
21869
21870// GoString returns the string representation
21871func (s GetRelationalDatabaseParametersInput) GoString() string {
21872	return s.String()
21873}
21874
21875// Validate inspects the fields of the type to determine if they are valid.
21876func (s *GetRelationalDatabaseParametersInput) Validate() error {
21877	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
21878	if s.RelationalDatabaseName == nil {
21879		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21880	}
21881
21882	if invalidParams.Len() > 0 {
21883		return invalidParams
21884	}
21885	return nil
21886}
21887
21888// SetPageToken sets the PageToken field's value.
21889func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
21890	s.PageToken = &v
21891	return s
21892}
21893
21894// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21895func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
21896	s.RelationalDatabaseName = &v
21897	return s
21898}
21899
21900type GetRelationalDatabaseParametersOutput struct {
21901	_ struct{} `type:"structure"`
21902
21903	// The token to advance to the next page of resutls from your request.
21904	//
21905	// A next page token is not returned if there are no more results to display.
21906	//
21907	// To get the next page of results, perform another GetRelationalDatabaseParameters
21908	// request and specify the next page token using the pageToken parameter.
21909	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21910
21911	// An object describing the result of your get relational database parameters
21912	// request.
21913	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
21914}
21915
21916// String returns the string representation
21917func (s GetRelationalDatabaseParametersOutput) String() string {
21918	return awsutil.Prettify(s)
21919}
21920
21921// GoString returns the string representation
21922func (s GetRelationalDatabaseParametersOutput) GoString() string {
21923	return s.String()
21924}
21925
21926// SetNextPageToken sets the NextPageToken field's value.
21927func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
21928	s.NextPageToken = &v
21929	return s
21930}
21931
21932// SetParameters sets the Parameters field's value.
21933func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
21934	s.Parameters = v
21935	return s
21936}
21937
21938type GetRelationalDatabaseSnapshotInput struct {
21939	_ struct{} `type:"structure"`
21940
21941	// The name of the database snapshot for which to get information.
21942	//
21943	// RelationalDatabaseSnapshotName is a required field
21944	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
21945}
21946
21947// String returns the string representation
21948func (s GetRelationalDatabaseSnapshotInput) String() string {
21949	return awsutil.Prettify(s)
21950}
21951
21952// GoString returns the string representation
21953func (s GetRelationalDatabaseSnapshotInput) GoString() string {
21954	return s.String()
21955}
21956
21957// Validate inspects the fields of the type to determine if they are valid.
21958func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
21959	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
21960	if s.RelationalDatabaseSnapshotName == nil {
21961		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
21962	}
21963
21964	if invalidParams.Len() > 0 {
21965		return invalidParams
21966	}
21967	return nil
21968}
21969
21970// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
21971func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
21972	s.RelationalDatabaseSnapshotName = &v
21973	return s
21974}
21975
21976type GetRelationalDatabaseSnapshotOutput struct {
21977	_ struct{} `type:"structure"`
21978
21979	// An object describing the specified database snapshot.
21980	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
21981}
21982
21983// String returns the string representation
21984func (s GetRelationalDatabaseSnapshotOutput) String() string {
21985	return awsutil.Prettify(s)
21986}
21987
21988// GoString returns the string representation
21989func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
21990	return s.String()
21991}
21992
21993// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
21994func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
21995	s.RelationalDatabaseSnapshot = v
21996	return s
21997}
21998
21999type GetRelationalDatabaseSnapshotsInput struct {
22000	_ struct{} `type:"structure"`
22001
22002	// The token to advance to the next page of results from your request.
22003	//
22004	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
22005	// If your results are paginated, the response will return a next page token
22006	// that you can specify as the page token in a subsequent request.
22007	PageToken *string `locationName:"pageToken" type:"string"`
22008}
22009
22010// String returns the string representation
22011func (s GetRelationalDatabaseSnapshotsInput) String() string {
22012	return awsutil.Prettify(s)
22013}
22014
22015// GoString returns the string representation
22016func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
22017	return s.String()
22018}
22019
22020// SetPageToken sets the PageToken field's value.
22021func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
22022	s.PageToken = &v
22023	return s
22024}
22025
22026type GetRelationalDatabaseSnapshotsOutput struct {
22027	_ struct{} `type:"structure"`
22028
22029	// The token to advance to the next page of resutls from your request.
22030	//
22031	// A next page token is not returned if there are no more results to display.
22032	//
22033	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
22034	// request and specify the next page token using the pageToken parameter.
22035	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22036
22037	// An object describing the result of your get relational database snapshots
22038	// request.
22039	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
22040}
22041
22042// String returns the string representation
22043func (s GetRelationalDatabaseSnapshotsOutput) String() string {
22044	return awsutil.Prettify(s)
22045}
22046
22047// GoString returns the string representation
22048func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
22049	return s.String()
22050}
22051
22052// SetNextPageToken sets the NextPageToken field's value.
22053func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
22054	s.NextPageToken = &v
22055	return s
22056}
22057
22058// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
22059func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
22060	s.RelationalDatabaseSnapshots = v
22061	return s
22062}
22063
22064type GetRelationalDatabasesInput struct {
22065	_ struct{} `type:"structure"`
22066
22067	// The token to advance to the next page of results from your request.
22068	//
22069	// To get a page token, perform an initial GetRelationalDatabases request. If
22070	// your results are paginated, the response will return a next page token that
22071	// you can specify as the page token in a subsequent request.
22072	PageToken *string `locationName:"pageToken" type:"string"`
22073}
22074
22075// String returns the string representation
22076func (s GetRelationalDatabasesInput) String() string {
22077	return awsutil.Prettify(s)
22078}
22079
22080// GoString returns the string representation
22081func (s GetRelationalDatabasesInput) GoString() string {
22082	return s.String()
22083}
22084
22085// SetPageToken sets the PageToken field's value.
22086func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
22087	s.PageToken = &v
22088	return s
22089}
22090
22091type GetRelationalDatabasesOutput struct {
22092	_ struct{} `type:"structure"`
22093
22094	// The token to advance to the next page of resutls from your request.
22095	//
22096	// A next page token is not returned if there are no more results to display.
22097	//
22098	// To get the next page of results, perform another GetRelationalDatabases request
22099	// and specify the next page token using the pageToken parameter.
22100	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22101
22102	// An object describing the result of your get relational databases request.
22103	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
22104}
22105
22106// String returns the string representation
22107func (s GetRelationalDatabasesOutput) String() string {
22108	return awsutil.Prettify(s)
22109}
22110
22111// GoString returns the string representation
22112func (s GetRelationalDatabasesOutput) GoString() string {
22113	return s.String()
22114}
22115
22116// SetNextPageToken sets the NextPageToken field's value.
22117func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
22118	s.NextPageToken = &v
22119	return s
22120}
22121
22122// SetRelationalDatabases sets the RelationalDatabases field's value.
22123func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
22124	s.RelationalDatabases = v
22125	return s
22126}
22127
22128type GetStaticIpInput struct {
22129	_ struct{} `type:"structure"`
22130
22131	// The name of the static IP in Lightsail.
22132	//
22133	// StaticIpName is a required field
22134	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
22135}
22136
22137// String returns the string representation
22138func (s GetStaticIpInput) String() string {
22139	return awsutil.Prettify(s)
22140}
22141
22142// GoString returns the string representation
22143func (s GetStaticIpInput) GoString() string {
22144	return s.String()
22145}
22146
22147// Validate inspects the fields of the type to determine if they are valid.
22148func (s *GetStaticIpInput) Validate() error {
22149	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
22150	if s.StaticIpName == nil {
22151		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
22152	}
22153
22154	if invalidParams.Len() > 0 {
22155		return invalidParams
22156	}
22157	return nil
22158}
22159
22160// SetStaticIpName sets the StaticIpName field's value.
22161func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
22162	s.StaticIpName = &v
22163	return s
22164}
22165
22166type GetStaticIpOutput struct {
22167	_ struct{} `type:"structure"`
22168
22169	// An array of key-value pairs containing information about the requested static
22170	// IP.
22171	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
22172}
22173
22174// String returns the string representation
22175func (s GetStaticIpOutput) String() string {
22176	return awsutil.Prettify(s)
22177}
22178
22179// GoString returns the string representation
22180func (s GetStaticIpOutput) GoString() string {
22181	return s.String()
22182}
22183
22184// SetStaticIp sets the StaticIp field's value.
22185func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
22186	s.StaticIp = v
22187	return s
22188}
22189
22190type GetStaticIpsInput struct {
22191	_ struct{} `type:"structure"`
22192
22193	// The token to advance to the next page of results from your request.
22194	//
22195	// To get a page token, perform an initial GetStaticIps request. If your results
22196	// are paginated, the response will return a next page token that you can specify
22197	// as the page token in a subsequent request.
22198	PageToken *string `locationName:"pageToken" type:"string"`
22199}
22200
22201// String returns the string representation
22202func (s GetStaticIpsInput) String() string {
22203	return awsutil.Prettify(s)
22204}
22205
22206// GoString returns the string representation
22207func (s GetStaticIpsInput) GoString() string {
22208	return s.String()
22209}
22210
22211// SetPageToken sets the PageToken field's value.
22212func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
22213	s.PageToken = &v
22214	return s
22215}
22216
22217type GetStaticIpsOutput struct {
22218	_ struct{} `type:"structure"`
22219
22220	// The token to advance to the next page of resutls from your request.
22221	//
22222	// A next page token is not returned if there are no more results to display.
22223	//
22224	// To get the next page of results, perform another GetStaticIps request and
22225	// specify the next page token using the pageToken parameter.
22226	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22227
22228	// An array of key-value pairs containing information about your get static
22229	// IPs request.
22230	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
22231}
22232
22233// String returns the string representation
22234func (s GetStaticIpsOutput) String() string {
22235	return awsutil.Prettify(s)
22236}
22237
22238// GoString returns the string representation
22239func (s GetStaticIpsOutput) GoString() string {
22240	return s.String()
22241}
22242
22243// SetNextPageToken sets the NextPageToken field's value.
22244func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
22245	s.NextPageToken = &v
22246	return s
22247}
22248
22249// SetStaticIps sets the StaticIps field's value.
22250func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
22251	s.StaticIps = v
22252	return s
22253}
22254
22255// Describes the public SSH host keys or the RDP certificate.
22256type HostKeyAttributes struct {
22257	_ struct{} `type:"structure"`
22258
22259	// The SSH host key algorithm or the RDP certificate format.
22260	//
22261	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
22262	// etc. For RDP certificates, the algorithm is always x509-cert.
22263	Algorithm *string `locationName:"algorithm" type:"string"`
22264
22265	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
22266	//
22267	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
22268	//
22269	//    * 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
22270	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
22271
22272	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
22273	//
22274	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
22275	//
22276	//    * 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
22277	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
22278
22279	// The returned RDP certificate is not valid after this point in time.
22280	//
22281	// This value is listed only for RDP certificates.
22282	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
22283
22284	// The returned RDP certificate is valid after this point in time.
22285	//
22286	// This value is listed only for RDP certificates.
22287	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
22288
22289	// The public SSH host key or the RDP certificate.
22290	PublicKey *string `locationName:"publicKey" type:"string"`
22291
22292	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
22293	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
22294}
22295
22296// String returns the string representation
22297func (s HostKeyAttributes) String() string {
22298	return awsutil.Prettify(s)
22299}
22300
22301// GoString returns the string representation
22302func (s HostKeyAttributes) GoString() string {
22303	return s.String()
22304}
22305
22306// SetAlgorithm sets the Algorithm field's value.
22307func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
22308	s.Algorithm = &v
22309	return s
22310}
22311
22312// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
22313func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
22314	s.FingerprintSHA1 = &v
22315	return s
22316}
22317
22318// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
22319func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
22320	s.FingerprintSHA256 = &v
22321	return s
22322}
22323
22324// SetNotValidAfter sets the NotValidAfter field's value.
22325func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
22326	s.NotValidAfter = &v
22327	return s
22328}
22329
22330// SetNotValidBefore sets the NotValidBefore field's value.
22331func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
22332	s.NotValidBefore = &v
22333	return s
22334}
22335
22336// SetPublicKey sets the PublicKey field's value.
22337func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
22338	s.PublicKey = &v
22339	return s
22340}
22341
22342// SetWitnessedAt sets the WitnessedAt field's value.
22343func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
22344	s.WitnessedAt = &v
22345	return s
22346}
22347
22348type ImportKeyPairInput struct {
22349	_ struct{} `type:"structure"`
22350
22351	// The name of the key pair for which you want to import the public key.
22352	//
22353	// KeyPairName is a required field
22354	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
22355
22356	// A base64-encoded public key of the ssh-rsa type.
22357	//
22358	// PublicKeyBase64 is a required field
22359	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
22360}
22361
22362// String returns the string representation
22363func (s ImportKeyPairInput) String() string {
22364	return awsutil.Prettify(s)
22365}
22366
22367// GoString returns the string representation
22368func (s ImportKeyPairInput) GoString() string {
22369	return s.String()
22370}
22371
22372// Validate inspects the fields of the type to determine if they are valid.
22373func (s *ImportKeyPairInput) Validate() error {
22374	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
22375	if s.KeyPairName == nil {
22376		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
22377	}
22378	if s.PublicKeyBase64 == nil {
22379		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
22380	}
22381
22382	if invalidParams.Len() > 0 {
22383		return invalidParams
22384	}
22385	return nil
22386}
22387
22388// SetKeyPairName sets the KeyPairName field's value.
22389func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
22390	s.KeyPairName = &v
22391	return s
22392}
22393
22394// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
22395func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
22396	s.PublicKeyBase64 = &v
22397	return s
22398}
22399
22400type ImportKeyPairOutput struct {
22401	_ struct{} `type:"structure"`
22402
22403	// An array of objects that describe the result of the action, such as the status
22404	// of the request, the time stamp of the request, and the resources affected
22405	// by the request.
22406	Operation *Operation `locationName:"operation" type:"structure"`
22407}
22408
22409// String returns the string representation
22410func (s ImportKeyPairOutput) String() string {
22411	return awsutil.Prettify(s)
22412}
22413
22414// GoString returns the string representation
22415func (s ImportKeyPairOutput) GoString() string {
22416	return s.String()
22417}
22418
22419// SetOperation sets the Operation field's value.
22420func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
22421	s.Operation = v
22422	return s
22423}
22424
22425// Describes an instance (a virtual private server).
22426type Instance struct {
22427	_ struct{} `type:"structure"`
22428
22429	// An array of objects representing the add-ons enabled on the instance.
22430	AddOns []*AddOn `locationName:"addOns" type:"list"`
22431
22432	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
22433	Arn *string `locationName:"arn" type:"string"`
22434
22435	// The blueprint ID (e.g., os_amlinux_2016_03).
22436	BlueprintId *string `locationName:"blueprintId" type:"string"`
22437
22438	// The friendly name of the blueprint (e.g., Amazon Linux).
22439	BlueprintName *string `locationName:"blueprintName" type:"string"`
22440
22441	// The bundle for the instance (e.g., micro_1_0).
22442	BundleId *string `locationName:"bundleId" type:"string"`
22443
22444	// The timestamp when the instance was created (e.g., 1479734909.17).
22445	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22446
22447	// The size of the vCPU and the amount of RAM for the instance.
22448	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
22449
22450	// The IPv6 address of the instance.
22451	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
22452
22453	// A Boolean value indicating whether this instance has a static IP assigned
22454	// to it.
22455	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
22456
22457	// The region name and Availability Zone where the instance is located.
22458	Location *ResourceLocation `locationName:"location" type:"structure"`
22459
22460	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
22461	Name *string `locationName:"name" type:"string"`
22462
22463	// Information about the public ports and monthly data transfer rates for the
22464	// instance.
22465	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
22466
22467	// The private IP address of the instance.
22468	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
22469
22470	// The public IP address of the instance.
22471	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
22472
22473	// The type of resource (usually Instance).
22474	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22475
22476	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
22477	SshKeyName *string `locationName:"sshKeyName" type:"string"`
22478
22479	// The status code and the state (e.g., running) for the instance.
22480	State *InstanceState `locationName:"state" type:"structure"`
22481
22482	// The support code. Include this code in your email to support when you have
22483	// questions about an instance or another resource in Lightsail. This code enables
22484	// our support team to look up your Lightsail information more easily.
22485	SupportCode *string `locationName:"supportCode" type:"string"`
22486
22487	// The tag keys and optional values for the resource. For more information about
22488	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
22489	Tags []*Tag `locationName:"tags" type:"list"`
22490
22491	// The user name for connecting to the instance (e.g., ec2-user).
22492	Username *string `locationName:"username" type:"string"`
22493}
22494
22495// String returns the string representation
22496func (s Instance) String() string {
22497	return awsutil.Prettify(s)
22498}
22499
22500// GoString returns the string representation
22501func (s Instance) GoString() string {
22502	return s.String()
22503}
22504
22505// SetAddOns sets the AddOns field's value.
22506func (s *Instance) SetAddOns(v []*AddOn) *Instance {
22507	s.AddOns = v
22508	return s
22509}
22510
22511// SetArn sets the Arn field's value.
22512func (s *Instance) SetArn(v string) *Instance {
22513	s.Arn = &v
22514	return s
22515}
22516
22517// SetBlueprintId sets the BlueprintId field's value.
22518func (s *Instance) SetBlueprintId(v string) *Instance {
22519	s.BlueprintId = &v
22520	return s
22521}
22522
22523// SetBlueprintName sets the BlueprintName field's value.
22524func (s *Instance) SetBlueprintName(v string) *Instance {
22525	s.BlueprintName = &v
22526	return s
22527}
22528
22529// SetBundleId sets the BundleId field's value.
22530func (s *Instance) SetBundleId(v string) *Instance {
22531	s.BundleId = &v
22532	return s
22533}
22534
22535// SetCreatedAt sets the CreatedAt field's value.
22536func (s *Instance) SetCreatedAt(v time.Time) *Instance {
22537	s.CreatedAt = &v
22538	return s
22539}
22540
22541// SetHardware sets the Hardware field's value.
22542func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
22543	s.Hardware = v
22544	return s
22545}
22546
22547// SetIpv6Address sets the Ipv6Address field's value.
22548func (s *Instance) SetIpv6Address(v string) *Instance {
22549	s.Ipv6Address = &v
22550	return s
22551}
22552
22553// SetIsStaticIp sets the IsStaticIp field's value.
22554func (s *Instance) SetIsStaticIp(v bool) *Instance {
22555	s.IsStaticIp = &v
22556	return s
22557}
22558
22559// SetLocation sets the Location field's value.
22560func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
22561	s.Location = v
22562	return s
22563}
22564
22565// SetName sets the Name field's value.
22566func (s *Instance) SetName(v string) *Instance {
22567	s.Name = &v
22568	return s
22569}
22570
22571// SetNetworking sets the Networking field's value.
22572func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
22573	s.Networking = v
22574	return s
22575}
22576
22577// SetPrivateIpAddress sets the PrivateIpAddress field's value.
22578func (s *Instance) SetPrivateIpAddress(v string) *Instance {
22579	s.PrivateIpAddress = &v
22580	return s
22581}
22582
22583// SetPublicIpAddress sets the PublicIpAddress field's value.
22584func (s *Instance) SetPublicIpAddress(v string) *Instance {
22585	s.PublicIpAddress = &v
22586	return s
22587}
22588
22589// SetResourceType sets the ResourceType field's value.
22590func (s *Instance) SetResourceType(v string) *Instance {
22591	s.ResourceType = &v
22592	return s
22593}
22594
22595// SetSshKeyName sets the SshKeyName field's value.
22596func (s *Instance) SetSshKeyName(v string) *Instance {
22597	s.SshKeyName = &v
22598	return s
22599}
22600
22601// SetState sets the State field's value.
22602func (s *Instance) SetState(v *InstanceState) *Instance {
22603	s.State = v
22604	return s
22605}
22606
22607// SetSupportCode sets the SupportCode field's value.
22608func (s *Instance) SetSupportCode(v string) *Instance {
22609	s.SupportCode = &v
22610	return s
22611}
22612
22613// SetTags sets the Tags field's value.
22614func (s *Instance) SetTags(v []*Tag) *Instance {
22615	s.Tags = v
22616	return s
22617}
22618
22619// SetUsername sets the Username field's value.
22620func (s *Instance) SetUsername(v string) *Instance {
22621	s.Username = &v
22622	return s
22623}
22624
22625// The parameters for gaining temporary access to one of your Amazon Lightsail
22626// instances.
22627type InstanceAccessDetails struct {
22628	_ struct{} `type:"structure"`
22629
22630	// For SSH access, the public key to use when accessing your instance For OpenSSH
22631	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
22632	CertKey *string `locationName:"certKey" type:"string"`
22633
22634	// For SSH access, the date on which the temporary keys expire.
22635	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
22636
22637	// Describes the public SSH host keys or the RDP certificate.
22638	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
22639
22640	// The name of this Amazon Lightsail instance.
22641	InstanceName *string `locationName:"instanceName" type:"string"`
22642
22643	// The public IP address of the Amazon Lightsail instance.
22644	IpAddress *string `locationName:"ipAddress" type:"string"`
22645
22646	// For RDP access, the password for your Amazon Lightsail instance. Password
22647	// will be an empty string if the password for your new instance is not ready
22648	// yet. When you create an instance, it can take up to 15 minutes for the instance
22649	// to be ready.
22650	//
22651	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
22652	// password will always be an empty string.
22653	//
22654	// If you change the Administrator password on the instance, Lightsail will
22655	// continue to return the original password value. When accessing the instance
22656	// using RDP, you need to manually enter the Administrator password after changing
22657	// it from the default.
22658	Password *string `locationName:"password" type:"string"`
22659
22660	// For a Windows Server-based instance, an object with the data you can use
22661	// to retrieve your password. This is only needed if password is empty and the
22662	// instance is not new (and therefore the password is not ready yet). When you
22663	// create an instance, it can take up to 15 minutes for the instance to be ready.
22664	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
22665
22666	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
22667	// line SSH), you should save this value to tempkey).
22668	PrivateKey *string `locationName:"privateKey" type:"string"`
22669
22670	// The protocol for these Amazon Lightsail instance access details.
22671	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
22672
22673	// The user name to use when logging in to the Amazon Lightsail instance.
22674	Username *string `locationName:"username" type:"string"`
22675}
22676
22677// String returns the string representation
22678func (s InstanceAccessDetails) String() string {
22679	return awsutil.Prettify(s)
22680}
22681
22682// GoString returns the string representation
22683func (s InstanceAccessDetails) GoString() string {
22684	return s.String()
22685}
22686
22687// SetCertKey sets the CertKey field's value.
22688func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
22689	s.CertKey = &v
22690	return s
22691}
22692
22693// SetExpiresAt sets the ExpiresAt field's value.
22694func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
22695	s.ExpiresAt = &v
22696	return s
22697}
22698
22699// SetHostKeys sets the HostKeys field's value.
22700func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
22701	s.HostKeys = v
22702	return s
22703}
22704
22705// SetInstanceName sets the InstanceName field's value.
22706func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
22707	s.InstanceName = &v
22708	return s
22709}
22710
22711// SetIpAddress sets the IpAddress field's value.
22712func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
22713	s.IpAddress = &v
22714	return s
22715}
22716
22717// SetPassword sets the Password field's value.
22718func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
22719	s.Password = &v
22720	return s
22721}
22722
22723// SetPasswordData sets the PasswordData field's value.
22724func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
22725	s.PasswordData = v
22726	return s
22727}
22728
22729// SetPrivateKey sets the PrivateKey field's value.
22730func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
22731	s.PrivateKey = &v
22732	return s
22733}
22734
22735// SetProtocol sets the Protocol field's value.
22736func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
22737	s.Protocol = &v
22738	return s
22739}
22740
22741// SetUsername sets the Username field's value.
22742func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
22743	s.Username = &v
22744	return s
22745}
22746
22747// Describes the Amazon Elastic Compute Cloud instance and related resources
22748// to be created using the create cloud formation stack operation.
22749type InstanceEntry struct {
22750	_ struct{} `type:"structure"`
22751
22752	// The Availability Zone for the new Amazon EC2 instance.
22753	//
22754	// AvailabilityZone is a required field
22755	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
22756
22757	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
22758	//
22759	// InstanceType is a required field
22760	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
22761
22762	// The port configuration to use for the new Amazon EC2 instance.
22763	//
22764	// The following configuration options are available:
22765	//
22766	//    * DEFAULT — Use the default firewall settings from the image.
22767	//
22768	//    * INSTANCE — Use the firewall settings from the source Lightsail instance.
22769	//
22770	//    * NONE — Default to Amazon EC2.
22771	//
22772	//    * CLOSED — All ports closed.
22773	//
22774	// PortInfoSource is a required field
22775	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
22776
22777	// The name of the export snapshot record, which contains the exported Lightsail
22778	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
22779	//
22780	// Use the get export snapshot records operation to get a list of export snapshot
22781	// records that you can use to create a CloudFormation stack.
22782	//
22783	// SourceName is a required field
22784	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
22785
22786	// A launch script you can create that configures a server with additional user
22787	// data. For example, you might want to run apt-get -y update.
22788	//
22789	// Depending on the machine image you choose, the command to get software on
22790	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
22791	// use apt-get, and FreeBSD uses pkg.
22792	UserData *string `locationName:"userData" type:"string"`
22793}
22794
22795// String returns the string representation
22796func (s InstanceEntry) String() string {
22797	return awsutil.Prettify(s)
22798}
22799
22800// GoString returns the string representation
22801func (s InstanceEntry) GoString() string {
22802	return s.String()
22803}
22804
22805// Validate inspects the fields of the type to determine if they are valid.
22806func (s *InstanceEntry) Validate() error {
22807	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
22808	if s.AvailabilityZone == nil {
22809		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
22810	}
22811	if s.InstanceType == nil {
22812		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
22813	}
22814	if s.PortInfoSource == nil {
22815		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
22816	}
22817	if s.SourceName == nil {
22818		invalidParams.Add(request.NewErrParamRequired("SourceName"))
22819	}
22820
22821	if invalidParams.Len() > 0 {
22822		return invalidParams
22823	}
22824	return nil
22825}
22826
22827// SetAvailabilityZone sets the AvailabilityZone field's value.
22828func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
22829	s.AvailabilityZone = &v
22830	return s
22831}
22832
22833// SetInstanceType sets the InstanceType field's value.
22834func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
22835	s.InstanceType = &v
22836	return s
22837}
22838
22839// SetPortInfoSource sets the PortInfoSource field's value.
22840func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
22841	s.PortInfoSource = &v
22842	return s
22843}
22844
22845// SetSourceName sets the SourceName field's value.
22846func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
22847	s.SourceName = &v
22848	return s
22849}
22850
22851// SetUserData sets the UserData field's value.
22852func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
22853	s.UserData = &v
22854	return s
22855}
22856
22857// Describes the hardware for the instance.
22858type InstanceHardware struct {
22859	_ struct{} `type:"structure"`
22860
22861	// The number of vCPUs the instance has.
22862	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
22863
22864	// The disks attached to the instance.
22865	Disks []*Disk `locationName:"disks" type:"list"`
22866
22867	// The amount of RAM in GB on the instance (e.g., 1.0).
22868	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
22869}
22870
22871// String returns the string representation
22872func (s InstanceHardware) String() string {
22873	return awsutil.Prettify(s)
22874}
22875
22876// GoString returns the string representation
22877func (s InstanceHardware) GoString() string {
22878	return s.String()
22879}
22880
22881// SetCpuCount sets the CpuCount field's value.
22882func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
22883	s.CpuCount = &v
22884	return s
22885}
22886
22887// SetDisks sets the Disks field's value.
22888func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
22889	s.Disks = v
22890	return s
22891}
22892
22893// SetRamSizeInGb sets the RamSizeInGb field's value.
22894func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
22895	s.RamSizeInGb = &v
22896	return s
22897}
22898
22899// Describes information about the health of the instance.
22900type InstanceHealthSummary struct {
22901	_ struct{} `type:"structure"`
22902
22903	// Describes the overall instance health. Valid values are below.
22904	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
22905
22906	// More information about the instance health. If the instanceHealth is healthy,
22907	// then an instanceHealthReason value is not provided.
22908	//
22909	// If instanceHealth is initial, the instanceHealthReason value can be one of
22910	// the following:
22911	//
22912	//    * Lb.RegistrationInProgress - The target instance is in the process of
22913	//    being registered with the load balancer.
22914	//
22915	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
22916	//    the target instance the minimum number of health checks required to determine
22917	//    its health status.
22918	//
22919	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
22920	// of the following:
22921	//
22922	//    * Instance.ResponseCodeMismatch - The health checks did not return an
22923	//    expected HTTP code.
22924	//
22925	//    * Instance.Timeout - The health check requests timed out.
22926	//
22927	//    * Instance.FailedHealthChecks - The health checks failed because the connection
22928	//    to the target instance timed out, the target instance response was malformed,
22929	//    or the target instance failed the health check for an unknown reason.
22930	//
22931	//    * Lb.InternalError - The health checks failed due to an internal error.
22932	//
22933	// If instanceHealth is unused, the instanceHealthReason value can be one of
22934	// the following:
22935	//
22936	//    * Instance.NotRegistered - The target instance is not registered with
22937	//    the target group.
22938	//
22939	//    * Instance.NotInUse - The target group is not used by any load balancer,
22940	//    or the target instance is in an Availability Zone that is not enabled
22941	//    for its load balancer.
22942	//
22943	//    * Instance.IpUnusable - The target IP address is reserved for use by a
22944	//    Lightsail load balancer.
22945	//
22946	//    * Instance.InvalidState - The target is in the stopped or terminated state.
22947	//
22948	// If instanceHealth is draining, the instanceHealthReason value can be one
22949	// of the following:
22950	//
22951	//    * Instance.DeregistrationInProgress - The target instance is in the process
22952	//    of being deregistered and the deregistration delay period has not expired.
22953	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
22954
22955	// The name of the Lightsail instance for which you are requesting health check
22956	// data.
22957	InstanceName *string `locationName:"instanceName" type:"string"`
22958}
22959
22960// String returns the string representation
22961func (s InstanceHealthSummary) String() string {
22962	return awsutil.Prettify(s)
22963}
22964
22965// GoString returns the string representation
22966func (s InstanceHealthSummary) GoString() string {
22967	return s.String()
22968}
22969
22970// SetInstanceHealth sets the InstanceHealth field's value.
22971func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
22972	s.InstanceHealth = &v
22973	return s
22974}
22975
22976// SetInstanceHealthReason sets the InstanceHealthReason field's value.
22977func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
22978	s.InstanceHealthReason = &v
22979	return s
22980}
22981
22982// SetInstanceName sets the InstanceName field's value.
22983func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
22984	s.InstanceName = &v
22985	return s
22986}
22987
22988// Describes monthly data transfer rates and port information for an instance.
22989type InstanceNetworking struct {
22990	_ struct{} `type:"structure"`
22991
22992	// The amount of data in GB allocated for monthly data transfers.
22993	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
22994
22995	// An array of key-value pairs containing information about the ports on the
22996	// instance.
22997	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
22998}
22999
23000// String returns the string representation
23001func (s InstanceNetworking) String() string {
23002	return awsutil.Prettify(s)
23003}
23004
23005// GoString returns the string representation
23006func (s InstanceNetworking) GoString() string {
23007	return s.String()
23008}
23009
23010// SetMonthlyTransfer sets the MonthlyTransfer field's value.
23011func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
23012	s.MonthlyTransfer = v
23013	return s
23014}
23015
23016// SetPorts sets the Ports field's value.
23017func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
23018	s.Ports = v
23019	return s
23020}
23021
23022// Describes information about the instance ports.
23023type InstancePortInfo struct {
23024	_ struct{} `type:"structure"`
23025
23026	// The access direction (inbound or outbound).
23027	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
23028
23029	// The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)).
23030	AccessFrom *string `locationName:"accessFrom" type:"string"`
23031
23032	// The type of access (Public or Private).
23033	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
23034
23035	// The common name.
23036	CommonName *string `locationName:"commonName" type:"string"`
23037
23038	// The first port in the range.
23039	FromPort *int64 `locationName:"fromPort" type:"integer"`
23040
23041	// The protocol being used. Can be one of the following.
23042	//
23043	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
23044	//    and error-checked delivery of streamed data between applications running
23045	//    on hosts communicating by an IP network. If you have an application that
23046	//    doesn't require reliable data stream service, use UDP instead.
23047	//
23048	//    * all - All transport layer protocol types. For more general information,
23049	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
23050	//    Wikipedia.
23051	//
23052	//    * udp - With User Datagram Protocol (UDP), computer applications can send
23053	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
23054	//    Prior communications are not required to set up transmission channels
23055	//    or data paths. Applications that don't require reliable data stream service
23056	//    can use UDP, which provides a connectionless datagram service that emphasizes
23057	//    reduced latency over reliability. If you do require reliable data stream
23058	//    service, use TCP instead.
23059	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
23060
23061	// The last port in the range.
23062	ToPort *int64 `locationName:"toPort" type:"integer"`
23063}
23064
23065// String returns the string representation
23066func (s InstancePortInfo) String() string {
23067	return awsutil.Prettify(s)
23068}
23069
23070// GoString returns the string representation
23071func (s InstancePortInfo) GoString() string {
23072	return s.String()
23073}
23074
23075// SetAccessDirection sets the AccessDirection field's value.
23076func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
23077	s.AccessDirection = &v
23078	return s
23079}
23080
23081// SetAccessFrom sets the AccessFrom field's value.
23082func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
23083	s.AccessFrom = &v
23084	return s
23085}
23086
23087// SetAccessType sets the AccessType field's value.
23088func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
23089	s.AccessType = &v
23090	return s
23091}
23092
23093// SetCommonName sets the CommonName field's value.
23094func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
23095	s.CommonName = &v
23096	return s
23097}
23098
23099// SetFromPort sets the FromPort field's value.
23100func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
23101	s.FromPort = &v
23102	return s
23103}
23104
23105// SetProtocol sets the Protocol field's value.
23106func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
23107	s.Protocol = &v
23108	return s
23109}
23110
23111// SetToPort sets the ToPort field's value.
23112func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
23113	s.ToPort = &v
23114	return s
23115}
23116
23117// Describes the port state.
23118type InstancePortState struct {
23119	_ struct{} `type:"structure"`
23120
23121	// The first port in the range.
23122	FromPort *int64 `locationName:"fromPort" type:"integer"`
23123
23124	// The protocol being used. Can be one of the following.
23125	//
23126	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
23127	//    and error-checked delivery of streamed data between applications running
23128	//    on hosts communicating by an IP network. If you have an application that
23129	//    doesn't require reliable data stream service, use UDP instead.
23130	//
23131	//    * all - All transport layer protocol types. For more general information,
23132	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
23133	//    Wikipedia.
23134	//
23135	//    * udp - With User Datagram Protocol (UDP), computer applications can send
23136	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
23137	//    Prior communications are not required to set up transmission channels
23138	//    or data paths. Applications that don't require reliable data stream service
23139	//    can use UDP, which provides a connectionless datagram service that emphasizes
23140	//    reduced latency over reliability. If you do require reliable data stream
23141	//    service, use TCP instead.
23142	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
23143
23144	// Specifies whether the instance port is open or closed.
23145	State *string `locationName:"state" type:"string" enum:"PortState"`
23146
23147	// The last port in the range.
23148	ToPort *int64 `locationName:"toPort" type:"integer"`
23149}
23150
23151// String returns the string representation
23152func (s InstancePortState) String() string {
23153	return awsutil.Prettify(s)
23154}
23155
23156// GoString returns the string representation
23157func (s InstancePortState) GoString() string {
23158	return s.String()
23159}
23160
23161// SetFromPort sets the FromPort field's value.
23162func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
23163	s.FromPort = &v
23164	return s
23165}
23166
23167// SetProtocol sets the Protocol field's value.
23168func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
23169	s.Protocol = &v
23170	return s
23171}
23172
23173// SetState sets the State field's value.
23174func (s *InstancePortState) SetState(v string) *InstancePortState {
23175	s.State = &v
23176	return s
23177}
23178
23179// SetToPort sets the ToPort field's value.
23180func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
23181	s.ToPort = &v
23182	return s
23183}
23184
23185// Describes an instance snapshot.
23186type InstanceSnapshot struct {
23187	_ struct{} `type:"structure"`
23188
23189	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
23190	Arn *string `locationName:"arn" type:"string"`
23191
23192	// The timestamp when the snapshot was created (e.g., 1479907467.024).
23193	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23194
23195	// An array of disk objects containing information about all block storage disks.
23196	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
23197
23198	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
23199	// A blueprint is a virtual private server (or instance) image used to create
23200	// instances quickly.
23201	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
23202
23203	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
23204	FromBundleId *string `locationName:"fromBundleId" type:"string"`
23205
23206	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
23207	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
23208	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
23209
23210	// The instance from which the snapshot was created.
23211	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
23212
23213	// A Boolean value indicating whether the snapshot was created from an automatic
23214	// snapshot.
23215	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
23216
23217	// The region name and Availability Zone where you created the snapshot.
23218	Location *ResourceLocation `locationName:"location" type:"structure"`
23219
23220	// The name of the snapshot.
23221	Name *string `locationName:"name" type:"string"`
23222
23223	// The progress of the snapshot.
23224	Progress *string `locationName:"progress" type:"string"`
23225
23226	// The type of resource (usually InstanceSnapshot).
23227	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23228
23229	// The size in GB of the SSD.
23230	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23231
23232	// The state the snapshot is in.
23233	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
23234
23235	// The support code. Include this code in your email to support when you have
23236	// questions about an instance or another resource in Lightsail. This code enables
23237	// our support team to look up your Lightsail information more easily.
23238	SupportCode *string `locationName:"supportCode" type:"string"`
23239
23240	// The tag keys and optional values for the resource. For more information about
23241	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23242	Tags []*Tag `locationName:"tags" type:"list"`
23243}
23244
23245// String returns the string representation
23246func (s InstanceSnapshot) String() string {
23247	return awsutil.Prettify(s)
23248}
23249
23250// GoString returns the string representation
23251func (s InstanceSnapshot) GoString() string {
23252	return s.String()
23253}
23254
23255// SetArn sets the Arn field's value.
23256func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
23257	s.Arn = &v
23258	return s
23259}
23260
23261// SetCreatedAt sets the CreatedAt field's value.
23262func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
23263	s.CreatedAt = &v
23264	return s
23265}
23266
23267// SetFromAttachedDisks sets the FromAttachedDisks field's value.
23268func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
23269	s.FromAttachedDisks = v
23270	return s
23271}
23272
23273// SetFromBlueprintId sets the FromBlueprintId field's value.
23274func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
23275	s.FromBlueprintId = &v
23276	return s
23277}
23278
23279// SetFromBundleId sets the FromBundleId field's value.
23280func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
23281	s.FromBundleId = &v
23282	return s
23283}
23284
23285// SetFromInstanceArn sets the FromInstanceArn field's value.
23286func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
23287	s.FromInstanceArn = &v
23288	return s
23289}
23290
23291// SetFromInstanceName sets the FromInstanceName field's value.
23292func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
23293	s.FromInstanceName = &v
23294	return s
23295}
23296
23297// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
23298func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
23299	s.IsFromAutoSnapshot = &v
23300	return s
23301}
23302
23303// SetLocation sets the Location field's value.
23304func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
23305	s.Location = v
23306	return s
23307}
23308
23309// SetName sets the Name field's value.
23310func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
23311	s.Name = &v
23312	return s
23313}
23314
23315// SetProgress sets the Progress field's value.
23316func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
23317	s.Progress = &v
23318	return s
23319}
23320
23321// SetResourceType sets the ResourceType field's value.
23322func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
23323	s.ResourceType = &v
23324	return s
23325}
23326
23327// SetSizeInGb sets the SizeInGb field's value.
23328func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
23329	s.SizeInGb = &v
23330	return s
23331}
23332
23333// SetState sets the State field's value.
23334func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
23335	s.State = &v
23336	return s
23337}
23338
23339// SetSupportCode sets the SupportCode field's value.
23340func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
23341	s.SupportCode = &v
23342	return s
23343}
23344
23345// SetTags sets the Tags field's value.
23346func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
23347	s.Tags = v
23348	return s
23349}
23350
23351// Describes an instance snapshot.
23352type InstanceSnapshotInfo struct {
23353	_ struct{} `type:"structure"`
23354
23355	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
23356	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
23357
23358	// The bundle ID from which the source instance was created (e.g., micro_1_0).
23359	FromBundleId *string `locationName:"fromBundleId" type:"string"`
23360
23361	// A list of objects describing the disks that were attached to the source instance.
23362	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
23363}
23364
23365// String returns the string representation
23366func (s InstanceSnapshotInfo) String() string {
23367	return awsutil.Prettify(s)
23368}
23369
23370// GoString returns the string representation
23371func (s InstanceSnapshotInfo) GoString() string {
23372	return s.String()
23373}
23374
23375// SetFromBlueprintId sets the FromBlueprintId field's value.
23376func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
23377	s.FromBlueprintId = &v
23378	return s
23379}
23380
23381// SetFromBundleId sets the FromBundleId field's value.
23382func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
23383	s.FromBundleId = &v
23384	return s
23385}
23386
23387// SetFromDiskInfo sets the FromDiskInfo field's value.
23388func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
23389	s.FromDiskInfo = v
23390	return s
23391}
23392
23393// Describes the virtual private server (or instance) status.
23394type InstanceState struct {
23395	_ struct{} `type:"structure"`
23396
23397	// The status code for the instance.
23398	Code *int64 `locationName:"code" type:"integer"`
23399
23400	// The state of the instance (e.g., running or pending).
23401	Name *string `locationName:"name" type:"string"`
23402}
23403
23404// String returns the string representation
23405func (s InstanceState) String() string {
23406	return awsutil.Prettify(s)
23407}
23408
23409// GoString returns the string representation
23410func (s InstanceState) GoString() string {
23411	return s.String()
23412}
23413
23414// SetCode sets the Code field's value.
23415func (s *InstanceState) SetCode(v int64) *InstanceState {
23416	s.Code = &v
23417	return s
23418}
23419
23420// SetName sets the Name field's value.
23421func (s *InstanceState) SetName(v string) *InstanceState {
23422	s.Name = &v
23423	return s
23424}
23425
23426// Lightsail throws this exception when user input does not conform to the validation
23427// rules of an input field.
23428//
23429// Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
23430// Please set your AWS Region configuration to us-east-1 to create, view, or
23431// edit these resources.
23432type InvalidInputException struct {
23433	_            struct{} `type:"structure"`
23434	respMetadata protocol.ResponseMetadata
23435
23436	Code_ *string `locationName:"code" type:"string"`
23437
23438	Docs *string `locationName:"docs" type:"string"`
23439
23440	Message_ *string `locationName:"message" type:"string"`
23441
23442	Tip *string `locationName:"tip" type:"string"`
23443}
23444
23445// String returns the string representation
23446func (s InvalidInputException) String() string {
23447	return awsutil.Prettify(s)
23448}
23449
23450// GoString returns the string representation
23451func (s InvalidInputException) GoString() string {
23452	return s.String()
23453}
23454
23455func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
23456	return &InvalidInputException{
23457		respMetadata: v,
23458	}
23459}
23460
23461// Code returns the exception type name.
23462func (s InvalidInputException) Code() string {
23463	return "InvalidInputException"
23464}
23465
23466// Message returns the exception's message.
23467func (s InvalidInputException) Message() string {
23468	if s.Message_ != nil {
23469		return *s.Message_
23470	}
23471	return ""
23472}
23473
23474// OrigErr always returns nil, satisfies awserr.Error interface.
23475func (s InvalidInputException) OrigErr() error {
23476	return nil
23477}
23478
23479func (s InvalidInputException) Error() string {
23480	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23481}
23482
23483// Status code returns the HTTP status code for the request's response error.
23484func (s InvalidInputException) StatusCode() int {
23485	return s.respMetadata.StatusCode
23486}
23487
23488// RequestID returns the service's response RequestID for request.
23489func (s InvalidInputException) RequestID() string {
23490	return s.respMetadata.RequestID
23491}
23492
23493type IsVpcPeeredInput struct {
23494	_ struct{} `type:"structure"`
23495}
23496
23497// String returns the string representation
23498func (s IsVpcPeeredInput) String() string {
23499	return awsutil.Prettify(s)
23500}
23501
23502// GoString returns the string representation
23503func (s IsVpcPeeredInput) GoString() string {
23504	return s.String()
23505}
23506
23507type IsVpcPeeredOutput struct {
23508	_ struct{} `type:"structure"`
23509
23510	// Returns true if the Lightsail VPC is peered; otherwise, false.
23511	IsPeered *bool `locationName:"isPeered" type:"boolean"`
23512}
23513
23514// String returns the string representation
23515func (s IsVpcPeeredOutput) String() string {
23516	return awsutil.Prettify(s)
23517}
23518
23519// GoString returns the string representation
23520func (s IsVpcPeeredOutput) GoString() string {
23521	return s.String()
23522}
23523
23524// SetIsPeered sets the IsPeered field's value.
23525func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
23526	s.IsPeered = &v
23527	return s
23528}
23529
23530// Describes the SSH key pair.
23531type KeyPair struct {
23532	_ struct{} `type:"structure"`
23533
23534	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
23535	Arn *string `locationName:"arn" type:"string"`
23536
23537	// The timestamp when the key pair was created (e.g., 1479816991.349).
23538	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23539
23540	// The RSA fingerprint of the key pair.
23541	Fingerprint *string `locationName:"fingerprint" type:"string"`
23542
23543	// The region name and Availability Zone where the key pair was created.
23544	Location *ResourceLocation `locationName:"location" type:"structure"`
23545
23546	// The friendly name of the SSH key pair.
23547	Name *string `locationName:"name" type:"string"`
23548
23549	// The resource type (usually KeyPair).
23550	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23551
23552	// The support code. Include this code in your email to support when you have
23553	// questions about an instance or another resource in Lightsail. This code enables
23554	// our support team to look up your Lightsail information more easily.
23555	SupportCode *string `locationName:"supportCode" type:"string"`
23556
23557	// The tag keys and optional values for the resource. For more information about
23558	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23559	Tags []*Tag `locationName:"tags" type:"list"`
23560}
23561
23562// String returns the string representation
23563func (s KeyPair) String() string {
23564	return awsutil.Prettify(s)
23565}
23566
23567// GoString returns the string representation
23568func (s KeyPair) GoString() string {
23569	return s.String()
23570}
23571
23572// SetArn sets the Arn field's value.
23573func (s *KeyPair) SetArn(v string) *KeyPair {
23574	s.Arn = &v
23575	return s
23576}
23577
23578// SetCreatedAt sets the CreatedAt field's value.
23579func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
23580	s.CreatedAt = &v
23581	return s
23582}
23583
23584// SetFingerprint sets the Fingerprint field's value.
23585func (s *KeyPair) SetFingerprint(v string) *KeyPair {
23586	s.Fingerprint = &v
23587	return s
23588}
23589
23590// SetLocation sets the Location field's value.
23591func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
23592	s.Location = v
23593	return s
23594}
23595
23596// SetName sets the Name field's value.
23597func (s *KeyPair) SetName(v string) *KeyPair {
23598	s.Name = &v
23599	return s
23600}
23601
23602// SetResourceType sets the ResourceType field's value.
23603func (s *KeyPair) SetResourceType(v string) *KeyPair {
23604	s.ResourceType = &v
23605	return s
23606}
23607
23608// SetSupportCode sets the SupportCode field's value.
23609func (s *KeyPair) SetSupportCode(v string) *KeyPair {
23610	s.SupportCode = &v
23611	return s
23612}
23613
23614// SetTags sets the Tags field's value.
23615func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
23616	s.Tags = v
23617	return s
23618}
23619
23620// Describes the Lightsail load balancer.
23621type LoadBalancer struct {
23622	_ struct{} `type:"structure"`
23623
23624	// The Amazon Resource Name (ARN) of the load balancer.
23625	Arn *string `locationName:"arn" type:"string"`
23626
23627	// A string to string map of the configuration options for your load balancer.
23628	// Valid values are listed below.
23629	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
23630
23631	// The date when your load balancer was created.
23632	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23633
23634	// The DNS name of your Lightsail load balancer.
23635	DnsName *string `locationName:"dnsName" type:"string"`
23636
23637	// The path you specified to perform your health checks. If no path is specified,
23638	// the load balancer tries to make a request to the default (root) page.
23639	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
23640
23641	// An array of InstanceHealthSummary objects describing the health of the load
23642	// balancer.
23643	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
23644
23645	// The port where the load balancer will direct traffic to your Lightsail instances.
23646	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
23647	InstancePort *int64 `locationName:"instancePort" type:"integer"`
23648
23649	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
23650	// automatically creates your load balancer across Availability Zones.
23651	Location *ResourceLocation `locationName:"location" type:"structure"`
23652
23653	// The name of the load balancer (e.g., my-load-balancer).
23654	Name *string `locationName:"name" type:"string"`
23655
23656	// The protocol you have enabled for your load balancer. Valid values are below.
23657	//
23658	// You can't just have HTTP_HTTPS, but you can have just HTTP.
23659	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
23660
23661	// An array of public port settings for your load balancer. For HTTP, use port
23662	// 80. For HTTPS, use port 443.
23663	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
23664
23665	// The resource type (e.g., LoadBalancer.
23666	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23667
23668	// The status of your load balancer. Valid values are below.
23669	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
23670
23671	// The support code. Include this code in your email to support when you have
23672	// questions about your Lightsail load balancer. This code enables our support
23673	// team to look up your Lightsail information more easily.
23674	SupportCode *string `locationName:"supportCode" type:"string"`
23675
23676	// The tag keys and optional values for the resource. For more information about
23677	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23678	Tags []*Tag `locationName:"tags" type:"list"`
23679
23680	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
23681	// information about the SSL/TLS certificates. For example, if true, the certificate
23682	// is attached to the load balancer.
23683	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
23684}
23685
23686// String returns the string representation
23687func (s LoadBalancer) String() string {
23688	return awsutil.Prettify(s)
23689}
23690
23691// GoString returns the string representation
23692func (s LoadBalancer) GoString() string {
23693	return s.String()
23694}
23695
23696// SetArn sets the Arn field's value.
23697func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
23698	s.Arn = &v
23699	return s
23700}
23701
23702// SetConfigurationOptions sets the ConfigurationOptions field's value.
23703func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
23704	s.ConfigurationOptions = v
23705	return s
23706}
23707
23708// SetCreatedAt sets the CreatedAt field's value.
23709func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
23710	s.CreatedAt = &v
23711	return s
23712}
23713
23714// SetDnsName sets the DnsName field's value.
23715func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
23716	s.DnsName = &v
23717	return s
23718}
23719
23720// SetHealthCheckPath sets the HealthCheckPath field's value.
23721func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
23722	s.HealthCheckPath = &v
23723	return s
23724}
23725
23726// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
23727func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
23728	s.InstanceHealthSummary = v
23729	return s
23730}
23731
23732// SetInstancePort sets the InstancePort field's value.
23733func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
23734	s.InstancePort = &v
23735	return s
23736}
23737
23738// SetLocation sets the Location field's value.
23739func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
23740	s.Location = v
23741	return s
23742}
23743
23744// SetName sets the Name field's value.
23745func (s *LoadBalancer) SetName(v string) *LoadBalancer {
23746	s.Name = &v
23747	return s
23748}
23749
23750// SetProtocol sets the Protocol field's value.
23751func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
23752	s.Protocol = &v
23753	return s
23754}
23755
23756// SetPublicPorts sets the PublicPorts field's value.
23757func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
23758	s.PublicPorts = v
23759	return s
23760}
23761
23762// SetResourceType sets the ResourceType field's value.
23763func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
23764	s.ResourceType = &v
23765	return s
23766}
23767
23768// SetState sets the State field's value.
23769func (s *LoadBalancer) SetState(v string) *LoadBalancer {
23770	s.State = &v
23771	return s
23772}
23773
23774// SetSupportCode sets the SupportCode field's value.
23775func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
23776	s.SupportCode = &v
23777	return s
23778}
23779
23780// SetTags sets the Tags field's value.
23781func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
23782	s.Tags = v
23783	return s
23784}
23785
23786// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
23787func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
23788	s.TlsCertificateSummaries = v
23789	return s
23790}
23791
23792// Describes a load balancer SSL/TLS certificate.
23793//
23794// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
23795type LoadBalancerTlsCertificate struct {
23796	_ struct{} `type:"structure"`
23797
23798	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
23799	Arn *string `locationName:"arn" type:"string"`
23800
23801	// The time when you created your SSL/TLS certificate.
23802	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23803
23804	// The domain name for your SSL/TLS certificate.
23805	DomainName *string `locationName:"domainName" type:"string"`
23806
23807	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
23808	// the records.
23809	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
23810
23811	// The reason for the SSL/TLS certificate validation failure.
23812	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
23813
23814	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
23815	IsAttached *bool `locationName:"isAttached" type:"boolean"`
23816
23817	// The time when the SSL/TLS certificate was issued.
23818	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
23819
23820	// The issuer of the certificate.
23821	Issuer *string `locationName:"issuer" type:"string"`
23822
23823	// The algorithm that was used to generate the key pair (the public and private
23824	// key).
23825	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
23826
23827	// The load balancer name where your SSL/TLS certificate is attached.
23828	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
23829
23830	// The AWS Region and Availability Zone where you created your certificate.
23831	Location *ResourceLocation `locationName:"location" type:"structure"`
23832
23833	// The name of the SSL/TLS certificate (e.g., my-certificate).
23834	Name *string `locationName:"name" type:"string"`
23835
23836	// The timestamp when the SSL/TLS certificate expires.
23837	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
23838
23839	// The timestamp when the SSL/TLS certificate is first valid.
23840	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
23841
23842	// An object containing information about the status of Lightsail's managed
23843	// renewal for the certificate.
23844	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
23845
23846	// The resource type (e.g., LoadBalancerTlsCertificate).
23847	//
23848	//    * Instance - A Lightsail instance (a virtual private server)
23849	//
23850	//    * StaticIp - A static IP address
23851	//
23852	//    * KeyPair - The key pair used to connect to a Lightsail instance
23853	//
23854	//    * InstanceSnapshot - A Lightsail instance snapshot
23855	//
23856	//    * Domain - A DNS zone
23857	//
23858	//    * PeeredVpc - A peered VPC
23859	//
23860	//    * LoadBalancer - A Lightsail load balancer
23861	//
23862	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
23863	//    a Lightsail load balancer
23864	//
23865	//    * Disk - A Lightsail block storage disk
23866	//
23867	//    * DiskSnapshot - A block storage disk snapshot
23868	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23869
23870	// The reason the certificate was revoked. Valid values are below.
23871	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
23872
23873	// The timestamp when the SSL/TLS certificate was revoked.
23874	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
23875
23876	// The serial number of the certificate.
23877	Serial *string `locationName:"serial" type:"string"`
23878
23879	// The algorithm that was used to sign the certificate.
23880	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
23881
23882	// The status of the SSL/TLS certificate. Valid values are below.
23883	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
23884
23885	// The name of the entity that is associated with the public key contained in
23886	// the certificate.
23887	Subject *string `locationName:"subject" type:"string"`
23888
23889	// One or more domains or subdomains included in the certificate. This list
23890	// contains the domain names that are bound to the public key that is contained
23891	// in the certificate. The subject alternative names include the canonical domain
23892	// name (CNAME) of the certificate and additional domain names that can be used
23893	// to connect to the website, such as example.com, www.example.com, or m.example.com.
23894	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
23895
23896	// The support code. Include this code in your email to support when you have
23897	// questions about your Lightsail load balancer or SSL/TLS certificate. This
23898	// code enables our support team to look up your Lightsail information more
23899	// easily.
23900	SupportCode *string `locationName:"supportCode" type:"string"`
23901
23902	// The tag keys and optional values for the resource. For more information about
23903	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23904	Tags []*Tag `locationName:"tags" type:"list"`
23905}
23906
23907// String returns the string representation
23908func (s LoadBalancerTlsCertificate) String() string {
23909	return awsutil.Prettify(s)
23910}
23911
23912// GoString returns the string representation
23913func (s LoadBalancerTlsCertificate) GoString() string {
23914	return s.String()
23915}
23916
23917// SetArn sets the Arn field's value.
23918func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
23919	s.Arn = &v
23920	return s
23921}
23922
23923// SetCreatedAt sets the CreatedAt field's value.
23924func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
23925	s.CreatedAt = &v
23926	return s
23927}
23928
23929// SetDomainName sets the DomainName field's value.
23930func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
23931	s.DomainName = &v
23932	return s
23933}
23934
23935// SetDomainValidationRecords sets the DomainValidationRecords field's value.
23936func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
23937	s.DomainValidationRecords = v
23938	return s
23939}
23940
23941// SetFailureReason sets the FailureReason field's value.
23942func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
23943	s.FailureReason = &v
23944	return s
23945}
23946
23947// SetIsAttached sets the IsAttached field's value.
23948func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
23949	s.IsAttached = &v
23950	return s
23951}
23952
23953// SetIssuedAt sets the IssuedAt field's value.
23954func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
23955	s.IssuedAt = &v
23956	return s
23957}
23958
23959// SetIssuer sets the Issuer field's value.
23960func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
23961	s.Issuer = &v
23962	return s
23963}
23964
23965// SetKeyAlgorithm sets the KeyAlgorithm field's value.
23966func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
23967	s.KeyAlgorithm = &v
23968	return s
23969}
23970
23971// SetLoadBalancerName sets the LoadBalancerName field's value.
23972func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
23973	s.LoadBalancerName = &v
23974	return s
23975}
23976
23977// SetLocation sets the Location field's value.
23978func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
23979	s.Location = v
23980	return s
23981}
23982
23983// SetName sets the Name field's value.
23984func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
23985	s.Name = &v
23986	return s
23987}
23988
23989// SetNotAfter sets the NotAfter field's value.
23990func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
23991	s.NotAfter = &v
23992	return s
23993}
23994
23995// SetNotBefore sets the NotBefore field's value.
23996func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
23997	s.NotBefore = &v
23998	return s
23999}
24000
24001// SetRenewalSummary sets the RenewalSummary field's value.
24002func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
24003	s.RenewalSummary = v
24004	return s
24005}
24006
24007// SetResourceType sets the ResourceType field's value.
24008func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
24009	s.ResourceType = &v
24010	return s
24011}
24012
24013// SetRevocationReason sets the RevocationReason field's value.
24014func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
24015	s.RevocationReason = &v
24016	return s
24017}
24018
24019// SetRevokedAt sets the RevokedAt field's value.
24020func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
24021	s.RevokedAt = &v
24022	return s
24023}
24024
24025// SetSerial sets the Serial field's value.
24026func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
24027	s.Serial = &v
24028	return s
24029}
24030
24031// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
24032func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
24033	s.SignatureAlgorithm = &v
24034	return s
24035}
24036
24037// SetStatus sets the Status field's value.
24038func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
24039	s.Status = &v
24040	return s
24041}
24042
24043// SetSubject sets the Subject field's value.
24044func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
24045	s.Subject = &v
24046	return s
24047}
24048
24049// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
24050func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
24051	s.SubjectAlternativeNames = v
24052	return s
24053}
24054
24055// SetSupportCode sets the SupportCode field's value.
24056func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
24057	s.SupportCode = &v
24058	return s
24059}
24060
24061// SetTags sets the Tags field's value.
24062func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
24063	s.Tags = v
24064	return s
24065}
24066
24067// Contains information about the domain names on an SSL/TLS certificate that
24068// you will use to validate domain ownership.
24069type LoadBalancerTlsCertificateDomainValidationOption struct {
24070	_ struct{} `type:"structure"`
24071
24072	// The fully qualified domain name in the certificate request.
24073	DomainName *string `locationName:"domainName" type:"string"`
24074
24075	// The status of the domain validation. Valid values are listed below.
24076	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
24077}
24078
24079// String returns the string representation
24080func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
24081	return awsutil.Prettify(s)
24082}
24083
24084// GoString returns the string representation
24085func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
24086	return s.String()
24087}
24088
24089// SetDomainName sets the DomainName field's value.
24090func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
24091	s.DomainName = &v
24092	return s
24093}
24094
24095// SetValidationStatus sets the ValidationStatus field's value.
24096func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
24097	s.ValidationStatus = &v
24098	return s
24099}
24100
24101// Describes the validation record of each domain name in the SSL/TLS certificate.
24102type LoadBalancerTlsCertificateDomainValidationRecord struct {
24103	_ struct{} `type:"structure"`
24104
24105	// The domain name against which your SSL/TLS certificate was validated.
24106	DomainName *string `locationName:"domainName" type:"string"`
24107
24108	// A fully qualified domain name in the certificate. For example, example.com.
24109	Name *string `locationName:"name" type:"string"`
24110
24111	// The type of validation record. For example, CNAME for domain validation.
24112	Type *string `locationName:"type" type:"string"`
24113
24114	// The validation status. Valid values are listed below.
24115	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
24116
24117	// The value for that type.
24118	Value *string `locationName:"value" type:"string"`
24119}
24120
24121// String returns the string representation
24122func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
24123	return awsutil.Prettify(s)
24124}
24125
24126// GoString returns the string representation
24127func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
24128	return s.String()
24129}
24130
24131// SetDomainName sets the DomainName field's value.
24132func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
24133	s.DomainName = &v
24134	return s
24135}
24136
24137// SetName sets the Name field's value.
24138func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
24139	s.Name = &v
24140	return s
24141}
24142
24143// SetType sets the Type field's value.
24144func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
24145	s.Type = &v
24146	return s
24147}
24148
24149// SetValidationStatus sets the ValidationStatus field's value.
24150func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
24151	s.ValidationStatus = &v
24152	return s
24153}
24154
24155// SetValue sets the Value field's value.
24156func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
24157	s.Value = &v
24158	return s
24159}
24160
24161// Contains information about the status of Lightsail's managed renewal for
24162// the certificate.
24163type LoadBalancerTlsCertificateRenewalSummary struct {
24164	_ struct{} `type:"structure"`
24165
24166	// Contains information about the validation of each domain name in the certificate,
24167	// as it pertains to Lightsail's managed renewal. This is different from the
24168	// initial validation that occurs as a result of the RequestCertificate request.
24169	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
24170
24171	// The status of Lightsail's managed renewal of the certificate. Valid values
24172	// are listed below.
24173	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
24174}
24175
24176// String returns the string representation
24177func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
24178	return awsutil.Prettify(s)
24179}
24180
24181// GoString returns the string representation
24182func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
24183	return s.String()
24184}
24185
24186// SetDomainValidationOptions sets the DomainValidationOptions field's value.
24187func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
24188	s.DomainValidationOptions = v
24189	return s
24190}
24191
24192// SetRenewalStatus sets the RenewalStatus field's value.
24193func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
24194	s.RenewalStatus = &v
24195	return s
24196}
24197
24198// Provides a summary of SSL/TLS certificate metadata.
24199type LoadBalancerTlsCertificateSummary struct {
24200	_ struct{} `type:"structure"`
24201
24202	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
24203	IsAttached *bool `locationName:"isAttached" type:"boolean"`
24204
24205	// The name of the SSL/TLS certificate.
24206	Name *string `locationName:"name" type:"string"`
24207}
24208
24209// String returns the string representation
24210func (s LoadBalancerTlsCertificateSummary) String() string {
24211	return awsutil.Prettify(s)
24212}
24213
24214// GoString returns the string representation
24215func (s LoadBalancerTlsCertificateSummary) GoString() string {
24216	return s.String()
24217}
24218
24219// SetIsAttached sets the IsAttached field's value.
24220func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
24221	s.IsAttached = &v
24222	return s
24223}
24224
24225// SetName sets the Name field's value.
24226func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
24227	s.Name = &v
24228	return s
24229}
24230
24231// Describes a database log event.
24232type LogEvent struct {
24233	_ struct{} `type:"structure"`
24234
24235	// The timestamp when the database log event was created.
24236	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
24237
24238	// The message of the database log event.
24239	Message *string `locationName:"message" type:"string"`
24240}
24241
24242// String returns the string representation
24243func (s LogEvent) String() string {
24244	return awsutil.Prettify(s)
24245}
24246
24247// GoString returns the string representation
24248func (s LogEvent) GoString() string {
24249	return s.String()
24250}
24251
24252// SetCreatedAt sets the CreatedAt field's value.
24253func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
24254	s.CreatedAt = &v
24255	return s
24256}
24257
24258// SetMessage sets the Message field's value.
24259func (s *LogEvent) SetMessage(v string) *LogEvent {
24260	s.Message = &v
24261	return s
24262}
24263
24264// Describes the metric data point.
24265type MetricDatapoint struct {
24266	_ struct{} `type:"structure"`
24267
24268	// The average.
24269	Average *float64 `locationName:"average" type:"double"`
24270
24271	// The maximum.
24272	Maximum *float64 `locationName:"maximum" type:"double"`
24273
24274	// The minimum.
24275	Minimum *float64 `locationName:"minimum" type:"double"`
24276
24277	// The sample count.
24278	SampleCount *float64 `locationName:"sampleCount" type:"double"`
24279
24280	// The sum.
24281	Sum *float64 `locationName:"sum" type:"double"`
24282
24283	// The timestamp (e.g., 1479816991.349).
24284	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
24285
24286	// The unit.
24287	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
24288}
24289
24290// String returns the string representation
24291func (s MetricDatapoint) String() string {
24292	return awsutil.Prettify(s)
24293}
24294
24295// GoString returns the string representation
24296func (s MetricDatapoint) GoString() string {
24297	return s.String()
24298}
24299
24300// SetAverage sets the Average field's value.
24301func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
24302	s.Average = &v
24303	return s
24304}
24305
24306// SetMaximum sets the Maximum field's value.
24307func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
24308	s.Maximum = &v
24309	return s
24310}
24311
24312// SetMinimum sets the Minimum field's value.
24313func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
24314	s.Minimum = &v
24315	return s
24316}
24317
24318// SetSampleCount sets the SampleCount field's value.
24319func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
24320	s.SampleCount = &v
24321	return s
24322}
24323
24324// SetSum sets the Sum field's value.
24325func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
24326	s.Sum = &v
24327	return s
24328}
24329
24330// SetTimestamp sets the Timestamp field's value.
24331func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
24332	s.Timestamp = &v
24333	return s
24334}
24335
24336// SetUnit sets the Unit field's value.
24337func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
24338	s.Unit = &v
24339	return s
24340}
24341
24342// Describes resource being monitored by an alarm.
24343//
24344// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
24345// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
24346type MonitoredResourceInfo struct {
24347	_ struct{} `type:"structure"`
24348
24349	// The Amazon Resource Name (ARN) of the resource being monitored.
24350	Arn *string `locationName:"arn" type:"string"`
24351
24352	// The name of the Lightsail resource being monitored.
24353	Name *string `locationName:"name" type:"string"`
24354
24355	// The Lightsail resource type of the resource being monitored.
24356	//
24357	// Instances, load balancers, and relational databases are the only Lightsail
24358	// resources that can currently be monitored by alarms.
24359	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
24360}
24361
24362// String returns the string representation
24363func (s MonitoredResourceInfo) String() string {
24364	return awsutil.Prettify(s)
24365}
24366
24367// GoString returns the string representation
24368func (s MonitoredResourceInfo) GoString() string {
24369	return s.String()
24370}
24371
24372// SetArn sets the Arn field's value.
24373func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
24374	s.Arn = &v
24375	return s
24376}
24377
24378// SetName sets the Name field's value.
24379func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
24380	s.Name = &v
24381	return s
24382}
24383
24384// SetResourceType sets the ResourceType field's value.
24385func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
24386	s.ResourceType = &v
24387	return s
24388}
24389
24390// Describes the monthly data transfer in and out of your virtual private server
24391// (or instance).
24392type MonthlyTransfer struct {
24393	_ struct{} `type:"structure"`
24394
24395	// The amount allocated per month (in GB).
24396	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
24397}
24398
24399// String returns the string representation
24400func (s MonthlyTransfer) String() string {
24401	return awsutil.Prettify(s)
24402}
24403
24404// GoString returns the string representation
24405func (s MonthlyTransfer) GoString() string {
24406	return s.String()
24407}
24408
24409// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
24410func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
24411	s.GbPerMonthAllocated = &v
24412	return s
24413}
24414
24415// Lightsail throws this exception when it cannot find a resource.
24416type NotFoundException struct {
24417	_            struct{} `type:"structure"`
24418	respMetadata protocol.ResponseMetadata
24419
24420	Code_ *string `locationName:"code" type:"string"`
24421
24422	Docs *string `locationName:"docs" type:"string"`
24423
24424	Message_ *string `locationName:"message" type:"string"`
24425
24426	Tip *string `locationName:"tip" type:"string"`
24427}
24428
24429// String returns the string representation
24430func (s NotFoundException) String() string {
24431	return awsutil.Prettify(s)
24432}
24433
24434// GoString returns the string representation
24435func (s NotFoundException) GoString() string {
24436	return s.String()
24437}
24438
24439func newErrorNotFoundException(v protocol.ResponseMetadata) error {
24440	return &NotFoundException{
24441		respMetadata: v,
24442	}
24443}
24444
24445// Code returns the exception type name.
24446func (s NotFoundException) Code() string {
24447	return "NotFoundException"
24448}
24449
24450// Message returns the exception's message.
24451func (s NotFoundException) Message() string {
24452	if s.Message_ != nil {
24453		return *s.Message_
24454	}
24455	return ""
24456}
24457
24458// OrigErr always returns nil, satisfies awserr.Error interface.
24459func (s NotFoundException) OrigErr() error {
24460	return nil
24461}
24462
24463func (s NotFoundException) Error() string {
24464	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
24465}
24466
24467// Status code returns the HTTP status code for the request's response error.
24468func (s NotFoundException) StatusCode() int {
24469	return s.respMetadata.StatusCode
24470}
24471
24472// RequestID returns the service's response RequestID for request.
24473func (s NotFoundException) RequestID() string {
24474	return s.respMetadata.RequestID
24475}
24476
24477type OpenInstancePublicPortsInput struct {
24478	_ struct{} `type:"structure"`
24479
24480	// The name of the instance for which you want to open the public ports.
24481	//
24482	// InstanceName is a required field
24483	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
24484
24485	// An array of key-value pairs containing information about the port mappings.
24486	//
24487	// PortInfo is a required field
24488	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
24489}
24490
24491// String returns the string representation
24492func (s OpenInstancePublicPortsInput) String() string {
24493	return awsutil.Prettify(s)
24494}
24495
24496// GoString returns the string representation
24497func (s OpenInstancePublicPortsInput) GoString() string {
24498	return s.String()
24499}
24500
24501// Validate inspects the fields of the type to determine if they are valid.
24502func (s *OpenInstancePublicPortsInput) Validate() error {
24503	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
24504	if s.InstanceName == nil {
24505		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
24506	}
24507	if s.PortInfo == nil {
24508		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
24509	}
24510
24511	if invalidParams.Len() > 0 {
24512		return invalidParams
24513	}
24514	return nil
24515}
24516
24517// SetInstanceName sets the InstanceName field's value.
24518func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
24519	s.InstanceName = &v
24520	return s
24521}
24522
24523// SetPortInfo sets the PortInfo field's value.
24524func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
24525	s.PortInfo = v
24526	return s
24527}
24528
24529type OpenInstancePublicPortsOutput struct {
24530	_ struct{} `type:"structure"`
24531
24532	// An array of objects that describe the result of the action, such as the status
24533	// of the request, the time stamp of the request, and the resources affected
24534	// by the request.
24535	Operation *Operation `locationName:"operation" type:"structure"`
24536}
24537
24538// String returns the string representation
24539func (s OpenInstancePublicPortsOutput) String() string {
24540	return awsutil.Prettify(s)
24541}
24542
24543// GoString returns the string representation
24544func (s OpenInstancePublicPortsOutput) GoString() string {
24545	return s.String()
24546}
24547
24548// SetOperation sets the Operation field's value.
24549func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
24550	s.Operation = v
24551	return s
24552}
24553
24554// Describes the API operation.
24555type Operation struct {
24556	_ struct{} `type:"structure"`
24557
24558	// The timestamp when the operation was initialized (e.g., 1479816991.349).
24559	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
24560
24561	// The error code.
24562	ErrorCode *string `locationName:"errorCode" type:"string"`
24563
24564	// The error details.
24565	ErrorDetails *string `locationName:"errorDetails" type:"string"`
24566
24567	// The ID of the operation.
24568	Id *string `locationName:"id" type:"string"`
24569
24570	// A Boolean value indicating whether the operation is terminal.
24571	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
24572
24573	// The AWS Region and Availability Zone.
24574	Location *ResourceLocation `locationName:"location" type:"structure"`
24575
24576	// Details about the operation (e.g., Debian-1GB-Ohio-1).
24577	OperationDetails *string `locationName:"operationDetails" type:"string"`
24578
24579	// The type of operation.
24580	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
24581
24582	// The resource name.
24583	ResourceName *string `locationName:"resourceName" type:"string"`
24584
24585	// The resource type.
24586	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
24587
24588	// The status of the operation.
24589	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
24590
24591	// The timestamp when the status was changed (e.g., 1479816991.349).
24592	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
24593}
24594
24595// String returns the string representation
24596func (s Operation) String() string {
24597	return awsutil.Prettify(s)
24598}
24599
24600// GoString returns the string representation
24601func (s Operation) GoString() string {
24602	return s.String()
24603}
24604
24605// SetCreatedAt sets the CreatedAt field's value.
24606func (s *Operation) SetCreatedAt(v time.Time) *Operation {
24607	s.CreatedAt = &v
24608	return s
24609}
24610
24611// SetErrorCode sets the ErrorCode field's value.
24612func (s *Operation) SetErrorCode(v string) *Operation {
24613	s.ErrorCode = &v
24614	return s
24615}
24616
24617// SetErrorDetails sets the ErrorDetails field's value.
24618func (s *Operation) SetErrorDetails(v string) *Operation {
24619	s.ErrorDetails = &v
24620	return s
24621}
24622
24623// SetId sets the Id field's value.
24624func (s *Operation) SetId(v string) *Operation {
24625	s.Id = &v
24626	return s
24627}
24628
24629// SetIsTerminal sets the IsTerminal field's value.
24630func (s *Operation) SetIsTerminal(v bool) *Operation {
24631	s.IsTerminal = &v
24632	return s
24633}
24634
24635// SetLocation sets the Location field's value.
24636func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
24637	s.Location = v
24638	return s
24639}
24640
24641// SetOperationDetails sets the OperationDetails field's value.
24642func (s *Operation) SetOperationDetails(v string) *Operation {
24643	s.OperationDetails = &v
24644	return s
24645}
24646
24647// SetOperationType sets the OperationType field's value.
24648func (s *Operation) SetOperationType(v string) *Operation {
24649	s.OperationType = &v
24650	return s
24651}
24652
24653// SetResourceName sets the ResourceName field's value.
24654func (s *Operation) SetResourceName(v string) *Operation {
24655	s.ResourceName = &v
24656	return s
24657}
24658
24659// SetResourceType sets the ResourceType field's value.
24660func (s *Operation) SetResourceType(v string) *Operation {
24661	s.ResourceType = &v
24662	return s
24663}
24664
24665// SetStatus sets the Status field's value.
24666func (s *Operation) SetStatus(v string) *Operation {
24667	s.Status = &v
24668	return s
24669}
24670
24671// SetStatusChangedAt sets the StatusChangedAt field's value.
24672func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
24673	s.StatusChangedAt = &v
24674	return s
24675}
24676
24677// Lightsail throws this exception when an operation fails to execute.
24678type OperationFailureException struct {
24679	_            struct{} `type:"structure"`
24680	respMetadata protocol.ResponseMetadata
24681
24682	Code_ *string `locationName:"code" type:"string"`
24683
24684	Docs *string `locationName:"docs" type:"string"`
24685
24686	Message_ *string `locationName:"message" type:"string"`
24687
24688	Tip *string `locationName:"tip" type:"string"`
24689}
24690
24691// String returns the string representation
24692func (s OperationFailureException) String() string {
24693	return awsutil.Prettify(s)
24694}
24695
24696// GoString returns the string representation
24697func (s OperationFailureException) GoString() string {
24698	return s.String()
24699}
24700
24701func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
24702	return &OperationFailureException{
24703		respMetadata: v,
24704	}
24705}
24706
24707// Code returns the exception type name.
24708func (s OperationFailureException) Code() string {
24709	return "OperationFailureException"
24710}
24711
24712// Message returns the exception's message.
24713func (s OperationFailureException) Message() string {
24714	if s.Message_ != nil {
24715		return *s.Message_
24716	}
24717	return ""
24718}
24719
24720// OrigErr always returns nil, satisfies awserr.Error interface.
24721func (s OperationFailureException) OrigErr() error {
24722	return nil
24723}
24724
24725func (s OperationFailureException) Error() string {
24726	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
24727}
24728
24729// Status code returns the HTTP status code for the request's response error.
24730func (s OperationFailureException) StatusCode() int {
24731	return s.respMetadata.StatusCode
24732}
24733
24734// RequestID returns the service's response RequestID for request.
24735func (s OperationFailureException) RequestID() string {
24736	return s.respMetadata.RequestID
24737}
24738
24739// The password data for the Windows Server-based instance, including the ciphertext
24740// and the key pair name.
24741type PasswordData struct {
24742	_ struct{} `type:"structure"`
24743
24744	// The encrypted password. Ciphertext will be an empty string if access to your
24745	// new instance is not ready yet. When you create an instance, it can take up
24746	// to 15 minutes for the instance to be ready.
24747	//
24748	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
24749	// password will be available in the password field.
24750	//
24751	// If you are using a custom key pair, you need to use your own means of decryption.
24752	//
24753	// If you change the Administrator password on the instance, Lightsail will
24754	// continue to return the original ciphertext value. When accessing the instance
24755	// using RDP, you need to manually enter the Administrator password after changing
24756	// it from the default.
24757	Ciphertext *string `locationName:"ciphertext" type:"string"`
24758
24759	// The name of the key pair that you used when creating your instance. If no
24760	// key pair name was specified when creating the instance, Lightsail uses the
24761	// default key pair (LightsailDefaultKeyPair).
24762	//
24763	// If you are using a custom key pair, you need to use your own means of decrypting
24764	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
24765	// your password with the public key part of this key pair.
24766	KeyPairName *string `locationName:"keyPairName" type:"string"`
24767}
24768
24769// String returns the string representation
24770func (s PasswordData) String() string {
24771	return awsutil.Prettify(s)
24772}
24773
24774// GoString returns the string representation
24775func (s PasswordData) GoString() string {
24776	return s.String()
24777}
24778
24779// SetCiphertext sets the Ciphertext field's value.
24780func (s *PasswordData) SetCiphertext(v string) *PasswordData {
24781	s.Ciphertext = &v
24782	return s
24783}
24784
24785// SetKeyPairName sets the KeyPairName field's value.
24786func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
24787	s.KeyPairName = &v
24788	return s
24789}
24790
24791type PeerVpcInput struct {
24792	_ struct{} `type:"structure"`
24793}
24794
24795// String returns the string representation
24796func (s PeerVpcInput) String() string {
24797	return awsutil.Prettify(s)
24798}
24799
24800// GoString returns the string representation
24801func (s PeerVpcInput) GoString() string {
24802	return s.String()
24803}
24804
24805type PeerVpcOutput struct {
24806	_ struct{} `type:"structure"`
24807
24808	// An array of objects that describe the result of the action, such as the status
24809	// of the request, the time stamp of the request, and the resources affected
24810	// by the request.
24811	Operation *Operation `locationName:"operation" type:"structure"`
24812}
24813
24814// String returns the string representation
24815func (s PeerVpcOutput) String() string {
24816	return awsutil.Prettify(s)
24817}
24818
24819// GoString returns the string representation
24820func (s PeerVpcOutput) GoString() string {
24821	return s.String()
24822}
24823
24824// SetOperation sets the Operation field's value.
24825func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
24826	s.Operation = v
24827	return s
24828}
24829
24830// Describes a pending database maintenance action.
24831type PendingMaintenanceAction struct {
24832	_ struct{} `type:"structure"`
24833
24834	// The type of pending database maintenance action.
24835	Action *string `locationName:"action" type:"string"`
24836
24837	// The effective date of the pending database maintenance action.
24838	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
24839
24840	// Additional detail about the pending database maintenance action.
24841	Description *string `locationName:"description" type:"string"`
24842}
24843
24844// String returns the string representation
24845func (s PendingMaintenanceAction) String() string {
24846	return awsutil.Prettify(s)
24847}
24848
24849// GoString returns the string representation
24850func (s PendingMaintenanceAction) GoString() string {
24851	return s.String()
24852}
24853
24854// SetAction sets the Action field's value.
24855func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
24856	s.Action = &v
24857	return s
24858}
24859
24860// SetCurrentApplyDate sets the CurrentApplyDate field's value.
24861func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
24862	s.CurrentApplyDate = &v
24863	return s
24864}
24865
24866// SetDescription sets the Description field's value.
24867func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
24868	s.Description = &v
24869	return s
24870}
24871
24872// Describes a pending database value modification.
24873type PendingModifiedRelationalDatabaseValues struct {
24874	_ struct{} `type:"structure"`
24875
24876	// A Boolean value indicating whether automated backup retention is enabled.
24877	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
24878
24879	// The database engine version.
24880	EngineVersion *string `locationName:"engineVersion" type:"string"`
24881
24882	// The password for the master user of the database.
24883	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
24884}
24885
24886// String returns the string representation
24887func (s PendingModifiedRelationalDatabaseValues) String() string {
24888	return awsutil.Prettify(s)
24889}
24890
24891// GoString returns the string representation
24892func (s PendingModifiedRelationalDatabaseValues) GoString() string {
24893	return s.String()
24894}
24895
24896// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
24897func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
24898	s.BackupRetentionEnabled = &v
24899	return s
24900}
24901
24902// SetEngineVersion sets the EngineVersion field's value.
24903func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
24904	s.EngineVersion = &v
24905	return s
24906}
24907
24908// SetMasterUserPassword sets the MasterUserPassword field's value.
24909func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
24910	s.MasterUserPassword = &v
24911	return s
24912}
24913
24914// Describes information about the ports on your virtual private server (or
24915// instance).
24916type PortInfo struct {
24917	_ struct{} `type:"structure"`
24918
24919	// The first port in the range.
24920	FromPort *int64 `locationName:"fromPort" type:"integer"`
24921
24922	// The protocol.
24923	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
24924
24925	// The last port in the range.
24926	ToPort *int64 `locationName:"toPort" type:"integer"`
24927}
24928
24929// String returns the string representation
24930func (s PortInfo) String() string {
24931	return awsutil.Prettify(s)
24932}
24933
24934// GoString returns the string representation
24935func (s PortInfo) GoString() string {
24936	return s.String()
24937}
24938
24939// SetFromPort sets the FromPort field's value.
24940func (s *PortInfo) SetFromPort(v int64) *PortInfo {
24941	s.FromPort = &v
24942	return s
24943}
24944
24945// SetProtocol sets the Protocol field's value.
24946func (s *PortInfo) SetProtocol(v string) *PortInfo {
24947	s.Protocol = &v
24948	return s
24949}
24950
24951// SetToPort sets the ToPort field's value.
24952func (s *PortInfo) SetToPort(v int64) *PortInfo {
24953	s.ToPort = &v
24954	return s
24955}
24956
24957type PutAlarmInput struct {
24958	_ struct{} `type:"structure"`
24959
24960	// The name for the alarm. Specify the name of an existing alarm to update,
24961	// and overwrite the previous configuration of the alarm.
24962	//
24963	// AlarmName is a required field
24964	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
24965
24966	// The arithmetic operation to use when comparing the specified statistic to
24967	// the threshold. The specified statistic value is used as the first operand.
24968	//
24969	// ComparisonOperator is a required field
24970	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
24971
24972	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
24973	// or both.
24974	//
24975	// A notification is sent via the specified contact protocol if notifications
24976	// are enabled for the alarm, and when the alarm is triggered.
24977	//
24978	// A notification is not sent if a contact protocol is not specified, if the
24979	// specified contact protocol is not configured in the AWS Region, or if notifications
24980	// are not enabled for the alarm using the notificationEnabled paramater.
24981	//
24982	// Use the CreateContactMethod action to configure a contact protocol in an
24983	// AWS Region.
24984	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
24985
24986	// The number of data points that must be not within the specified threshold
24987	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
24988	// (datapointsToAlarm) is the M.
24989	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
24990
24991	// The number of most recent periods over which data is compared to the specified
24992	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
24993	// is the N.
24994	//
24995	// If you are setting an alarm that requires that a number of consecutive data
24996	// points be breaching to trigger the alarm, this value specifies the rolling
24997	// period of time in which data points are evaluated.
24998	//
24999	// Each evaluation period is five minutes long. For example, specify an evaluation
25000	// period of 24 to evaluate a metric over a rolling period of two hours.
25001	//
25002	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
25003	// evaluation period of 288 (24 hours).
25004	//
25005	// EvaluationPeriods is a required field
25006	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
25007
25008	// The name of the metric to associate with the alarm.
25009	//
25010	// You can configure up to two alarms per metric.
25011	//
25012	// The following metrics are available for each resource type:
25013	//
25014	//    * Instances: CPUUtilization, NetworkIn, NetworkOut, StatusCheckFailed,
25015	//    StatusCheckFailed_Instance, and StatusCheckFailed_System.
25016	//
25017	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
25018	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
25019	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
25020	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
25021	//
25022	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
25023	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
25024	//
25025	// MetricName is a required field
25026	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
25027
25028	// The name of the Lightsail resource that will be monitored.
25029	//
25030	// Instances, load balancers, and relational databases are the only Lightsail
25031	// resources that can currently be monitored by alarms.
25032	//
25033	// MonitoredResourceName is a required field
25034	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
25035
25036	// Indicates whether the alarm is enabled.
25037	//
25038	// Notifications are enabled by default if you don't specify this parameter.
25039	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
25040
25041	// The alarm states that trigger a notification.
25042	//
25043	// An alarm has the following possible states:
25044	//
25045	//    * ALARM — The metric is outside of the defined threshold.
25046	//
25047	//    * INSUFFICIENT_DATA — The alarm has just started, the metric is not
25048	//    available, or not enough data is available for the metric to determine
25049	//    the alarm state.
25050	//
25051	//    * OK — The metric is within the defined threshold.
25052	//
25053	// When you specify a notification trigger, the ALARM state must be specified.
25054	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
25055	// state.
25056	//
25057	//    * If you specify OK as an alarm trigger, a notification is sent when the
25058	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
25059	//    state. This can be thought of as an all clear alarm notification.
25060	//
25061	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
25062	//    is sent when the alarm switches from an OK or ALARM alarm state to an
25063	//    INSUFFICIENT_DATA state.
25064	//
25065	// The notification trigger defaults to ALARM if you don't specify this parameter.
25066	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
25067
25068	// The value against which the specified statistic is compared.
25069	//
25070	// Threshold is a required field
25071	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
25072
25073	// Sets how this alarm will handle missing data points.
25074	//
25075	// An alarm can treat missing data in the following ways:
25076	//
25077	//    * breaching — Assume the missing data is not within the threshold. Missing
25078	//    data counts towards the number of times the metric is not within the threshold.
25079	//
25080	//    * notBreaching — Assume the missing data is within the threshold. Missing
25081	//    data does not count towards the number of times the metric is not within
25082	//    the threshold.
25083	//
25084	//    * ignore — Ignore the missing data. Maintains the current alarm state.
25085	//
25086	//    * missing — Missing data is treated as missing.
25087	//
25088	// If treatMissingData is not specified, the default behavior of missing is
25089	// used.
25090	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
25091}
25092
25093// String returns the string representation
25094func (s PutAlarmInput) String() string {
25095	return awsutil.Prettify(s)
25096}
25097
25098// GoString returns the string representation
25099func (s PutAlarmInput) GoString() string {
25100	return s.String()
25101}
25102
25103// Validate inspects the fields of the type to determine if they are valid.
25104func (s *PutAlarmInput) Validate() error {
25105	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
25106	if s.AlarmName == nil {
25107		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
25108	}
25109	if s.ComparisonOperator == nil {
25110		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
25111	}
25112	if s.EvaluationPeriods == nil {
25113		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
25114	}
25115	if s.MetricName == nil {
25116		invalidParams.Add(request.NewErrParamRequired("MetricName"))
25117	}
25118	if s.MonitoredResourceName == nil {
25119		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
25120	}
25121	if s.Threshold == nil {
25122		invalidParams.Add(request.NewErrParamRequired("Threshold"))
25123	}
25124
25125	if invalidParams.Len() > 0 {
25126		return invalidParams
25127	}
25128	return nil
25129}
25130
25131// SetAlarmName sets the AlarmName field's value.
25132func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
25133	s.AlarmName = &v
25134	return s
25135}
25136
25137// SetComparisonOperator sets the ComparisonOperator field's value.
25138func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
25139	s.ComparisonOperator = &v
25140	return s
25141}
25142
25143// SetContactProtocols sets the ContactProtocols field's value.
25144func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
25145	s.ContactProtocols = v
25146	return s
25147}
25148
25149// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
25150func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
25151	s.DatapointsToAlarm = &v
25152	return s
25153}
25154
25155// SetEvaluationPeriods sets the EvaluationPeriods field's value.
25156func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
25157	s.EvaluationPeriods = &v
25158	return s
25159}
25160
25161// SetMetricName sets the MetricName field's value.
25162func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
25163	s.MetricName = &v
25164	return s
25165}
25166
25167// SetMonitoredResourceName sets the MonitoredResourceName field's value.
25168func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
25169	s.MonitoredResourceName = &v
25170	return s
25171}
25172
25173// SetNotificationEnabled sets the NotificationEnabled field's value.
25174func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
25175	s.NotificationEnabled = &v
25176	return s
25177}
25178
25179// SetNotificationTriggers sets the NotificationTriggers field's value.
25180func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
25181	s.NotificationTriggers = v
25182	return s
25183}
25184
25185// SetThreshold sets the Threshold field's value.
25186func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
25187	s.Threshold = &v
25188	return s
25189}
25190
25191// SetTreatMissingData sets the TreatMissingData field's value.
25192func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
25193	s.TreatMissingData = &v
25194	return s
25195}
25196
25197type PutAlarmOutput struct {
25198	_ struct{} `type:"structure"`
25199
25200	// An array of objects that describe the result of the action, such as the status
25201	// of the request, the time stamp of the request, and the resources affected
25202	// by the request.
25203	Operations []*Operation `locationName:"operations" type:"list"`
25204}
25205
25206// String returns the string representation
25207func (s PutAlarmOutput) String() string {
25208	return awsutil.Prettify(s)
25209}
25210
25211// GoString returns the string representation
25212func (s PutAlarmOutput) GoString() string {
25213	return s.String()
25214}
25215
25216// SetOperations sets the Operations field's value.
25217func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
25218	s.Operations = v
25219	return s
25220}
25221
25222type PutInstancePublicPortsInput struct {
25223	_ struct{} `type:"structure"`
25224
25225	// The Lightsail instance name of the public port(s) you are setting.
25226	//
25227	// InstanceName is a required field
25228	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
25229
25230	// Specifies information about the public port(s).
25231	//
25232	// PortInfos is a required field
25233	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
25234}
25235
25236// String returns the string representation
25237func (s PutInstancePublicPortsInput) String() string {
25238	return awsutil.Prettify(s)
25239}
25240
25241// GoString returns the string representation
25242func (s PutInstancePublicPortsInput) GoString() string {
25243	return s.String()
25244}
25245
25246// Validate inspects the fields of the type to determine if they are valid.
25247func (s *PutInstancePublicPortsInput) Validate() error {
25248	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
25249	if s.InstanceName == nil {
25250		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
25251	}
25252	if s.PortInfos == nil {
25253		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
25254	}
25255
25256	if invalidParams.Len() > 0 {
25257		return invalidParams
25258	}
25259	return nil
25260}
25261
25262// SetInstanceName sets the InstanceName field's value.
25263func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
25264	s.InstanceName = &v
25265	return s
25266}
25267
25268// SetPortInfos sets the PortInfos field's value.
25269func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
25270	s.PortInfos = v
25271	return s
25272}
25273
25274type PutInstancePublicPortsOutput struct {
25275	_ struct{} `type:"structure"`
25276
25277	// An array of objects that describe the result of the action, such as the status
25278	// of the request, the time stamp of the request, and the resources affected
25279	// by the request.
25280	Operation *Operation `locationName:"operation" type:"structure"`
25281}
25282
25283// String returns the string representation
25284func (s PutInstancePublicPortsOutput) String() string {
25285	return awsutil.Prettify(s)
25286}
25287
25288// GoString returns the string representation
25289func (s PutInstancePublicPortsOutput) GoString() string {
25290	return s.String()
25291}
25292
25293// SetOperation sets the Operation field's value.
25294func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
25295	s.Operation = v
25296	return s
25297}
25298
25299type RebootInstanceInput struct {
25300	_ struct{} `type:"structure"`
25301
25302	// The name of the instance to reboot.
25303	//
25304	// InstanceName is a required field
25305	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
25306}
25307
25308// String returns the string representation
25309func (s RebootInstanceInput) String() string {
25310	return awsutil.Prettify(s)
25311}
25312
25313// GoString returns the string representation
25314func (s RebootInstanceInput) GoString() string {
25315	return s.String()
25316}
25317
25318// Validate inspects the fields of the type to determine if they are valid.
25319func (s *RebootInstanceInput) Validate() error {
25320	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
25321	if s.InstanceName == nil {
25322		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
25323	}
25324
25325	if invalidParams.Len() > 0 {
25326		return invalidParams
25327	}
25328	return nil
25329}
25330
25331// SetInstanceName sets the InstanceName field's value.
25332func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
25333	s.InstanceName = &v
25334	return s
25335}
25336
25337type RebootInstanceOutput struct {
25338	_ struct{} `type:"structure"`
25339
25340	// An array of objects that describe the result of the action, such as the status
25341	// of the request, the time stamp of the request, and the resources affected
25342	// by the request.
25343	Operations []*Operation `locationName:"operations" type:"list"`
25344}
25345
25346// String returns the string representation
25347func (s RebootInstanceOutput) String() string {
25348	return awsutil.Prettify(s)
25349}
25350
25351// GoString returns the string representation
25352func (s RebootInstanceOutput) GoString() string {
25353	return s.String()
25354}
25355
25356// SetOperations sets the Operations field's value.
25357func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
25358	s.Operations = v
25359	return s
25360}
25361
25362type RebootRelationalDatabaseInput struct {
25363	_ struct{} `type:"structure"`
25364
25365	// The name of your database to reboot.
25366	//
25367	// RelationalDatabaseName is a required field
25368	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
25369}
25370
25371// String returns the string representation
25372func (s RebootRelationalDatabaseInput) String() string {
25373	return awsutil.Prettify(s)
25374}
25375
25376// GoString returns the string representation
25377func (s RebootRelationalDatabaseInput) GoString() string {
25378	return s.String()
25379}
25380
25381// Validate inspects the fields of the type to determine if they are valid.
25382func (s *RebootRelationalDatabaseInput) Validate() error {
25383	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
25384	if s.RelationalDatabaseName == nil {
25385		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
25386	}
25387
25388	if invalidParams.Len() > 0 {
25389		return invalidParams
25390	}
25391	return nil
25392}
25393
25394// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
25395func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
25396	s.RelationalDatabaseName = &v
25397	return s
25398}
25399
25400type RebootRelationalDatabaseOutput struct {
25401	_ struct{} `type:"structure"`
25402
25403	// An array of objects that describe the result of the action, such as the status
25404	// of the request, the time stamp of the request, and the resources affected
25405	// by the request.
25406	Operations []*Operation `locationName:"operations" type:"list"`
25407}
25408
25409// String returns the string representation
25410func (s RebootRelationalDatabaseOutput) String() string {
25411	return awsutil.Prettify(s)
25412}
25413
25414// GoString returns the string representation
25415func (s RebootRelationalDatabaseOutput) GoString() string {
25416	return s.String()
25417}
25418
25419// SetOperations sets the Operations field's value.
25420func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
25421	s.Operations = v
25422	return s
25423}
25424
25425// Describes the AWS Region.
25426type Region struct {
25427	_ struct{} `type:"structure"`
25428
25429	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
25430	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
25431
25432	// The continent code (e.g., NA, meaning North America).
25433	ContinentCode *string `locationName:"continentCode" type:"string"`
25434
25435	// The description of the AWS Region (e.g., This region is recommended to serve
25436	// users in the eastern United States and eastern Canada).
25437	Description *string `locationName:"description" type:"string"`
25438
25439	// The display name (e.g., Ohio).
25440	DisplayName *string `locationName:"displayName" type:"string"`
25441
25442	// The region name (e.g., us-east-2).
25443	Name *string `locationName:"name" type:"string" enum:"RegionName"`
25444
25445	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
25446	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
25447}
25448
25449// String returns the string representation
25450func (s Region) String() string {
25451	return awsutil.Prettify(s)
25452}
25453
25454// GoString returns the string representation
25455func (s Region) GoString() string {
25456	return s.String()
25457}
25458
25459// SetAvailabilityZones sets the AvailabilityZones field's value.
25460func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
25461	s.AvailabilityZones = v
25462	return s
25463}
25464
25465// SetContinentCode sets the ContinentCode field's value.
25466func (s *Region) SetContinentCode(v string) *Region {
25467	s.ContinentCode = &v
25468	return s
25469}
25470
25471// SetDescription sets the Description field's value.
25472func (s *Region) SetDescription(v string) *Region {
25473	s.Description = &v
25474	return s
25475}
25476
25477// SetDisplayName sets the DisplayName field's value.
25478func (s *Region) SetDisplayName(v string) *Region {
25479	s.DisplayName = &v
25480	return s
25481}
25482
25483// SetName sets the Name field's value.
25484func (s *Region) SetName(v string) *Region {
25485	s.Name = &v
25486	return s
25487}
25488
25489// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
25490func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
25491	s.RelationalDatabaseAvailabilityZones = v
25492	return s
25493}
25494
25495// Describes a database.
25496type RelationalDatabase struct {
25497	_ struct{} `type:"structure"`
25498
25499	// The Amazon Resource Name (ARN) of the database.
25500	Arn *string `locationName:"arn" type:"string"`
25501
25502	// A Boolean value indicating whether automated backup retention is enabled
25503	// for the database.
25504	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
25505
25506	// The certificate associated with the database.
25507	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
25508
25509	// The timestamp when the database was created. Formatted in Unix time.
25510	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
25511
25512	// The database software (for example, MySQL).
25513	Engine *string `locationName:"engine" type:"string"`
25514
25515	// The database engine version (for example, 5.7.23).
25516	EngineVersion *string `locationName:"engineVersion" type:"string"`
25517
25518	// Describes the hardware of the database.
25519	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
25520
25521	// The latest point in time to which the database can be restored. Formatted
25522	// in Unix time.
25523	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
25524
25525	// The Region name and Availability Zone where the database is located.
25526	Location *ResourceLocation `locationName:"location" type:"structure"`
25527
25528	// The name of the master database created when the Lightsail database resource
25529	// is created.
25530	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
25531
25532	// The master endpoint for the database.
25533	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
25534
25535	// The master user name of the database.
25536	MasterUsername *string `locationName:"masterUsername" type:"string"`
25537
25538	// The unique name of the database resource in Lightsail.
25539	Name *string `locationName:"name" type:"string"`
25540
25541	// The status of parameter updates for the database.
25542	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
25543
25544	// Describes the pending maintenance actions for the database.
25545	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
25546
25547	// Describes pending database value modifications.
25548	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
25549
25550	// The daily time range during which automated backups are created for the database
25551	// (for example, 16:00-16:30).
25552	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
25553
25554	// The weekly time range during which system maintenance can occur on the database.
25555	//
25556	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
25557	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
25558
25559	// A Boolean value indicating whether the database is publicly accessible.
25560	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
25561
25562	// The blueprint ID for the database. A blueprint describes the major engine
25563	// version of a database.
25564	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
25565
25566	// The bundle ID for the database. A bundle describes the performance specifications
25567	// for your database.
25568	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
25569
25570	// The Lightsail resource type for the database (for example, RelationalDatabase).
25571	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
25572
25573	// Describes the secondary Availability Zone of a high availability database.
25574	//
25575	// The secondary database is used for failover support of a high availability
25576	// database.
25577	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
25578
25579	// Describes the current state of the database.
25580	State *string `locationName:"state" type:"string"`
25581
25582	// The support code for the database. Include this code in your email to support
25583	// when you have questions about a database in Lightsail. This code enables
25584	// our support team to look up your Lightsail information more easily.
25585	SupportCode *string `locationName:"supportCode" type:"string"`
25586
25587	// The tag keys and optional values for the resource. For more information about
25588	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
25589	Tags []*Tag `locationName:"tags" type:"list"`
25590}
25591
25592// String returns the string representation
25593func (s RelationalDatabase) String() string {
25594	return awsutil.Prettify(s)
25595}
25596
25597// GoString returns the string representation
25598func (s RelationalDatabase) GoString() string {
25599	return s.String()
25600}
25601
25602// SetArn sets the Arn field's value.
25603func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
25604	s.Arn = &v
25605	return s
25606}
25607
25608// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
25609func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
25610	s.BackupRetentionEnabled = &v
25611	return s
25612}
25613
25614// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
25615func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
25616	s.CaCertificateIdentifier = &v
25617	return s
25618}
25619
25620// SetCreatedAt sets the CreatedAt field's value.
25621func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
25622	s.CreatedAt = &v
25623	return s
25624}
25625
25626// SetEngine sets the Engine field's value.
25627func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
25628	s.Engine = &v
25629	return s
25630}
25631
25632// SetEngineVersion sets the EngineVersion field's value.
25633func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
25634	s.EngineVersion = &v
25635	return s
25636}
25637
25638// SetHardware sets the Hardware field's value.
25639func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
25640	s.Hardware = v
25641	return s
25642}
25643
25644// SetLatestRestorableTime sets the LatestRestorableTime field's value.
25645func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
25646	s.LatestRestorableTime = &v
25647	return s
25648}
25649
25650// SetLocation sets the Location field's value.
25651func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
25652	s.Location = v
25653	return s
25654}
25655
25656// SetMasterDatabaseName sets the MasterDatabaseName field's value.
25657func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
25658	s.MasterDatabaseName = &v
25659	return s
25660}
25661
25662// SetMasterEndpoint sets the MasterEndpoint field's value.
25663func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
25664	s.MasterEndpoint = v
25665	return s
25666}
25667
25668// SetMasterUsername sets the MasterUsername field's value.
25669func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
25670	s.MasterUsername = &v
25671	return s
25672}
25673
25674// SetName sets the Name field's value.
25675func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
25676	s.Name = &v
25677	return s
25678}
25679
25680// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
25681func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
25682	s.ParameterApplyStatus = &v
25683	return s
25684}
25685
25686// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
25687func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
25688	s.PendingMaintenanceActions = v
25689	return s
25690}
25691
25692// SetPendingModifiedValues sets the PendingModifiedValues field's value.
25693func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
25694	s.PendingModifiedValues = v
25695	return s
25696}
25697
25698// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
25699func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
25700	s.PreferredBackupWindow = &v
25701	return s
25702}
25703
25704// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
25705func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
25706	s.PreferredMaintenanceWindow = &v
25707	return s
25708}
25709
25710// SetPubliclyAccessible sets the PubliclyAccessible field's value.
25711func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
25712	s.PubliclyAccessible = &v
25713	return s
25714}
25715
25716// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
25717func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
25718	s.RelationalDatabaseBlueprintId = &v
25719	return s
25720}
25721
25722// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
25723func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
25724	s.RelationalDatabaseBundleId = &v
25725	return s
25726}
25727
25728// SetResourceType sets the ResourceType field's value.
25729func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
25730	s.ResourceType = &v
25731	return s
25732}
25733
25734// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
25735func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
25736	s.SecondaryAvailabilityZone = &v
25737	return s
25738}
25739
25740// SetState sets the State field's value.
25741func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
25742	s.State = &v
25743	return s
25744}
25745
25746// SetSupportCode sets the SupportCode field's value.
25747func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
25748	s.SupportCode = &v
25749	return s
25750}
25751
25752// SetTags sets the Tags field's value.
25753func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
25754	s.Tags = v
25755	return s
25756}
25757
25758// Describes a database image, or blueprint. A blueprint describes the major
25759// engine version of a database.
25760type RelationalDatabaseBlueprint struct {
25761	_ struct{} `type:"structure"`
25762
25763	// The ID for the database blueprint.
25764	BlueprintId *string `locationName:"blueprintId" type:"string"`
25765
25766	// The database software of the database blueprint (for example, MySQL).
25767	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
25768
25769	// The description of the database engine for the database blueprint.
25770	EngineDescription *string `locationName:"engineDescription" type:"string"`
25771
25772	// The database engine version for the database blueprint (for example, 5.7.23).
25773	EngineVersion *string `locationName:"engineVersion" type:"string"`
25774
25775	// The description of the database engine version for the database blueprint.
25776	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
25777
25778	// A Boolean value indicating whether the engine version is the default for
25779	// the database blueprint.
25780	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
25781}
25782
25783// String returns the string representation
25784func (s RelationalDatabaseBlueprint) String() string {
25785	return awsutil.Prettify(s)
25786}
25787
25788// GoString returns the string representation
25789func (s RelationalDatabaseBlueprint) GoString() string {
25790	return s.String()
25791}
25792
25793// SetBlueprintId sets the BlueprintId field's value.
25794func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
25795	s.BlueprintId = &v
25796	return s
25797}
25798
25799// SetEngine sets the Engine field's value.
25800func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
25801	s.Engine = &v
25802	return s
25803}
25804
25805// SetEngineDescription sets the EngineDescription field's value.
25806func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
25807	s.EngineDescription = &v
25808	return s
25809}
25810
25811// SetEngineVersion sets the EngineVersion field's value.
25812func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
25813	s.EngineVersion = &v
25814	return s
25815}
25816
25817// SetEngineVersionDescription sets the EngineVersionDescription field's value.
25818func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
25819	s.EngineVersionDescription = &v
25820	return s
25821}
25822
25823// SetIsEngineDefault sets the IsEngineDefault field's value.
25824func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
25825	s.IsEngineDefault = &v
25826	return s
25827}
25828
25829// Describes a database bundle. A bundle describes the performance specifications
25830// of the database.
25831type RelationalDatabaseBundle struct {
25832	_ struct{} `type:"structure"`
25833
25834	// The ID for the database bundle.
25835	BundleId *string `locationName:"bundleId" type:"string"`
25836
25837	// The number of virtual CPUs (vCPUs) for the database bundle.
25838	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
25839
25840	// The size of the disk for the database bundle.
25841	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
25842
25843	// A Boolean value indicating whether the database bundle is active.
25844	IsActive *bool `locationName:"isActive" type:"boolean"`
25845
25846	// A Boolean value indicating whether the database bundle is encrypted.
25847	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
25848
25849	// The name for the database bundle.
25850	Name *string `locationName:"name" type:"string"`
25851
25852	// The cost of the database bundle in US currency.
25853	Price *float64 `locationName:"price" type:"float"`
25854
25855	// The amount of RAM in GB (for example, 2.0) for the database bundle.
25856	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
25857
25858	// The data transfer rate per month in GB for the database bundle.
25859	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
25860}
25861
25862// String returns the string representation
25863func (s RelationalDatabaseBundle) String() string {
25864	return awsutil.Prettify(s)
25865}
25866
25867// GoString returns the string representation
25868func (s RelationalDatabaseBundle) GoString() string {
25869	return s.String()
25870}
25871
25872// SetBundleId sets the BundleId field's value.
25873func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
25874	s.BundleId = &v
25875	return s
25876}
25877
25878// SetCpuCount sets the CpuCount field's value.
25879func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
25880	s.CpuCount = &v
25881	return s
25882}
25883
25884// SetDiskSizeInGb sets the DiskSizeInGb field's value.
25885func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
25886	s.DiskSizeInGb = &v
25887	return s
25888}
25889
25890// SetIsActive sets the IsActive field's value.
25891func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
25892	s.IsActive = &v
25893	return s
25894}
25895
25896// SetIsEncrypted sets the IsEncrypted field's value.
25897func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
25898	s.IsEncrypted = &v
25899	return s
25900}
25901
25902// SetName sets the Name field's value.
25903func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
25904	s.Name = &v
25905	return s
25906}
25907
25908// SetPrice sets the Price field's value.
25909func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
25910	s.Price = &v
25911	return s
25912}
25913
25914// SetRamSizeInGb sets the RamSizeInGb field's value.
25915func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
25916	s.RamSizeInGb = &v
25917	return s
25918}
25919
25920// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
25921func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
25922	s.TransferPerMonthInGb = &v
25923	return s
25924}
25925
25926// Describes an endpoint for a database.
25927type RelationalDatabaseEndpoint struct {
25928	_ struct{} `type:"structure"`
25929
25930	// Specifies the DNS address of the database.
25931	Address *string `locationName:"address" type:"string"`
25932
25933	// Specifies the port that the database is listening on.
25934	Port *int64 `locationName:"port" type:"integer"`
25935}
25936
25937// String returns the string representation
25938func (s RelationalDatabaseEndpoint) String() string {
25939	return awsutil.Prettify(s)
25940}
25941
25942// GoString returns the string representation
25943func (s RelationalDatabaseEndpoint) GoString() string {
25944	return s.String()
25945}
25946
25947// SetAddress sets the Address field's value.
25948func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
25949	s.Address = &v
25950	return s
25951}
25952
25953// SetPort sets the Port field's value.
25954func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
25955	s.Port = &v
25956	return s
25957}
25958
25959// Describes an event for a database.
25960type RelationalDatabaseEvent struct {
25961	_ struct{} `type:"structure"`
25962
25963	// The timestamp when the database event was created.
25964	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
25965
25966	// The category that the database event belongs to.
25967	EventCategories []*string `locationName:"eventCategories" type:"list"`
25968
25969	// The message of the database event.
25970	Message *string `locationName:"message" type:"string"`
25971
25972	// The database that the database event relates to.
25973	Resource *string `locationName:"resource" type:"string"`
25974}
25975
25976// String returns the string representation
25977func (s RelationalDatabaseEvent) String() string {
25978	return awsutil.Prettify(s)
25979}
25980
25981// GoString returns the string representation
25982func (s RelationalDatabaseEvent) GoString() string {
25983	return s.String()
25984}
25985
25986// SetCreatedAt sets the CreatedAt field's value.
25987func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
25988	s.CreatedAt = &v
25989	return s
25990}
25991
25992// SetEventCategories sets the EventCategories field's value.
25993func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
25994	s.EventCategories = v
25995	return s
25996}
25997
25998// SetMessage sets the Message field's value.
25999func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
26000	s.Message = &v
26001	return s
26002}
26003
26004// SetResource sets the Resource field's value.
26005func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
26006	s.Resource = &v
26007	return s
26008}
26009
26010// Describes the hardware of a database.
26011type RelationalDatabaseHardware struct {
26012	_ struct{} `type:"structure"`
26013
26014	// The number of vCPUs for the database.
26015	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
26016
26017	// The size of the disk for the database.
26018	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
26019
26020	// The amount of RAM in GB for the database.
26021	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
26022}
26023
26024// String returns the string representation
26025func (s RelationalDatabaseHardware) String() string {
26026	return awsutil.Prettify(s)
26027}
26028
26029// GoString returns the string representation
26030func (s RelationalDatabaseHardware) GoString() string {
26031	return s.String()
26032}
26033
26034// SetCpuCount sets the CpuCount field's value.
26035func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
26036	s.CpuCount = &v
26037	return s
26038}
26039
26040// SetDiskSizeInGb sets the DiskSizeInGb field's value.
26041func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
26042	s.DiskSizeInGb = &v
26043	return s
26044}
26045
26046// SetRamSizeInGb sets the RamSizeInGb field's value.
26047func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
26048	s.RamSizeInGb = &v
26049	return s
26050}
26051
26052// Describes the parameters of a database.
26053type RelationalDatabaseParameter struct {
26054	_ struct{} `type:"structure"`
26055
26056	// Specifies the valid range of values for the parameter.
26057	AllowedValues *string `locationName:"allowedValues" type:"string"`
26058
26059	// Indicates when parameter updates are applied.
26060	//
26061	// Can be immediate or pending-reboot.
26062	ApplyMethod *string `locationName:"applyMethod" type:"string"`
26063
26064	// Specifies the engine-specific parameter type.
26065	ApplyType *string `locationName:"applyType" type:"string"`
26066
26067	// Specifies the valid data type for the parameter.
26068	DataType *string `locationName:"dataType" type:"string"`
26069
26070	// Provides a description of the parameter.
26071	Description *string `locationName:"description" type:"string"`
26072
26073	// A Boolean value indicating whether the parameter can be modified.
26074	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
26075
26076	// Specifies the name of the parameter.
26077	ParameterName *string `locationName:"parameterName" type:"string"`
26078
26079	// Specifies the value of the parameter.
26080	ParameterValue *string `locationName:"parameterValue" type:"string"`
26081}
26082
26083// String returns the string representation
26084func (s RelationalDatabaseParameter) String() string {
26085	return awsutil.Prettify(s)
26086}
26087
26088// GoString returns the string representation
26089func (s RelationalDatabaseParameter) GoString() string {
26090	return s.String()
26091}
26092
26093// SetAllowedValues sets the AllowedValues field's value.
26094func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
26095	s.AllowedValues = &v
26096	return s
26097}
26098
26099// SetApplyMethod sets the ApplyMethod field's value.
26100func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
26101	s.ApplyMethod = &v
26102	return s
26103}
26104
26105// SetApplyType sets the ApplyType field's value.
26106func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
26107	s.ApplyType = &v
26108	return s
26109}
26110
26111// SetDataType sets the DataType field's value.
26112func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
26113	s.DataType = &v
26114	return s
26115}
26116
26117// SetDescription sets the Description field's value.
26118func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
26119	s.Description = &v
26120	return s
26121}
26122
26123// SetIsModifiable sets the IsModifiable field's value.
26124func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
26125	s.IsModifiable = &v
26126	return s
26127}
26128
26129// SetParameterName sets the ParameterName field's value.
26130func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
26131	s.ParameterName = &v
26132	return s
26133}
26134
26135// SetParameterValue sets the ParameterValue field's value.
26136func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
26137	s.ParameterValue = &v
26138	return s
26139}
26140
26141// Describes a database snapshot.
26142type RelationalDatabaseSnapshot struct {
26143	_ struct{} `type:"structure"`
26144
26145	// The Amazon Resource Name (ARN) of the database snapshot.
26146	Arn *string `locationName:"arn" type:"string"`
26147
26148	// The timestamp when the database snapshot was created.
26149	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26150
26151	// The software of the database snapshot (for example, MySQL)
26152	Engine *string `locationName:"engine" type:"string"`
26153
26154	// The database engine version for the database snapshot (for example, 5.7.23).
26155	EngineVersion *string `locationName:"engineVersion" type:"string"`
26156
26157	// The Amazon Resource Name (ARN) of the database from which the database snapshot
26158	// was created.
26159	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
26160
26161	// The blueprint ID of the database from which the database snapshot was created.
26162	// A blueprint describes the major engine version of a database.
26163	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
26164
26165	// The bundle ID of the database from which the database snapshot was created.
26166	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
26167
26168	// The name of the source database from which the database snapshot was created.
26169	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
26170
26171	// The Region name and Availability Zone where the database snapshot is located.
26172	Location *ResourceLocation `locationName:"location" type:"structure"`
26173
26174	// The name of the database snapshot.
26175	Name *string `locationName:"name" type:"string"`
26176
26177	// The Lightsail resource type.
26178	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26179
26180	// The size of the disk in GB (for example, 32) for the database snapshot.
26181	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
26182
26183	// The state of the database snapshot.
26184	State *string `locationName:"state" type:"string"`
26185
26186	// The support code for the database snapshot. Include this code in your email
26187	// to support when you have questions about a database snapshot in Lightsail.
26188	// This code enables our support team to look up your Lightsail information
26189	// more easily.
26190	SupportCode *string `locationName:"supportCode" type:"string"`
26191
26192	// The tag keys and optional values for the resource. For more information about
26193	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
26194	Tags []*Tag `locationName:"tags" type:"list"`
26195}
26196
26197// String returns the string representation
26198func (s RelationalDatabaseSnapshot) String() string {
26199	return awsutil.Prettify(s)
26200}
26201
26202// GoString returns the string representation
26203func (s RelationalDatabaseSnapshot) GoString() string {
26204	return s.String()
26205}
26206
26207// SetArn sets the Arn field's value.
26208func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
26209	s.Arn = &v
26210	return s
26211}
26212
26213// SetCreatedAt sets the CreatedAt field's value.
26214func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
26215	s.CreatedAt = &v
26216	return s
26217}
26218
26219// SetEngine sets the Engine field's value.
26220func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
26221	s.Engine = &v
26222	return s
26223}
26224
26225// SetEngineVersion sets the EngineVersion field's value.
26226func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
26227	s.EngineVersion = &v
26228	return s
26229}
26230
26231// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
26232func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
26233	s.FromRelationalDatabaseArn = &v
26234	return s
26235}
26236
26237// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
26238func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
26239	s.FromRelationalDatabaseBlueprintId = &v
26240	return s
26241}
26242
26243// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
26244func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
26245	s.FromRelationalDatabaseBundleId = &v
26246	return s
26247}
26248
26249// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
26250func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
26251	s.FromRelationalDatabaseName = &v
26252	return s
26253}
26254
26255// SetLocation sets the Location field's value.
26256func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
26257	s.Location = v
26258	return s
26259}
26260
26261// SetName sets the Name field's value.
26262func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
26263	s.Name = &v
26264	return s
26265}
26266
26267// SetResourceType sets the ResourceType field's value.
26268func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
26269	s.ResourceType = &v
26270	return s
26271}
26272
26273// SetSizeInGb sets the SizeInGb field's value.
26274func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
26275	s.SizeInGb = &v
26276	return s
26277}
26278
26279// SetState sets the State field's value.
26280func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
26281	s.State = &v
26282	return s
26283}
26284
26285// SetSupportCode sets the SupportCode field's value.
26286func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
26287	s.SupportCode = &v
26288	return s
26289}
26290
26291// SetTags sets the Tags field's value.
26292func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
26293	s.Tags = v
26294	return s
26295}
26296
26297type ReleaseStaticIpInput struct {
26298	_ struct{} `type:"structure"`
26299
26300	// The name of the static IP to delete.
26301	//
26302	// StaticIpName is a required field
26303	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
26304}
26305
26306// String returns the string representation
26307func (s ReleaseStaticIpInput) String() string {
26308	return awsutil.Prettify(s)
26309}
26310
26311// GoString returns the string representation
26312func (s ReleaseStaticIpInput) GoString() string {
26313	return s.String()
26314}
26315
26316// Validate inspects the fields of the type to determine if they are valid.
26317func (s *ReleaseStaticIpInput) Validate() error {
26318	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
26319	if s.StaticIpName == nil {
26320		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
26321	}
26322
26323	if invalidParams.Len() > 0 {
26324		return invalidParams
26325	}
26326	return nil
26327}
26328
26329// SetStaticIpName sets the StaticIpName field's value.
26330func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
26331	s.StaticIpName = &v
26332	return s
26333}
26334
26335type ReleaseStaticIpOutput struct {
26336	_ struct{} `type:"structure"`
26337
26338	// An array of objects that describe the result of the action, such as the status
26339	// of the request, the time stamp of the request, and the resources affected
26340	// by the request.
26341	Operations []*Operation `locationName:"operations" type:"list"`
26342}
26343
26344// String returns the string representation
26345func (s ReleaseStaticIpOutput) String() string {
26346	return awsutil.Prettify(s)
26347}
26348
26349// GoString returns the string representation
26350func (s ReleaseStaticIpOutput) GoString() string {
26351	return s.String()
26352}
26353
26354// SetOperations sets the Operations field's value.
26355func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
26356	s.Operations = v
26357	return s
26358}
26359
26360// Describes the resource location.
26361type ResourceLocation struct {
26362	_ struct{} `type:"structure"`
26363
26364	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
26365	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
26366
26367	// The AWS Region name.
26368	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
26369}
26370
26371// String returns the string representation
26372func (s ResourceLocation) String() string {
26373	return awsutil.Prettify(s)
26374}
26375
26376// GoString returns the string representation
26377func (s ResourceLocation) GoString() string {
26378	return s.String()
26379}
26380
26381// SetAvailabilityZone sets the AvailabilityZone field's value.
26382func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
26383	s.AvailabilityZone = &v
26384	return s
26385}
26386
26387// SetRegionName sets the RegionName field's value.
26388func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
26389	s.RegionName = &v
26390	return s
26391}
26392
26393type SendContactMethodVerificationInput struct {
26394	_ struct{} `type:"structure"`
26395
26396	// The protocol to verify, such as Email or SMS (text messaging).
26397	//
26398	// Protocol is a required field
26399	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
26400}
26401
26402// String returns the string representation
26403func (s SendContactMethodVerificationInput) String() string {
26404	return awsutil.Prettify(s)
26405}
26406
26407// GoString returns the string representation
26408func (s SendContactMethodVerificationInput) GoString() string {
26409	return s.String()
26410}
26411
26412// Validate inspects the fields of the type to determine if they are valid.
26413func (s *SendContactMethodVerificationInput) Validate() error {
26414	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
26415	if s.Protocol == nil {
26416		invalidParams.Add(request.NewErrParamRequired("Protocol"))
26417	}
26418
26419	if invalidParams.Len() > 0 {
26420		return invalidParams
26421	}
26422	return nil
26423}
26424
26425// SetProtocol sets the Protocol field's value.
26426func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
26427	s.Protocol = &v
26428	return s
26429}
26430
26431type SendContactMethodVerificationOutput struct {
26432	_ struct{} `type:"structure"`
26433
26434	// An array of objects that describe the result of the action, such as the status
26435	// of the request, the time stamp of the request, and the resources affected
26436	// by the request.
26437	Operations []*Operation `locationName:"operations" type:"list"`
26438}
26439
26440// String returns the string representation
26441func (s SendContactMethodVerificationOutput) String() string {
26442	return awsutil.Prettify(s)
26443}
26444
26445// GoString returns the string representation
26446func (s SendContactMethodVerificationOutput) GoString() string {
26447	return s.String()
26448}
26449
26450// SetOperations sets the Operations field's value.
26451func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
26452	s.Operations = v
26453	return s
26454}
26455
26456// A general service exception.
26457type ServiceException struct {
26458	_            struct{} `type:"structure"`
26459	respMetadata protocol.ResponseMetadata
26460
26461	Code_ *string `locationName:"code" type:"string"`
26462
26463	Docs *string `locationName:"docs" type:"string"`
26464
26465	Message_ *string `locationName:"message" type:"string"`
26466
26467	Tip *string `locationName:"tip" type:"string"`
26468}
26469
26470// String returns the string representation
26471func (s ServiceException) String() string {
26472	return awsutil.Prettify(s)
26473}
26474
26475// GoString returns the string representation
26476func (s ServiceException) GoString() string {
26477	return s.String()
26478}
26479
26480func newErrorServiceException(v protocol.ResponseMetadata) error {
26481	return &ServiceException{
26482		respMetadata: v,
26483	}
26484}
26485
26486// Code returns the exception type name.
26487func (s ServiceException) Code() string {
26488	return "ServiceException"
26489}
26490
26491// Message returns the exception's message.
26492func (s ServiceException) Message() string {
26493	if s.Message_ != nil {
26494		return *s.Message_
26495	}
26496	return ""
26497}
26498
26499// OrigErr always returns nil, satisfies awserr.Error interface.
26500func (s ServiceException) OrigErr() error {
26501	return nil
26502}
26503
26504func (s ServiceException) Error() string {
26505	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26506}
26507
26508// Status code returns the HTTP status code for the request's response error.
26509func (s ServiceException) StatusCode() int {
26510	return s.respMetadata.StatusCode
26511}
26512
26513// RequestID returns the service's response RequestID for request.
26514func (s ServiceException) RequestID() string {
26515	return s.respMetadata.RequestID
26516}
26517
26518type StartInstanceInput struct {
26519	_ struct{} `type:"structure"`
26520
26521	// The name of the instance (a virtual private server) to start.
26522	//
26523	// InstanceName is a required field
26524	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26525}
26526
26527// String returns the string representation
26528func (s StartInstanceInput) String() string {
26529	return awsutil.Prettify(s)
26530}
26531
26532// GoString returns the string representation
26533func (s StartInstanceInput) GoString() string {
26534	return s.String()
26535}
26536
26537// Validate inspects the fields of the type to determine if they are valid.
26538func (s *StartInstanceInput) Validate() error {
26539	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
26540	if s.InstanceName == nil {
26541		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26542	}
26543
26544	if invalidParams.Len() > 0 {
26545		return invalidParams
26546	}
26547	return nil
26548}
26549
26550// SetInstanceName sets the InstanceName field's value.
26551func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
26552	s.InstanceName = &v
26553	return s
26554}
26555
26556type StartInstanceOutput struct {
26557	_ struct{} `type:"structure"`
26558
26559	// An array of objects that describe the result of the action, such as the status
26560	// of the request, the time stamp of the request, and the resources affected
26561	// by the request.
26562	Operations []*Operation `locationName:"operations" type:"list"`
26563}
26564
26565// String returns the string representation
26566func (s StartInstanceOutput) String() string {
26567	return awsutil.Prettify(s)
26568}
26569
26570// GoString returns the string representation
26571func (s StartInstanceOutput) GoString() string {
26572	return s.String()
26573}
26574
26575// SetOperations sets the Operations field's value.
26576func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
26577	s.Operations = v
26578	return s
26579}
26580
26581type StartRelationalDatabaseInput struct {
26582	_ struct{} `type:"structure"`
26583
26584	// The name of your database to start.
26585	//
26586	// RelationalDatabaseName is a required field
26587	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
26588}
26589
26590// String returns the string representation
26591func (s StartRelationalDatabaseInput) String() string {
26592	return awsutil.Prettify(s)
26593}
26594
26595// GoString returns the string representation
26596func (s StartRelationalDatabaseInput) GoString() string {
26597	return s.String()
26598}
26599
26600// Validate inspects the fields of the type to determine if they are valid.
26601func (s *StartRelationalDatabaseInput) Validate() error {
26602	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
26603	if s.RelationalDatabaseName == nil {
26604		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
26605	}
26606
26607	if invalidParams.Len() > 0 {
26608		return invalidParams
26609	}
26610	return nil
26611}
26612
26613// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
26614func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
26615	s.RelationalDatabaseName = &v
26616	return s
26617}
26618
26619type StartRelationalDatabaseOutput struct {
26620	_ struct{} `type:"structure"`
26621
26622	// An array of objects that describe the result of the action, such as the status
26623	// of the request, the time stamp of the request, and the resources affected
26624	// by the request.
26625	Operations []*Operation `locationName:"operations" type:"list"`
26626}
26627
26628// String returns the string representation
26629func (s StartRelationalDatabaseOutput) String() string {
26630	return awsutil.Prettify(s)
26631}
26632
26633// GoString returns the string representation
26634func (s StartRelationalDatabaseOutput) GoString() string {
26635	return s.String()
26636}
26637
26638// SetOperations sets the Operations field's value.
26639func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
26640	s.Operations = v
26641	return s
26642}
26643
26644// Describes the static IP.
26645type StaticIp struct {
26646	_ struct{} `type:"structure"`
26647
26648	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
26649	Arn *string `locationName:"arn" type:"string"`
26650
26651	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
26652	AttachedTo *string `locationName:"attachedTo" type:"string"`
26653
26654	// The timestamp when the static IP was created (e.g., 1479735304.222).
26655	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26656
26657	// The static IP address.
26658	IpAddress *string `locationName:"ipAddress" type:"string"`
26659
26660	// A Boolean value indicating whether the static IP is attached.
26661	IsAttached *bool `locationName:"isAttached" type:"boolean"`
26662
26663	// The region and Availability Zone where the static IP was created.
26664	Location *ResourceLocation `locationName:"location" type:"structure"`
26665
26666	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
26667	Name *string `locationName:"name" type:"string"`
26668
26669	// The resource type (usually StaticIp).
26670	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26671
26672	// The support code. Include this code in your email to support when you have
26673	// questions about an instance or another resource in Lightsail. This code enables
26674	// our support team to look up your Lightsail information more easily.
26675	SupportCode *string `locationName:"supportCode" type:"string"`
26676}
26677
26678// String returns the string representation
26679func (s StaticIp) String() string {
26680	return awsutil.Prettify(s)
26681}
26682
26683// GoString returns the string representation
26684func (s StaticIp) GoString() string {
26685	return s.String()
26686}
26687
26688// SetArn sets the Arn field's value.
26689func (s *StaticIp) SetArn(v string) *StaticIp {
26690	s.Arn = &v
26691	return s
26692}
26693
26694// SetAttachedTo sets the AttachedTo field's value.
26695func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
26696	s.AttachedTo = &v
26697	return s
26698}
26699
26700// SetCreatedAt sets the CreatedAt field's value.
26701func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
26702	s.CreatedAt = &v
26703	return s
26704}
26705
26706// SetIpAddress sets the IpAddress field's value.
26707func (s *StaticIp) SetIpAddress(v string) *StaticIp {
26708	s.IpAddress = &v
26709	return s
26710}
26711
26712// SetIsAttached sets the IsAttached field's value.
26713func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
26714	s.IsAttached = &v
26715	return s
26716}
26717
26718// SetLocation sets the Location field's value.
26719func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
26720	s.Location = v
26721	return s
26722}
26723
26724// SetName sets the Name field's value.
26725func (s *StaticIp) SetName(v string) *StaticIp {
26726	s.Name = &v
26727	return s
26728}
26729
26730// SetResourceType sets the ResourceType field's value.
26731func (s *StaticIp) SetResourceType(v string) *StaticIp {
26732	s.ResourceType = &v
26733	return s
26734}
26735
26736// SetSupportCode sets the SupportCode field's value.
26737func (s *StaticIp) SetSupportCode(v string) *StaticIp {
26738	s.SupportCode = &v
26739	return s
26740}
26741
26742type StopInstanceInput struct {
26743	_ struct{} `type:"structure"`
26744
26745	// When set to True, forces a Lightsail instance that is stuck in a stopping
26746	// state to stop.
26747	//
26748	// Only use the force parameter if your instance is stuck in the stopping state.
26749	// In any other state, your instance should stop normally without adding this
26750	// parameter to your API request.
26751	Force *bool `locationName:"force" type:"boolean"`
26752
26753	// The name of the instance (a virtual private server) to stop.
26754	//
26755	// InstanceName is a required field
26756	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26757}
26758
26759// String returns the string representation
26760func (s StopInstanceInput) String() string {
26761	return awsutil.Prettify(s)
26762}
26763
26764// GoString returns the string representation
26765func (s StopInstanceInput) GoString() string {
26766	return s.String()
26767}
26768
26769// Validate inspects the fields of the type to determine if they are valid.
26770func (s *StopInstanceInput) Validate() error {
26771	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
26772	if s.InstanceName == nil {
26773		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26774	}
26775
26776	if invalidParams.Len() > 0 {
26777		return invalidParams
26778	}
26779	return nil
26780}
26781
26782// SetForce sets the Force field's value.
26783func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
26784	s.Force = &v
26785	return s
26786}
26787
26788// SetInstanceName sets the InstanceName field's value.
26789func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
26790	s.InstanceName = &v
26791	return s
26792}
26793
26794type StopInstanceOutput struct {
26795	_ struct{} `type:"structure"`
26796
26797	// An array of objects that describe the result of the action, such as the status
26798	// of the request, the time stamp of the request, and the resources affected
26799	// by the request.
26800	Operations []*Operation `locationName:"operations" type:"list"`
26801}
26802
26803// String returns the string representation
26804func (s StopInstanceOutput) String() string {
26805	return awsutil.Prettify(s)
26806}
26807
26808// GoString returns the string representation
26809func (s StopInstanceOutput) GoString() string {
26810	return s.String()
26811}
26812
26813// SetOperations sets the Operations field's value.
26814func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
26815	s.Operations = v
26816	return s
26817}
26818
26819type StopRelationalDatabaseInput struct {
26820	_ struct{} `type:"structure"`
26821
26822	// The name of your database to stop.
26823	//
26824	// RelationalDatabaseName is a required field
26825	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
26826
26827	// The name of your new database snapshot to be created before stopping your
26828	// database.
26829	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
26830}
26831
26832// String returns the string representation
26833func (s StopRelationalDatabaseInput) String() string {
26834	return awsutil.Prettify(s)
26835}
26836
26837// GoString returns the string representation
26838func (s StopRelationalDatabaseInput) GoString() string {
26839	return s.String()
26840}
26841
26842// Validate inspects the fields of the type to determine if they are valid.
26843func (s *StopRelationalDatabaseInput) Validate() error {
26844	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
26845	if s.RelationalDatabaseName == nil {
26846		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
26847	}
26848
26849	if invalidParams.Len() > 0 {
26850		return invalidParams
26851	}
26852	return nil
26853}
26854
26855// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
26856func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
26857	s.RelationalDatabaseName = &v
26858	return s
26859}
26860
26861// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
26862func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
26863	s.RelationalDatabaseSnapshotName = &v
26864	return s
26865}
26866
26867type StopRelationalDatabaseOutput struct {
26868	_ struct{} `type:"structure"`
26869
26870	// An array of objects that describe the result of the action, such as the status
26871	// of the request, the time stamp of the request, and the resources affected
26872	// by the request.
26873	Operations []*Operation `locationName:"operations" type:"list"`
26874}
26875
26876// String returns the string representation
26877func (s StopRelationalDatabaseOutput) String() string {
26878	return awsutil.Prettify(s)
26879}
26880
26881// GoString returns the string representation
26882func (s StopRelationalDatabaseOutput) GoString() string {
26883	return s.String()
26884}
26885
26886// SetOperations sets the Operations field's value.
26887func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
26888	s.Operations = v
26889	return s
26890}
26891
26892// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
26893//
26894// For more information about tags in Lightsail, see the Lightsail Dev Guide
26895// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
26896type Tag struct {
26897	_ struct{} `type:"structure"`
26898
26899	// The key of the tag.
26900	//
26901	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
26902	// UTF-8, or the following characters: + - = . _ : / @
26903	Key *string `locationName:"key" type:"string"`
26904
26905	// The value of the tag.
26906	//
26907	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
26908	// in UTF-8, or the following characters: + - = . _ : / @
26909	Value *string `locationName:"value" type:"string"`
26910}
26911
26912// String returns the string representation
26913func (s Tag) String() string {
26914	return awsutil.Prettify(s)
26915}
26916
26917// GoString returns the string representation
26918func (s Tag) GoString() string {
26919	return s.String()
26920}
26921
26922// SetKey sets the Key field's value.
26923func (s *Tag) SetKey(v string) *Tag {
26924	s.Key = &v
26925	return s
26926}
26927
26928// SetValue sets the Value field's value.
26929func (s *Tag) SetValue(v string) *Tag {
26930	s.Value = &v
26931	return s
26932}
26933
26934type TagResourceInput struct {
26935	_ struct{} `type:"structure"`
26936
26937	// The Amazon Resource Name (ARN) of the resource to which you want to add a
26938	// tag.
26939	ResourceArn *string `locationName:"resourceArn" type:"string"`
26940
26941	// The name of the resource to which you are adding tags.
26942	//
26943	// ResourceName is a required field
26944	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
26945
26946	// The tag key and optional value.
26947	//
26948	// Tags is a required field
26949	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
26950}
26951
26952// String returns the string representation
26953func (s TagResourceInput) String() string {
26954	return awsutil.Prettify(s)
26955}
26956
26957// GoString returns the string representation
26958func (s TagResourceInput) GoString() string {
26959	return s.String()
26960}
26961
26962// Validate inspects the fields of the type to determine if they are valid.
26963func (s *TagResourceInput) Validate() error {
26964	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
26965	if s.ResourceName == nil {
26966		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
26967	}
26968	if s.Tags == nil {
26969		invalidParams.Add(request.NewErrParamRequired("Tags"))
26970	}
26971
26972	if invalidParams.Len() > 0 {
26973		return invalidParams
26974	}
26975	return nil
26976}
26977
26978// SetResourceArn sets the ResourceArn field's value.
26979func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
26980	s.ResourceArn = &v
26981	return s
26982}
26983
26984// SetResourceName sets the ResourceName field's value.
26985func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
26986	s.ResourceName = &v
26987	return s
26988}
26989
26990// SetTags sets the Tags field's value.
26991func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
26992	s.Tags = v
26993	return s
26994}
26995
26996type TagResourceOutput struct {
26997	_ struct{} `type:"structure"`
26998
26999	// An array of objects that describe the result of the action, such as the status
27000	// of the request, the time stamp of the request, and the resources affected
27001	// by the request.
27002	Operations []*Operation `locationName:"operations" type:"list"`
27003}
27004
27005// String returns the string representation
27006func (s TagResourceOutput) String() string {
27007	return awsutil.Prettify(s)
27008}
27009
27010// GoString returns the string representation
27011func (s TagResourceOutput) GoString() string {
27012	return s.String()
27013}
27014
27015// SetOperations sets the Operations field's value.
27016func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
27017	s.Operations = v
27018	return s
27019}
27020
27021type TestAlarmInput struct {
27022	_ struct{} `type:"structure"`
27023
27024	// The name of the alarm to test.
27025	//
27026	// AlarmName is a required field
27027	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
27028
27029	// The alarm state to test.
27030	//
27031	// An alarm has the following possible states that can be tested:
27032	//
27033	//    * ALARM — The metric is outside of the defined threshold.
27034	//
27035	//    * INSUFFICIENT_DATA — The alarm has just started, the metric is not
27036	//    available, or not enough data is available for the metric to determine
27037	//    the alarm state.
27038	//
27039	//    * OK — The metric is within the defined threshold.
27040	//
27041	// State is a required field
27042	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
27043}
27044
27045// String returns the string representation
27046func (s TestAlarmInput) String() string {
27047	return awsutil.Prettify(s)
27048}
27049
27050// GoString returns the string representation
27051func (s TestAlarmInput) GoString() string {
27052	return s.String()
27053}
27054
27055// Validate inspects the fields of the type to determine if they are valid.
27056func (s *TestAlarmInput) Validate() error {
27057	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
27058	if s.AlarmName == nil {
27059		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
27060	}
27061	if s.State == nil {
27062		invalidParams.Add(request.NewErrParamRequired("State"))
27063	}
27064
27065	if invalidParams.Len() > 0 {
27066		return invalidParams
27067	}
27068	return nil
27069}
27070
27071// SetAlarmName sets the AlarmName field's value.
27072func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
27073	s.AlarmName = &v
27074	return s
27075}
27076
27077// SetState sets the State field's value.
27078func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
27079	s.State = &v
27080	return s
27081}
27082
27083type TestAlarmOutput struct {
27084	_ struct{} `type:"structure"`
27085
27086	// An array of objects that describe the result of the action, such as the status
27087	// of the request, the time stamp of the request, and the resources affected
27088	// by the request.
27089	Operations []*Operation `locationName:"operations" type:"list"`
27090}
27091
27092// String returns the string representation
27093func (s TestAlarmOutput) String() string {
27094	return awsutil.Prettify(s)
27095}
27096
27097// GoString returns the string representation
27098func (s TestAlarmOutput) GoString() string {
27099	return s.String()
27100}
27101
27102// SetOperations sets the Operations field's value.
27103func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
27104	s.Operations = v
27105	return s
27106}
27107
27108// Lightsail throws this exception when the user has not been authenticated.
27109type UnauthenticatedException struct {
27110	_            struct{} `type:"structure"`
27111	respMetadata protocol.ResponseMetadata
27112
27113	Code_ *string `locationName:"code" type:"string"`
27114
27115	Docs *string `locationName:"docs" type:"string"`
27116
27117	Message_ *string `locationName:"message" type:"string"`
27118
27119	Tip *string `locationName:"tip" type:"string"`
27120}
27121
27122// String returns the string representation
27123func (s UnauthenticatedException) String() string {
27124	return awsutil.Prettify(s)
27125}
27126
27127// GoString returns the string representation
27128func (s UnauthenticatedException) GoString() string {
27129	return s.String()
27130}
27131
27132func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
27133	return &UnauthenticatedException{
27134		respMetadata: v,
27135	}
27136}
27137
27138// Code returns the exception type name.
27139func (s UnauthenticatedException) Code() string {
27140	return "UnauthenticatedException"
27141}
27142
27143// Message returns the exception's message.
27144func (s UnauthenticatedException) Message() string {
27145	if s.Message_ != nil {
27146		return *s.Message_
27147	}
27148	return ""
27149}
27150
27151// OrigErr always returns nil, satisfies awserr.Error interface.
27152func (s UnauthenticatedException) OrigErr() error {
27153	return nil
27154}
27155
27156func (s UnauthenticatedException) Error() string {
27157	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27158}
27159
27160// Status code returns the HTTP status code for the request's response error.
27161func (s UnauthenticatedException) StatusCode() int {
27162	return s.respMetadata.StatusCode
27163}
27164
27165// RequestID returns the service's response RequestID for request.
27166func (s UnauthenticatedException) RequestID() string {
27167	return s.respMetadata.RequestID
27168}
27169
27170type UnpeerVpcInput struct {
27171	_ struct{} `type:"structure"`
27172}
27173
27174// String returns the string representation
27175func (s UnpeerVpcInput) String() string {
27176	return awsutil.Prettify(s)
27177}
27178
27179// GoString returns the string representation
27180func (s UnpeerVpcInput) GoString() string {
27181	return s.String()
27182}
27183
27184type UnpeerVpcOutput struct {
27185	_ struct{} `type:"structure"`
27186
27187	// An array of objects that describe the result of the action, such as the status
27188	// of the request, the time stamp of the request, and the resources affected
27189	// by the request.
27190	Operation *Operation `locationName:"operation" type:"structure"`
27191}
27192
27193// String returns the string representation
27194func (s UnpeerVpcOutput) String() string {
27195	return awsutil.Prettify(s)
27196}
27197
27198// GoString returns the string representation
27199func (s UnpeerVpcOutput) GoString() string {
27200	return s.String()
27201}
27202
27203// SetOperation sets the Operation field's value.
27204func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
27205	s.Operation = v
27206	return s
27207}
27208
27209type UntagResourceInput struct {
27210	_ struct{} `type:"structure"`
27211
27212	// The Amazon Resource Name (ARN) of the resource from which you want to remove
27213	// a tag.
27214	ResourceArn *string `locationName:"resourceArn" type:"string"`
27215
27216	// The name of the resource from which you are removing a tag.
27217	//
27218	// ResourceName is a required field
27219	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
27220
27221	// The tag keys to delete from the specified resource.
27222	//
27223	// TagKeys is a required field
27224	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
27225}
27226
27227// String returns the string representation
27228func (s UntagResourceInput) String() string {
27229	return awsutil.Prettify(s)
27230}
27231
27232// GoString returns the string representation
27233func (s UntagResourceInput) GoString() string {
27234	return s.String()
27235}
27236
27237// Validate inspects the fields of the type to determine if they are valid.
27238func (s *UntagResourceInput) Validate() error {
27239	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
27240	if s.ResourceName == nil {
27241		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
27242	}
27243	if s.TagKeys == nil {
27244		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
27245	}
27246
27247	if invalidParams.Len() > 0 {
27248		return invalidParams
27249	}
27250	return nil
27251}
27252
27253// SetResourceArn sets the ResourceArn field's value.
27254func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
27255	s.ResourceArn = &v
27256	return s
27257}
27258
27259// SetResourceName sets the ResourceName field's value.
27260func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
27261	s.ResourceName = &v
27262	return s
27263}
27264
27265// SetTagKeys sets the TagKeys field's value.
27266func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
27267	s.TagKeys = v
27268	return s
27269}
27270
27271type UntagResourceOutput struct {
27272	_ struct{} `type:"structure"`
27273
27274	// An array of objects that describe the result of the action, such as the status
27275	// of the request, the time stamp of the request, and the resources affected
27276	// by the request.
27277	Operations []*Operation `locationName:"operations" type:"list"`
27278}
27279
27280// String returns the string representation
27281func (s UntagResourceOutput) String() string {
27282	return awsutil.Prettify(s)
27283}
27284
27285// GoString returns the string representation
27286func (s UntagResourceOutput) GoString() string {
27287	return s.String()
27288}
27289
27290// SetOperations sets the Operations field's value.
27291func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
27292	s.Operations = v
27293	return s
27294}
27295
27296type UpdateDomainEntryInput struct {
27297	_ struct{} `type:"structure"`
27298
27299	// An array of key-value pairs containing information about the domain entry.
27300	//
27301	// DomainEntry is a required field
27302	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
27303
27304	// The name of the domain recordset to update.
27305	//
27306	// DomainName is a required field
27307	DomainName *string `locationName:"domainName" type:"string" required:"true"`
27308}
27309
27310// String returns the string representation
27311func (s UpdateDomainEntryInput) String() string {
27312	return awsutil.Prettify(s)
27313}
27314
27315// GoString returns the string representation
27316func (s UpdateDomainEntryInput) GoString() string {
27317	return s.String()
27318}
27319
27320// Validate inspects the fields of the type to determine if they are valid.
27321func (s *UpdateDomainEntryInput) Validate() error {
27322	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
27323	if s.DomainEntry == nil {
27324		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
27325	}
27326	if s.DomainName == nil {
27327		invalidParams.Add(request.NewErrParamRequired("DomainName"))
27328	}
27329
27330	if invalidParams.Len() > 0 {
27331		return invalidParams
27332	}
27333	return nil
27334}
27335
27336// SetDomainEntry sets the DomainEntry field's value.
27337func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
27338	s.DomainEntry = v
27339	return s
27340}
27341
27342// SetDomainName sets the DomainName field's value.
27343func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
27344	s.DomainName = &v
27345	return s
27346}
27347
27348type UpdateDomainEntryOutput struct {
27349	_ struct{} `type:"structure"`
27350
27351	// An array of objects that describe the result of the action, such as the status
27352	// of the request, the time stamp of the request, and the resources affected
27353	// by the request.
27354	Operations []*Operation `locationName:"operations" type:"list"`
27355}
27356
27357// String returns the string representation
27358func (s UpdateDomainEntryOutput) String() string {
27359	return awsutil.Prettify(s)
27360}
27361
27362// GoString returns the string representation
27363func (s UpdateDomainEntryOutput) GoString() string {
27364	return s.String()
27365}
27366
27367// SetOperations sets the Operations field's value.
27368func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
27369	s.Operations = v
27370	return s
27371}
27372
27373type UpdateLoadBalancerAttributeInput struct {
27374	_ struct{} `type:"structure"`
27375
27376	// The name of the attribute you want to update. Valid values are below.
27377	//
27378	// AttributeName is a required field
27379	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
27380
27381	// The value that you want to specify for the attribute name.
27382	//
27383	// AttributeValue is a required field
27384	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
27385
27386	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
27387	//
27388	// LoadBalancerName is a required field
27389	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
27390}
27391
27392// String returns the string representation
27393func (s UpdateLoadBalancerAttributeInput) String() string {
27394	return awsutil.Prettify(s)
27395}
27396
27397// GoString returns the string representation
27398func (s UpdateLoadBalancerAttributeInput) GoString() string {
27399	return s.String()
27400}
27401
27402// Validate inspects the fields of the type to determine if they are valid.
27403func (s *UpdateLoadBalancerAttributeInput) Validate() error {
27404	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
27405	if s.AttributeName == nil {
27406		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
27407	}
27408	if s.AttributeValue == nil {
27409		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
27410	}
27411	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
27412		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
27413	}
27414	if s.LoadBalancerName == nil {
27415		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
27416	}
27417
27418	if invalidParams.Len() > 0 {
27419		return invalidParams
27420	}
27421	return nil
27422}
27423
27424// SetAttributeName sets the AttributeName field's value.
27425func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
27426	s.AttributeName = &v
27427	return s
27428}
27429
27430// SetAttributeValue sets the AttributeValue field's value.
27431func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
27432	s.AttributeValue = &v
27433	return s
27434}
27435
27436// SetLoadBalancerName sets the LoadBalancerName field's value.
27437func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
27438	s.LoadBalancerName = &v
27439	return s
27440}
27441
27442type UpdateLoadBalancerAttributeOutput struct {
27443	_ struct{} `type:"structure"`
27444
27445	// An array of objects that describe the result of the action, such as the status
27446	// of the request, the time stamp of the request, and the resources affected
27447	// by the request.
27448	Operations []*Operation `locationName:"operations" type:"list"`
27449}
27450
27451// String returns the string representation
27452func (s UpdateLoadBalancerAttributeOutput) String() string {
27453	return awsutil.Prettify(s)
27454}
27455
27456// GoString returns the string representation
27457func (s UpdateLoadBalancerAttributeOutput) GoString() string {
27458	return s.String()
27459}
27460
27461// SetOperations sets the Operations field's value.
27462func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
27463	s.Operations = v
27464	return s
27465}
27466
27467type UpdateRelationalDatabaseInput struct {
27468	_ struct{} `type:"structure"`
27469
27470	// When true, applies changes immediately. When false, applies changes during
27471	// the preferred maintenance window. Some changes may cause an outage.
27472	//
27473	// Default: false
27474	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
27475
27476	// Indicates the certificate that needs to be associated with the database.
27477	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
27478
27479	// When true, disables automated backup retention for your database.
27480	//
27481	// Disabling backup retention deletes all automated database backups. Before
27482	// disabling this, you may want to create a snapshot of your database using
27483	// the create relational database snapshot operation.
27484	//
27485	// Updates are applied during the next maintenance window because this can result
27486	// in an outage.
27487	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
27488
27489	// When true, enables automated backup retention for your database.
27490	//
27491	// Updates are applied during the next maintenance window because this can result
27492	// in an outage.
27493	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
27494
27495	// The password for the master user of your database. The password can include
27496	// any printable ASCII character except "/", """, or "@".
27497	//
27498	// Constraints: Must contain 8 to 41 characters.
27499	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
27500
27501	// The daily time range during which automated backups are created for your
27502	// database if automated backups are enabled.
27503	//
27504	// Constraints:
27505	//
27506	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
27507	//
27508	//    * Specified in Coordinated Universal Time (UTC).
27509	//
27510	//    * Must not conflict with the preferred maintenance window.
27511	//
27512	//    * Must be at least 30 minutes.
27513	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
27514
27515	// The weekly time range during which system maintenance can occur on your database.
27516	//
27517	// The default is a 30-minute window selected at random from an 8-hour block
27518	// of time for each AWS Region, occurring on a random day of the week.
27519	//
27520	// Constraints:
27521	//
27522	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
27523	//
27524	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
27525	//
27526	//    * Must be at least 30 minutes.
27527	//
27528	//    * Specified in Coordinated Universal Time (UTC).
27529	//
27530	//    * Example: Tue:17:00-Tue:17:30
27531	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
27532
27533	// Specifies the accessibility options for your database. A value of true specifies
27534	// a database that is available to resources outside of your Lightsail account.
27535	// A value of false specifies a database that is available only to your Lightsail
27536	// resources in the same region as your database.
27537	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
27538
27539	// The name of your database to update.
27540	//
27541	// RelationalDatabaseName is a required field
27542	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
27543
27544	// When true, the master user password is changed to a new strong password generated
27545	// by Lightsail.
27546	//
27547	// Use the get relational database master user password operation to get the
27548	// new password.
27549	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
27550}
27551
27552// String returns the string representation
27553func (s UpdateRelationalDatabaseInput) String() string {
27554	return awsutil.Prettify(s)
27555}
27556
27557// GoString returns the string representation
27558func (s UpdateRelationalDatabaseInput) GoString() string {
27559	return s.String()
27560}
27561
27562// Validate inspects the fields of the type to determine if they are valid.
27563func (s *UpdateRelationalDatabaseInput) Validate() error {
27564	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
27565	if s.RelationalDatabaseName == nil {
27566		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
27567	}
27568
27569	if invalidParams.Len() > 0 {
27570		return invalidParams
27571	}
27572	return nil
27573}
27574
27575// SetApplyImmediately sets the ApplyImmediately field's value.
27576func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
27577	s.ApplyImmediately = &v
27578	return s
27579}
27580
27581// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
27582func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
27583	s.CaCertificateIdentifier = &v
27584	return s
27585}
27586
27587// SetDisableBackupRetention sets the DisableBackupRetention field's value.
27588func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
27589	s.DisableBackupRetention = &v
27590	return s
27591}
27592
27593// SetEnableBackupRetention sets the EnableBackupRetention field's value.
27594func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
27595	s.EnableBackupRetention = &v
27596	return s
27597}
27598
27599// SetMasterUserPassword sets the MasterUserPassword field's value.
27600func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
27601	s.MasterUserPassword = &v
27602	return s
27603}
27604
27605// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
27606func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
27607	s.PreferredBackupWindow = &v
27608	return s
27609}
27610
27611// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
27612func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
27613	s.PreferredMaintenanceWindow = &v
27614	return s
27615}
27616
27617// SetPubliclyAccessible sets the PubliclyAccessible field's value.
27618func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
27619	s.PubliclyAccessible = &v
27620	return s
27621}
27622
27623// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
27624func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
27625	s.RelationalDatabaseName = &v
27626	return s
27627}
27628
27629// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
27630func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
27631	s.RotateMasterUserPassword = &v
27632	return s
27633}
27634
27635type UpdateRelationalDatabaseOutput struct {
27636	_ struct{} `type:"structure"`
27637
27638	// An array of objects that describe the result of the action, such as the status
27639	// of the request, the time stamp of the request, and the resources affected
27640	// by the request.
27641	Operations []*Operation `locationName:"operations" type:"list"`
27642}
27643
27644// String returns the string representation
27645func (s UpdateRelationalDatabaseOutput) String() string {
27646	return awsutil.Prettify(s)
27647}
27648
27649// GoString returns the string representation
27650func (s UpdateRelationalDatabaseOutput) GoString() string {
27651	return s.String()
27652}
27653
27654// SetOperations sets the Operations field's value.
27655func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
27656	s.Operations = v
27657	return s
27658}
27659
27660type UpdateRelationalDatabaseParametersInput struct {
27661	_ struct{} `type:"structure"`
27662
27663	// The database parameters to update.
27664	//
27665	// Parameters is a required field
27666	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
27667
27668	// The name of your database for which to update parameters.
27669	//
27670	// RelationalDatabaseName is a required field
27671	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
27672}
27673
27674// String returns the string representation
27675func (s UpdateRelationalDatabaseParametersInput) String() string {
27676	return awsutil.Prettify(s)
27677}
27678
27679// GoString returns the string representation
27680func (s UpdateRelationalDatabaseParametersInput) GoString() string {
27681	return s.String()
27682}
27683
27684// Validate inspects the fields of the type to determine if they are valid.
27685func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
27686	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
27687	if s.Parameters == nil {
27688		invalidParams.Add(request.NewErrParamRequired("Parameters"))
27689	}
27690	if s.RelationalDatabaseName == nil {
27691		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
27692	}
27693
27694	if invalidParams.Len() > 0 {
27695		return invalidParams
27696	}
27697	return nil
27698}
27699
27700// SetParameters sets the Parameters field's value.
27701func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
27702	s.Parameters = v
27703	return s
27704}
27705
27706// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
27707func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
27708	s.RelationalDatabaseName = &v
27709	return s
27710}
27711
27712type UpdateRelationalDatabaseParametersOutput struct {
27713	_ struct{} `type:"structure"`
27714
27715	// An array of objects that describe the result of the action, such as the status
27716	// of the request, the time stamp of the request, and the resources affected
27717	// by the request.
27718	Operations []*Operation `locationName:"operations" type:"list"`
27719}
27720
27721// String returns the string representation
27722func (s UpdateRelationalDatabaseParametersOutput) String() string {
27723	return awsutil.Prettify(s)
27724}
27725
27726// GoString returns the string representation
27727func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
27728	return s.String()
27729}
27730
27731// SetOperations sets the Operations field's value.
27732func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
27733	s.Operations = v
27734	return s
27735}
27736
27737const (
27738	// AccessDirectionInbound is a AccessDirection enum value
27739	AccessDirectionInbound = "inbound"
27740
27741	// AccessDirectionOutbound is a AccessDirection enum value
27742	AccessDirectionOutbound = "outbound"
27743)
27744
27745const (
27746	// AddOnTypeAutoSnapshot is a AddOnType enum value
27747	AddOnTypeAutoSnapshot = "AutoSnapshot"
27748)
27749
27750const (
27751	// AlarmStateOk is a AlarmState enum value
27752	AlarmStateOk = "OK"
27753
27754	// AlarmStateAlarm is a AlarmState enum value
27755	AlarmStateAlarm = "ALARM"
27756
27757	// AlarmStateInsufficientData is a AlarmState enum value
27758	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
27759)
27760
27761const (
27762	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
27763	AutoSnapshotStatusSuccess = "Success"
27764
27765	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
27766	AutoSnapshotStatusFailed = "Failed"
27767
27768	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
27769	AutoSnapshotStatusInProgress = "InProgress"
27770
27771	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
27772	AutoSnapshotStatusNotFound = "NotFound"
27773)
27774
27775const (
27776	// BlueprintTypeOs is a BlueprintType enum value
27777	BlueprintTypeOs = "os"
27778
27779	// BlueprintTypeApp is a BlueprintType enum value
27780	BlueprintTypeApp = "app"
27781)
27782
27783const (
27784	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
27785	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
27786)
27787
27788const (
27789	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
27790	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
27791
27792	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
27793	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
27794
27795	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
27796	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
27797
27798	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
27799	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
27800)
27801
27802const (
27803	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
27804	ContactMethodStatusPendingVerification = "PendingVerification"
27805
27806	// ContactMethodStatusValid is a ContactMethodStatus enum value
27807	ContactMethodStatusValid = "Valid"
27808
27809	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
27810	ContactMethodStatusInvalid = "Invalid"
27811)
27812
27813const (
27814	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
27815	ContactMethodVerificationProtocolEmail = "Email"
27816)
27817
27818const (
27819	// ContactProtocolEmail is a ContactProtocol enum value
27820	ContactProtocolEmail = "Email"
27821
27822	// ContactProtocolSms is a ContactProtocol enum value
27823	ContactProtocolSms = "SMS"
27824)
27825
27826const (
27827	// DiskSnapshotStatePending is a DiskSnapshotState enum value
27828	DiskSnapshotStatePending = "pending"
27829
27830	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
27831	DiskSnapshotStateCompleted = "completed"
27832
27833	// DiskSnapshotStateError is a DiskSnapshotState enum value
27834	DiskSnapshotStateError = "error"
27835
27836	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
27837	DiskSnapshotStateUnknown = "unknown"
27838)
27839
27840const (
27841	// DiskStatePending is a DiskState enum value
27842	DiskStatePending = "pending"
27843
27844	// DiskStateError is a DiskState enum value
27845	DiskStateError = "error"
27846
27847	// DiskStateAvailable is a DiskState enum value
27848	DiskStateAvailable = "available"
27849
27850	// DiskStateInUse is a DiskState enum value
27851	DiskStateInUse = "in-use"
27852
27853	// DiskStateUnknown is a DiskState enum value
27854	DiskStateUnknown = "unknown"
27855)
27856
27857const (
27858	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
27859	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
27860
27861	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
27862	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
27863)
27864
27865const (
27866	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
27867	InstanceAccessProtocolSsh = "ssh"
27868
27869	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
27870	InstanceAccessProtocolRdp = "rdp"
27871)
27872
27873const (
27874	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
27875	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
27876
27877	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
27878	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
27879
27880	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
27881	InstanceHealthReasonLbInternalError = "Lb.InternalError"
27882
27883	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
27884	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
27885
27886	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
27887	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
27888
27889	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
27890	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
27891
27892	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
27893	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
27894
27895	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
27896	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
27897
27898	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
27899	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
27900
27901	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
27902	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
27903
27904	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
27905	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
27906)
27907
27908const (
27909	// InstanceHealthStateInitial is a InstanceHealthState enum value
27910	InstanceHealthStateInitial = "initial"
27911
27912	// InstanceHealthStateHealthy is a InstanceHealthState enum value
27913	InstanceHealthStateHealthy = "healthy"
27914
27915	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
27916	InstanceHealthStateUnhealthy = "unhealthy"
27917
27918	// InstanceHealthStateUnused is a InstanceHealthState enum value
27919	InstanceHealthStateUnused = "unused"
27920
27921	// InstanceHealthStateDraining is a InstanceHealthState enum value
27922	InstanceHealthStateDraining = "draining"
27923
27924	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
27925	InstanceHealthStateUnavailable = "unavailable"
27926)
27927
27928const (
27929	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
27930	InstanceMetricNameCpuutilization = "CPUUtilization"
27931
27932	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
27933	InstanceMetricNameNetworkIn = "NetworkIn"
27934
27935	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
27936	InstanceMetricNameNetworkOut = "NetworkOut"
27937
27938	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
27939	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
27940
27941	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
27942	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
27943
27944	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
27945	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
27946)
27947
27948const (
27949	// InstancePlatformLinuxUnix is a InstancePlatform enum value
27950	InstancePlatformLinuxUnix = "LINUX_UNIX"
27951
27952	// InstancePlatformWindows is a InstancePlatform enum value
27953	InstancePlatformWindows = "WINDOWS"
27954)
27955
27956const (
27957	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
27958	InstanceSnapshotStatePending = "pending"
27959
27960	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
27961	InstanceSnapshotStateError = "error"
27962
27963	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
27964	InstanceSnapshotStateAvailable = "available"
27965)
27966
27967const (
27968	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
27969	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
27970
27971	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
27972	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
27973
27974	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
27975	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
27976)
27977
27978const (
27979	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
27980	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
27981
27982	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
27983	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
27984
27985	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
27986	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
27987
27988	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
27989	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
27990
27991	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
27992	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
27993
27994	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
27995	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
27996
27997	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
27998	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
27999
28000	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
28001	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
28002
28003	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
28004	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
28005
28006	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
28007	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
28008
28009	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
28010	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
28011
28012	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
28013	LoadBalancerMetricNameRequestCount = "RequestCount"
28014)
28015
28016const (
28017	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
28018	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
28019
28020	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
28021	LoadBalancerProtocolHttp = "HTTP"
28022)
28023
28024const (
28025	// LoadBalancerStateActive is a LoadBalancerState enum value
28026	LoadBalancerStateActive = "active"
28027
28028	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
28029	LoadBalancerStateProvisioning = "provisioning"
28030
28031	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
28032	LoadBalancerStateActiveImpaired = "active_impaired"
28033
28034	// LoadBalancerStateFailed is a LoadBalancerState enum value
28035	LoadBalancerStateFailed = "failed"
28036
28037	// LoadBalancerStateUnknown is a LoadBalancerState enum value
28038	LoadBalancerStateUnknown = "unknown"
28039)
28040
28041const (
28042	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
28043	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
28044
28045	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
28046	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
28047
28048	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
28049	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
28050)
28051
28052const (
28053	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
28054	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
28055
28056	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
28057	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
28058
28059	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
28060	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
28061
28062	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
28063	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
28064
28065	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
28066	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
28067)
28068
28069const (
28070	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
28071	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
28072
28073	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
28074	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
28075
28076	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
28077	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
28078
28079	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
28080	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
28081)
28082
28083const (
28084	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
28085	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
28086
28087	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
28088	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
28089
28090	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
28091	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
28092
28093	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
28094	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
28095
28096	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
28097	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
28098
28099	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
28100	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
28101
28102	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
28103	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
28104
28105	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
28106	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
28107
28108	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
28109	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
28110
28111	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
28112	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
28113)
28114
28115const (
28116	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
28117	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
28118
28119	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
28120	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
28121
28122	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
28123	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
28124
28125	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
28126	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
28127
28128	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
28129	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
28130
28131	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
28132	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
28133
28134	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
28135	LoadBalancerTlsCertificateStatusFailed = "FAILED"
28136
28137	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
28138	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
28139)
28140
28141const (
28142	// MetricNameCpuutilization is a MetricName enum value
28143	MetricNameCpuutilization = "CPUUtilization"
28144
28145	// MetricNameNetworkIn is a MetricName enum value
28146	MetricNameNetworkIn = "NetworkIn"
28147
28148	// MetricNameNetworkOut is a MetricName enum value
28149	MetricNameNetworkOut = "NetworkOut"
28150
28151	// MetricNameStatusCheckFailed is a MetricName enum value
28152	MetricNameStatusCheckFailed = "StatusCheckFailed"
28153
28154	// MetricNameStatusCheckFailedInstance is a MetricName enum value
28155	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
28156
28157	// MetricNameStatusCheckFailedSystem is a MetricName enum value
28158	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
28159
28160	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
28161	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
28162
28163	// MetricNameHealthyHostCount is a MetricName enum value
28164	MetricNameHealthyHostCount = "HealthyHostCount"
28165
28166	// MetricNameUnhealthyHostCount is a MetricName enum value
28167	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
28168
28169	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
28170	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
28171
28172	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
28173	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
28174
28175	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
28176	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
28177
28178	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
28179	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
28180
28181	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
28182	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
28183
28184	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
28185	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
28186
28187	// MetricNameInstanceResponseTime is a MetricName enum value
28188	MetricNameInstanceResponseTime = "InstanceResponseTime"
28189
28190	// MetricNameRejectedConnectionCount is a MetricName enum value
28191	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
28192
28193	// MetricNameRequestCount is a MetricName enum value
28194	MetricNameRequestCount = "RequestCount"
28195
28196	// MetricNameDatabaseConnections is a MetricName enum value
28197	MetricNameDatabaseConnections = "DatabaseConnections"
28198
28199	// MetricNameDiskQueueDepth is a MetricName enum value
28200	MetricNameDiskQueueDepth = "DiskQueueDepth"
28201
28202	// MetricNameFreeStorageSpace is a MetricName enum value
28203	MetricNameFreeStorageSpace = "FreeStorageSpace"
28204
28205	// MetricNameNetworkReceiveThroughput is a MetricName enum value
28206	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
28207
28208	// MetricNameNetworkTransmitThroughput is a MetricName enum value
28209	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
28210)
28211
28212const (
28213	// MetricStatisticMinimum is a MetricStatistic enum value
28214	MetricStatisticMinimum = "Minimum"
28215
28216	// MetricStatisticMaximum is a MetricStatistic enum value
28217	MetricStatisticMaximum = "Maximum"
28218
28219	// MetricStatisticSum is a MetricStatistic enum value
28220	MetricStatisticSum = "Sum"
28221
28222	// MetricStatisticAverage is a MetricStatistic enum value
28223	MetricStatisticAverage = "Average"
28224
28225	// MetricStatisticSampleCount is a MetricStatistic enum value
28226	MetricStatisticSampleCount = "SampleCount"
28227)
28228
28229const (
28230	// MetricUnitSeconds is a MetricUnit enum value
28231	MetricUnitSeconds = "Seconds"
28232
28233	// MetricUnitMicroseconds is a MetricUnit enum value
28234	MetricUnitMicroseconds = "Microseconds"
28235
28236	// MetricUnitMilliseconds is a MetricUnit enum value
28237	MetricUnitMilliseconds = "Milliseconds"
28238
28239	// MetricUnitBytes is a MetricUnit enum value
28240	MetricUnitBytes = "Bytes"
28241
28242	// MetricUnitKilobytes is a MetricUnit enum value
28243	MetricUnitKilobytes = "Kilobytes"
28244
28245	// MetricUnitMegabytes is a MetricUnit enum value
28246	MetricUnitMegabytes = "Megabytes"
28247
28248	// MetricUnitGigabytes is a MetricUnit enum value
28249	MetricUnitGigabytes = "Gigabytes"
28250
28251	// MetricUnitTerabytes is a MetricUnit enum value
28252	MetricUnitTerabytes = "Terabytes"
28253
28254	// MetricUnitBits is a MetricUnit enum value
28255	MetricUnitBits = "Bits"
28256
28257	// MetricUnitKilobits is a MetricUnit enum value
28258	MetricUnitKilobits = "Kilobits"
28259
28260	// MetricUnitMegabits is a MetricUnit enum value
28261	MetricUnitMegabits = "Megabits"
28262
28263	// MetricUnitGigabits is a MetricUnit enum value
28264	MetricUnitGigabits = "Gigabits"
28265
28266	// MetricUnitTerabits is a MetricUnit enum value
28267	MetricUnitTerabits = "Terabits"
28268
28269	// MetricUnitPercent is a MetricUnit enum value
28270	MetricUnitPercent = "Percent"
28271
28272	// MetricUnitCount is a MetricUnit enum value
28273	MetricUnitCount = "Count"
28274
28275	// MetricUnitBytesSecond is a MetricUnit enum value
28276	MetricUnitBytesSecond = "Bytes/Second"
28277
28278	// MetricUnitKilobytesSecond is a MetricUnit enum value
28279	MetricUnitKilobytesSecond = "Kilobytes/Second"
28280
28281	// MetricUnitMegabytesSecond is a MetricUnit enum value
28282	MetricUnitMegabytesSecond = "Megabytes/Second"
28283
28284	// MetricUnitGigabytesSecond is a MetricUnit enum value
28285	MetricUnitGigabytesSecond = "Gigabytes/Second"
28286
28287	// MetricUnitTerabytesSecond is a MetricUnit enum value
28288	MetricUnitTerabytesSecond = "Terabytes/Second"
28289
28290	// MetricUnitBitsSecond is a MetricUnit enum value
28291	MetricUnitBitsSecond = "Bits/Second"
28292
28293	// MetricUnitKilobitsSecond is a MetricUnit enum value
28294	MetricUnitKilobitsSecond = "Kilobits/Second"
28295
28296	// MetricUnitMegabitsSecond is a MetricUnit enum value
28297	MetricUnitMegabitsSecond = "Megabits/Second"
28298
28299	// MetricUnitGigabitsSecond is a MetricUnit enum value
28300	MetricUnitGigabitsSecond = "Gigabits/Second"
28301
28302	// MetricUnitTerabitsSecond is a MetricUnit enum value
28303	MetricUnitTerabitsSecond = "Terabits/Second"
28304
28305	// MetricUnitCountSecond is a MetricUnit enum value
28306	MetricUnitCountSecond = "Count/Second"
28307
28308	// MetricUnitNone is a MetricUnit enum value
28309	MetricUnitNone = "None"
28310)
28311
28312const (
28313	// NetworkProtocolTcp is a NetworkProtocol enum value
28314	NetworkProtocolTcp = "tcp"
28315
28316	// NetworkProtocolAll is a NetworkProtocol enum value
28317	NetworkProtocolAll = "all"
28318
28319	// NetworkProtocolUdp is a NetworkProtocol enum value
28320	NetworkProtocolUdp = "udp"
28321)
28322
28323const (
28324	// OperationStatusNotStarted is a OperationStatus enum value
28325	OperationStatusNotStarted = "NotStarted"
28326
28327	// OperationStatusStarted is a OperationStatus enum value
28328	OperationStatusStarted = "Started"
28329
28330	// OperationStatusFailed is a OperationStatus enum value
28331	OperationStatusFailed = "Failed"
28332
28333	// OperationStatusCompleted is a OperationStatus enum value
28334	OperationStatusCompleted = "Completed"
28335
28336	// OperationStatusSucceeded is a OperationStatus enum value
28337	OperationStatusSucceeded = "Succeeded"
28338)
28339
28340const (
28341	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
28342	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
28343
28344	// OperationTypeDeleteInstance is a OperationType enum value
28345	OperationTypeDeleteInstance = "DeleteInstance"
28346
28347	// OperationTypeCreateInstance is a OperationType enum value
28348	OperationTypeCreateInstance = "CreateInstance"
28349
28350	// OperationTypeStopInstance is a OperationType enum value
28351	OperationTypeStopInstance = "StopInstance"
28352
28353	// OperationTypeStartInstance is a OperationType enum value
28354	OperationTypeStartInstance = "StartInstance"
28355
28356	// OperationTypeRebootInstance is a OperationType enum value
28357	OperationTypeRebootInstance = "RebootInstance"
28358
28359	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
28360	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
28361
28362	// OperationTypePutInstancePublicPorts is a OperationType enum value
28363	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
28364
28365	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
28366	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
28367
28368	// OperationTypeAllocateStaticIp is a OperationType enum value
28369	OperationTypeAllocateStaticIp = "AllocateStaticIp"
28370
28371	// OperationTypeReleaseStaticIp is a OperationType enum value
28372	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
28373
28374	// OperationTypeAttachStaticIp is a OperationType enum value
28375	OperationTypeAttachStaticIp = "AttachStaticIp"
28376
28377	// OperationTypeDetachStaticIp is a OperationType enum value
28378	OperationTypeDetachStaticIp = "DetachStaticIp"
28379
28380	// OperationTypeUpdateDomainEntry is a OperationType enum value
28381	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
28382
28383	// OperationTypeDeleteDomainEntry is a OperationType enum value
28384	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
28385
28386	// OperationTypeCreateDomain is a OperationType enum value
28387	OperationTypeCreateDomain = "CreateDomain"
28388
28389	// OperationTypeDeleteDomain is a OperationType enum value
28390	OperationTypeDeleteDomain = "DeleteDomain"
28391
28392	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
28393	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
28394
28395	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
28396	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
28397
28398	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
28399	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
28400
28401	// OperationTypeCreateLoadBalancer is a OperationType enum value
28402	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
28403
28404	// OperationTypeDeleteLoadBalancer is a OperationType enum value
28405	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
28406
28407	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
28408	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
28409
28410	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
28411	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
28412
28413	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
28414	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
28415
28416	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
28417	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
28418
28419	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
28420	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
28421
28422	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
28423	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
28424
28425	// OperationTypeCreateDisk is a OperationType enum value
28426	OperationTypeCreateDisk = "CreateDisk"
28427
28428	// OperationTypeDeleteDisk is a OperationType enum value
28429	OperationTypeDeleteDisk = "DeleteDisk"
28430
28431	// OperationTypeAttachDisk is a OperationType enum value
28432	OperationTypeAttachDisk = "AttachDisk"
28433
28434	// OperationTypeDetachDisk is a OperationType enum value
28435	OperationTypeDetachDisk = "DetachDisk"
28436
28437	// OperationTypeCreateDiskSnapshot is a OperationType enum value
28438	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
28439
28440	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
28441	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
28442
28443	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
28444	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
28445
28446	// OperationTypeCreateRelationalDatabase is a OperationType enum value
28447	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
28448
28449	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
28450	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
28451
28452	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
28453	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
28454
28455	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
28456	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
28457
28458	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
28459	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
28460
28461	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
28462	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
28463
28464	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
28465	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
28466
28467	// OperationTypeStartRelationalDatabase is a OperationType enum value
28468	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
28469
28470	// OperationTypeRebootRelationalDatabase is a OperationType enum value
28471	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
28472
28473	// OperationTypeStopRelationalDatabase is a OperationType enum value
28474	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
28475
28476	// OperationTypeEnableAddOn is a OperationType enum value
28477	OperationTypeEnableAddOn = "EnableAddOn"
28478
28479	// OperationTypeDisableAddOn is a OperationType enum value
28480	OperationTypeDisableAddOn = "DisableAddOn"
28481
28482	// OperationTypePutAlarm is a OperationType enum value
28483	OperationTypePutAlarm = "PutAlarm"
28484
28485	// OperationTypeGetAlarms is a OperationType enum value
28486	OperationTypeGetAlarms = "GetAlarms"
28487
28488	// OperationTypeDeleteAlarm is a OperationType enum value
28489	OperationTypeDeleteAlarm = "DeleteAlarm"
28490
28491	// OperationTypeTestAlarm is a OperationType enum value
28492	OperationTypeTestAlarm = "TestAlarm"
28493
28494	// OperationTypeCreateContactMethod is a OperationType enum value
28495	OperationTypeCreateContactMethod = "CreateContactMethod"
28496
28497	// OperationTypeGetContactMethods is a OperationType enum value
28498	OperationTypeGetContactMethods = "GetContactMethods"
28499
28500	// OperationTypeSendContactMethodVerification is a OperationType enum value
28501	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
28502
28503	// OperationTypeDeleteContactMethod is a OperationType enum value
28504	OperationTypeDeleteContactMethod = "DeleteContactMethod"
28505)
28506
28507const (
28508	// PortAccessTypePublic is a PortAccessType enum value
28509	PortAccessTypePublic = "Public"
28510
28511	// PortAccessTypePrivate is a PortAccessType enum value
28512	PortAccessTypePrivate = "Private"
28513)
28514
28515const (
28516	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
28517	PortInfoSourceTypeDefault = "DEFAULT"
28518
28519	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
28520	PortInfoSourceTypeInstance = "INSTANCE"
28521
28522	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
28523	PortInfoSourceTypeNone = "NONE"
28524
28525	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
28526	PortInfoSourceTypeClosed = "CLOSED"
28527)
28528
28529const (
28530	// PortStateOpen is a PortState enum value
28531	PortStateOpen = "open"
28532
28533	// PortStateClosed is a PortState enum value
28534	PortStateClosed = "closed"
28535)
28536
28537const (
28538	// RecordStateStarted is a RecordState enum value
28539	RecordStateStarted = "Started"
28540
28541	// RecordStateSucceeded is a RecordState enum value
28542	RecordStateSucceeded = "Succeeded"
28543
28544	// RecordStateFailed is a RecordState enum value
28545	RecordStateFailed = "Failed"
28546)
28547
28548const (
28549	// RegionNameUsEast1 is a RegionName enum value
28550	RegionNameUsEast1 = "us-east-1"
28551
28552	// RegionNameUsEast2 is a RegionName enum value
28553	RegionNameUsEast2 = "us-east-2"
28554
28555	// RegionNameUsWest1 is a RegionName enum value
28556	RegionNameUsWest1 = "us-west-1"
28557
28558	// RegionNameUsWest2 is a RegionName enum value
28559	RegionNameUsWest2 = "us-west-2"
28560
28561	// RegionNameEuWest1 is a RegionName enum value
28562	RegionNameEuWest1 = "eu-west-1"
28563
28564	// RegionNameEuWest2 is a RegionName enum value
28565	RegionNameEuWest2 = "eu-west-2"
28566
28567	// RegionNameEuWest3 is a RegionName enum value
28568	RegionNameEuWest3 = "eu-west-3"
28569
28570	// RegionNameEuCentral1 is a RegionName enum value
28571	RegionNameEuCentral1 = "eu-central-1"
28572
28573	// RegionNameCaCentral1 is a RegionName enum value
28574	RegionNameCaCentral1 = "ca-central-1"
28575
28576	// RegionNameApSouth1 is a RegionName enum value
28577	RegionNameApSouth1 = "ap-south-1"
28578
28579	// RegionNameApSoutheast1 is a RegionName enum value
28580	RegionNameApSoutheast1 = "ap-southeast-1"
28581
28582	// RegionNameApSoutheast2 is a RegionName enum value
28583	RegionNameApSoutheast2 = "ap-southeast-2"
28584
28585	// RegionNameApNortheast1 is a RegionName enum value
28586	RegionNameApNortheast1 = "ap-northeast-1"
28587
28588	// RegionNameApNortheast2 is a RegionName enum value
28589	RegionNameApNortheast2 = "ap-northeast-2"
28590)
28591
28592const (
28593	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
28594	RelationalDatabaseEngineMysql = "mysql"
28595)
28596
28597const (
28598	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
28599	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
28600
28601	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
28602	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
28603
28604	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
28605	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
28606
28607	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
28608	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
28609
28610	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
28611	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
28612
28613	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
28614	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
28615)
28616
28617const (
28618	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
28619	RelationalDatabasePasswordVersionCurrent = "CURRENT"
28620
28621	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
28622	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
28623
28624	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
28625	RelationalDatabasePasswordVersionPending = "PENDING"
28626)
28627
28628const (
28629	// ResourceTypeInstance is a ResourceType enum value
28630	ResourceTypeInstance = "Instance"
28631
28632	// ResourceTypeStaticIp is a ResourceType enum value
28633	ResourceTypeStaticIp = "StaticIp"
28634
28635	// ResourceTypeKeyPair is a ResourceType enum value
28636	ResourceTypeKeyPair = "KeyPair"
28637
28638	// ResourceTypeInstanceSnapshot is a ResourceType enum value
28639	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
28640
28641	// ResourceTypeDomain is a ResourceType enum value
28642	ResourceTypeDomain = "Domain"
28643
28644	// ResourceTypePeeredVpc is a ResourceType enum value
28645	ResourceTypePeeredVpc = "PeeredVpc"
28646
28647	// ResourceTypeLoadBalancer is a ResourceType enum value
28648	ResourceTypeLoadBalancer = "LoadBalancer"
28649
28650	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
28651	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
28652
28653	// ResourceTypeDisk is a ResourceType enum value
28654	ResourceTypeDisk = "Disk"
28655
28656	// ResourceTypeDiskSnapshot is a ResourceType enum value
28657	ResourceTypeDiskSnapshot = "DiskSnapshot"
28658
28659	// ResourceTypeRelationalDatabase is a ResourceType enum value
28660	ResourceTypeRelationalDatabase = "RelationalDatabase"
28661
28662	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
28663	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
28664
28665	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
28666	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
28667
28668	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
28669	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
28670
28671	// ResourceTypeAlarm is a ResourceType enum value
28672	ResourceTypeAlarm = "Alarm"
28673
28674	// ResourceTypeContactMethod is a ResourceType enum value
28675	ResourceTypeContactMethod = "ContactMethod"
28676)
28677
28678const (
28679	// TreatMissingDataBreaching is a TreatMissingData enum value
28680	TreatMissingDataBreaching = "breaching"
28681
28682	// TreatMissingDataNotBreaching is a TreatMissingData enum value
28683	TreatMissingDataNotBreaching = "notBreaching"
28684
28685	// TreatMissingDataIgnore is a TreatMissingData enum value
28686	TreatMissingDataIgnore = "ignore"
28687
28688	// TreatMissingDataMissing is a TreatMissingData enum value
28689	TreatMissingDataMissing = "missing"
28690)
28691