github.com/aavshr/aws-sdk-go@v1.41.3/service/lightsail/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package lightsail
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opAllocateStaticIp = "AllocateStaticIp"
    17  
    18  // AllocateStaticIpRequest generates a "aws/request.Request" representing the
    19  // client's request for the AllocateStaticIp operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AllocateStaticIp for more information on using the AllocateStaticIp
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AllocateStaticIpRequest method.
    34  //    req, resp := client.AllocateStaticIpRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
    42  func (c *Lightsail) AllocateStaticIpRequest(input *AllocateStaticIpInput) (req *request.Request, output *AllocateStaticIpOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAllocateStaticIp,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AllocateStaticIpInput{}
    51  	}
    52  
    53  	output = &AllocateStaticIpOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AllocateStaticIp API operation for Amazon Lightsail.
    59  //
    60  // Allocates a static IP address.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon Lightsail's
    67  // API operation AllocateStaticIp for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ServiceException
    71  //   A general service exception.
    72  //
    73  //   * InvalidInputException
    74  //   Lightsail throws this exception when user input does not conform to the validation
    75  //   rules of an input field.
    76  //
    77  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
    78  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
    79  //   view, or edit these resources.
    80  //
    81  //   * NotFoundException
    82  //   Lightsail throws this exception when it cannot find a resource.
    83  //
    84  //   * OperationFailureException
    85  //   Lightsail throws this exception when an operation fails to execute.
    86  //
    87  //   * AccessDeniedException
    88  //   Lightsail throws this exception when the user cannot be authenticated or
    89  //   uses invalid credentials to access a resource.
    90  //
    91  //   * AccountSetupInProgressException
    92  //   Lightsail throws this exception when an account is still in the setup in
    93  //   progress state.
    94  //
    95  //   * UnauthenticatedException
    96  //   Lightsail throws this exception when the user has not been authenticated.
    97  //
    98  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
    99  func (c *Lightsail) AllocateStaticIp(input *AllocateStaticIpInput) (*AllocateStaticIpOutput, error) {
   100  	req, out := c.AllocateStaticIpRequest(input)
   101  	return out, req.Send()
   102  }
   103  
   104  // AllocateStaticIpWithContext is the same as AllocateStaticIp with the addition of
   105  // the ability to pass a context and additional request options.
   106  //
   107  // See AllocateStaticIp for details on how to use this API operation.
   108  //
   109  // The context must be non-nil and will be used for request cancellation. If
   110  // the context is nil a panic will occur. In the future the SDK may create
   111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   112  // for more information on using Contexts.
   113  func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *AllocateStaticIpInput, opts ...request.Option) (*AllocateStaticIpOutput, error) {
   114  	req, out := c.AllocateStaticIpRequest(input)
   115  	req.SetContext(ctx)
   116  	req.ApplyOptions(opts...)
   117  	return out, req.Send()
   118  }
   119  
   120  const opAttachCertificateToDistribution = "AttachCertificateToDistribution"
   121  
   122  // AttachCertificateToDistributionRequest generates a "aws/request.Request" representing the
   123  // client's request for the AttachCertificateToDistribution operation. The "output" return
   124  // value will be populated with the request's response once the request completes
   125  // successfully.
   126  //
   127  // Use "Send" method on the returned Request to send the API call to the service.
   128  // the "output" return value is not valid until after Send returns without error.
   129  //
   130  // See AttachCertificateToDistribution for more information on using the AttachCertificateToDistribution
   131  // API call, and error handling.
   132  //
   133  // This method is useful when you want to inject custom logic or configuration
   134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   135  //
   136  //
   137  //    // Example sending a request using the AttachCertificateToDistributionRequest method.
   138  //    req, resp := client.AttachCertificateToDistributionRequest(params)
   139  //
   140  //    err := req.Send()
   141  //    if err == nil { // resp is now filled
   142  //        fmt.Println(resp)
   143  //    }
   144  //
   145  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution
   146  func (c *Lightsail) AttachCertificateToDistributionRequest(input *AttachCertificateToDistributionInput) (req *request.Request, output *AttachCertificateToDistributionOutput) {
   147  	op := &request.Operation{
   148  		Name:       opAttachCertificateToDistribution,
   149  		HTTPMethod: "POST",
   150  		HTTPPath:   "/",
   151  	}
   152  
   153  	if input == nil {
   154  		input = &AttachCertificateToDistributionInput{}
   155  	}
   156  
   157  	output = &AttachCertificateToDistributionOutput{}
   158  	req = c.newRequest(op, input, output)
   159  	return
   160  }
   161  
   162  // AttachCertificateToDistribution API operation for Amazon Lightsail.
   163  //
   164  // Attaches an SSL/TLS certificate to your Amazon Lightsail content delivery
   165  // network (CDN) distribution.
   166  //
   167  // After the certificate is attached, your distribution accepts HTTPS traffic
   168  // for all of the domains that are associated with the certificate.
   169  //
   170  // Use the CreateCertificate action to create a certificate that you can attach
   171  // to your distribution.
   172  //
   173  // Only certificates created in the us-east-1 AWS Region can be attached to
   174  // Lightsail distributions. Lightsail distributions are global resources that
   175  // can reference an origin in any AWS Region, and distribute its content globally.
   176  // However, all distributions are located in the us-east-1 Region.
   177  //
   178  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   179  // with awserr.Error's Code and Message methods to get detailed information about
   180  // the error.
   181  //
   182  // See the AWS API reference guide for Amazon Lightsail's
   183  // API operation AttachCertificateToDistribution for usage and error information.
   184  //
   185  // Returned Error Types:
   186  //   * ServiceException
   187  //   A general service exception.
   188  //
   189  //   * InvalidInputException
   190  //   Lightsail throws this exception when user input does not conform to the validation
   191  //   rules of an input field.
   192  //
   193  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   194  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   195  //   view, or edit these resources.
   196  //
   197  //   * NotFoundException
   198  //   Lightsail throws this exception when it cannot find a resource.
   199  //
   200  //   * OperationFailureException
   201  //   Lightsail throws this exception when an operation fails to execute.
   202  //
   203  //   * AccessDeniedException
   204  //   Lightsail throws this exception when the user cannot be authenticated or
   205  //   uses invalid credentials to access a resource.
   206  //
   207  //   * UnauthenticatedException
   208  //   Lightsail throws this exception when the user has not been authenticated.
   209  //
   210  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution
   211  func (c *Lightsail) AttachCertificateToDistribution(input *AttachCertificateToDistributionInput) (*AttachCertificateToDistributionOutput, error) {
   212  	req, out := c.AttachCertificateToDistributionRequest(input)
   213  	return out, req.Send()
   214  }
   215  
   216  // AttachCertificateToDistributionWithContext is the same as AttachCertificateToDistribution with the addition of
   217  // the ability to pass a context and additional request options.
   218  //
   219  // See AttachCertificateToDistribution for details on how to use this API operation.
   220  //
   221  // The context must be non-nil and will be used for request cancellation. If
   222  // the context is nil a panic will occur. In the future the SDK may create
   223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   224  // for more information on using Contexts.
   225  func (c *Lightsail) AttachCertificateToDistributionWithContext(ctx aws.Context, input *AttachCertificateToDistributionInput, opts ...request.Option) (*AttachCertificateToDistributionOutput, error) {
   226  	req, out := c.AttachCertificateToDistributionRequest(input)
   227  	req.SetContext(ctx)
   228  	req.ApplyOptions(opts...)
   229  	return out, req.Send()
   230  }
   231  
   232  const opAttachDisk = "AttachDisk"
   233  
   234  // AttachDiskRequest generates a "aws/request.Request" representing the
   235  // client's request for the AttachDisk operation. The "output" return
   236  // value will be populated with the request's response once the request completes
   237  // successfully.
   238  //
   239  // Use "Send" method on the returned Request to send the API call to the service.
   240  // the "output" return value is not valid until after Send returns without error.
   241  //
   242  // See AttachDisk for more information on using the AttachDisk
   243  // API call, and error handling.
   244  //
   245  // This method is useful when you want to inject custom logic or configuration
   246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   247  //
   248  //
   249  //    // Example sending a request using the AttachDiskRequest method.
   250  //    req, resp := client.AttachDiskRequest(params)
   251  //
   252  //    err := req.Send()
   253  //    if err == nil { // resp is now filled
   254  //        fmt.Println(resp)
   255  //    }
   256  //
   257  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
   258  func (c *Lightsail) AttachDiskRequest(input *AttachDiskInput) (req *request.Request, output *AttachDiskOutput) {
   259  	op := &request.Operation{
   260  		Name:       opAttachDisk,
   261  		HTTPMethod: "POST",
   262  		HTTPPath:   "/",
   263  	}
   264  
   265  	if input == nil {
   266  		input = &AttachDiskInput{}
   267  	}
   268  
   269  	output = &AttachDiskOutput{}
   270  	req = c.newRequest(op, input, output)
   271  	return
   272  }
   273  
   274  // AttachDisk API operation for Amazon Lightsail.
   275  //
   276  // Attaches a block storage disk to a running or stopped Lightsail instance
   277  // and exposes it to the instance with the specified disk name.
   278  //
   279  // The attach disk operation supports tag-based access control via resource
   280  // tags applied to the resource identified by disk name. For more information,
   281  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
   282  //
   283  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   284  // with awserr.Error's Code and Message methods to get detailed information about
   285  // the error.
   286  //
   287  // See the AWS API reference guide for Amazon Lightsail's
   288  // API operation AttachDisk for usage and error information.
   289  //
   290  // Returned Error Types:
   291  //   * ServiceException
   292  //   A general service exception.
   293  //
   294  //   * InvalidInputException
   295  //   Lightsail throws this exception when user input does not conform to the validation
   296  //   rules of an input field.
   297  //
   298  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   299  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   300  //   view, or edit these resources.
   301  //
   302  //   * NotFoundException
   303  //   Lightsail throws this exception when it cannot find a resource.
   304  //
   305  //   * OperationFailureException
   306  //   Lightsail throws this exception when an operation fails to execute.
   307  //
   308  //   * AccessDeniedException
   309  //   Lightsail throws this exception when the user cannot be authenticated or
   310  //   uses invalid credentials to access a resource.
   311  //
   312  //   * AccountSetupInProgressException
   313  //   Lightsail throws this exception when an account is still in the setup in
   314  //   progress state.
   315  //
   316  //   * UnauthenticatedException
   317  //   Lightsail throws this exception when the user has not been authenticated.
   318  //
   319  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
   320  func (c *Lightsail) AttachDisk(input *AttachDiskInput) (*AttachDiskOutput, error) {
   321  	req, out := c.AttachDiskRequest(input)
   322  	return out, req.Send()
   323  }
   324  
   325  // AttachDiskWithContext is the same as AttachDisk with the addition of
   326  // the ability to pass a context and additional request options.
   327  //
   328  // See AttachDisk for details on how to use this API operation.
   329  //
   330  // The context must be non-nil and will be used for request cancellation. If
   331  // the context is nil a panic will occur. In the future the SDK may create
   332  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   333  // for more information on using Contexts.
   334  func (c *Lightsail) AttachDiskWithContext(ctx aws.Context, input *AttachDiskInput, opts ...request.Option) (*AttachDiskOutput, error) {
   335  	req, out := c.AttachDiskRequest(input)
   336  	req.SetContext(ctx)
   337  	req.ApplyOptions(opts...)
   338  	return out, req.Send()
   339  }
   340  
   341  const opAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
   342  
   343  // AttachInstancesToLoadBalancerRequest generates a "aws/request.Request" representing the
   344  // client's request for the AttachInstancesToLoadBalancer operation. The "output" return
   345  // value will be populated with the request's response once the request completes
   346  // successfully.
   347  //
   348  // Use "Send" method on the returned Request to send the API call to the service.
   349  // the "output" return value is not valid until after Send returns without error.
   350  //
   351  // See AttachInstancesToLoadBalancer for more information on using the AttachInstancesToLoadBalancer
   352  // API call, and error handling.
   353  //
   354  // This method is useful when you want to inject custom logic or configuration
   355  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   356  //
   357  //
   358  //    // Example sending a request using the AttachInstancesToLoadBalancerRequest method.
   359  //    req, resp := client.AttachInstancesToLoadBalancerRequest(params)
   360  //
   361  //    err := req.Send()
   362  //    if err == nil { // resp is now filled
   363  //        fmt.Println(resp)
   364  //    }
   365  //
   366  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
   367  func (c *Lightsail) AttachInstancesToLoadBalancerRequest(input *AttachInstancesToLoadBalancerInput) (req *request.Request, output *AttachInstancesToLoadBalancerOutput) {
   368  	op := &request.Operation{
   369  		Name:       opAttachInstancesToLoadBalancer,
   370  		HTTPMethod: "POST",
   371  		HTTPPath:   "/",
   372  	}
   373  
   374  	if input == nil {
   375  		input = &AttachInstancesToLoadBalancerInput{}
   376  	}
   377  
   378  	output = &AttachInstancesToLoadBalancerOutput{}
   379  	req = c.newRequest(op, input, output)
   380  	return
   381  }
   382  
   383  // AttachInstancesToLoadBalancer API operation for Amazon Lightsail.
   384  //
   385  // Attaches one or more Lightsail instances to a load balancer.
   386  //
   387  // After some time, the instances are attached to the load balancer and the
   388  // health check status is available.
   389  //
   390  // The attach instances to load balancer operation supports tag-based access
   391  // control via resource tags applied to the resource identified by load balancer
   392  // name. For more information, see the Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
   393  //
   394  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   395  // with awserr.Error's Code and Message methods to get detailed information about
   396  // the error.
   397  //
   398  // See the AWS API reference guide for Amazon Lightsail's
   399  // API operation AttachInstancesToLoadBalancer for usage and error information.
   400  //
   401  // Returned Error Types:
   402  //   * ServiceException
   403  //   A general service exception.
   404  //
   405  //   * InvalidInputException
   406  //   Lightsail throws this exception when user input does not conform to the validation
   407  //   rules of an input field.
   408  //
   409  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   410  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   411  //   view, or edit these resources.
   412  //
   413  //   * NotFoundException
   414  //   Lightsail throws this exception when it cannot find a resource.
   415  //
   416  //   * OperationFailureException
   417  //   Lightsail throws this exception when an operation fails to execute.
   418  //
   419  //   * AccessDeniedException
   420  //   Lightsail throws this exception when the user cannot be authenticated or
   421  //   uses invalid credentials to access a resource.
   422  //
   423  //   * AccountSetupInProgressException
   424  //   Lightsail throws this exception when an account is still in the setup in
   425  //   progress state.
   426  //
   427  //   * UnauthenticatedException
   428  //   Lightsail throws this exception when the user has not been authenticated.
   429  //
   430  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
   431  func (c *Lightsail) AttachInstancesToLoadBalancer(input *AttachInstancesToLoadBalancerInput) (*AttachInstancesToLoadBalancerOutput, error) {
   432  	req, out := c.AttachInstancesToLoadBalancerRequest(input)
   433  	return out, req.Send()
   434  }
   435  
   436  // AttachInstancesToLoadBalancerWithContext is the same as AttachInstancesToLoadBalancer with the addition of
   437  // the ability to pass a context and additional request options.
   438  //
   439  // See AttachInstancesToLoadBalancer for details on how to use this API operation.
   440  //
   441  // The context must be non-nil and will be used for request cancellation. If
   442  // the context is nil a panic will occur. In the future the SDK may create
   443  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   444  // for more information on using Contexts.
   445  func (c *Lightsail) AttachInstancesToLoadBalancerWithContext(ctx aws.Context, input *AttachInstancesToLoadBalancerInput, opts ...request.Option) (*AttachInstancesToLoadBalancerOutput, error) {
   446  	req, out := c.AttachInstancesToLoadBalancerRequest(input)
   447  	req.SetContext(ctx)
   448  	req.ApplyOptions(opts...)
   449  	return out, req.Send()
   450  }
   451  
   452  const opAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
   453  
   454  // AttachLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
   455  // client's request for the AttachLoadBalancerTlsCertificate operation. The "output" return
   456  // value will be populated with the request's response once the request completes
   457  // successfully.
   458  //
   459  // Use "Send" method on the returned Request to send the API call to the service.
   460  // the "output" return value is not valid until after Send returns without error.
   461  //
   462  // See AttachLoadBalancerTlsCertificate for more information on using the AttachLoadBalancerTlsCertificate
   463  // API call, and error handling.
   464  //
   465  // This method is useful when you want to inject custom logic or configuration
   466  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   467  //
   468  //
   469  //    // Example sending a request using the AttachLoadBalancerTlsCertificateRequest method.
   470  //    req, resp := client.AttachLoadBalancerTlsCertificateRequest(params)
   471  //
   472  //    err := req.Send()
   473  //    if err == nil { // resp is now filled
   474  //        fmt.Println(resp)
   475  //    }
   476  //
   477  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
   478  func (c *Lightsail) AttachLoadBalancerTlsCertificateRequest(input *AttachLoadBalancerTlsCertificateInput) (req *request.Request, output *AttachLoadBalancerTlsCertificateOutput) {
   479  	op := &request.Operation{
   480  		Name:       opAttachLoadBalancerTlsCertificate,
   481  		HTTPMethod: "POST",
   482  		HTTPPath:   "/",
   483  	}
   484  
   485  	if input == nil {
   486  		input = &AttachLoadBalancerTlsCertificateInput{}
   487  	}
   488  
   489  	output = &AttachLoadBalancerTlsCertificateOutput{}
   490  	req = c.newRequest(op, input, output)
   491  	return
   492  }
   493  
   494  // AttachLoadBalancerTlsCertificate API operation for Amazon Lightsail.
   495  //
   496  // Attaches a Transport Layer Security (TLS) certificate to your load balancer.
   497  // TLS is just an updated, more secure version of Secure Socket Layer (SSL).
   498  //
   499  // Once you create and validate your certificate, you can attach it to your
   500  // load balancer. You can also use this API to rotate the certificates on your
   501  // account. Use the AttachLoadBalancerTlsCertificate action with the non-attached
   502  // certificate, and it will replace the existing one and become the attached
   503  // certificate.
   504  //
   505  // The AttachLoadBalancerTlsCertificate operation supports tag-based access
   506  // control via resource tags applied to the resource identified by load balancer
   507  // name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
   508  //
   509  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   510  // with awserr.Error's Code and Message methods to get detailed information about
   511  // the error.
   512  //
   513  // See the AWS API reference guide for Amazon Lightsail's
   514  // API operation AttachLoadBalancerTlsCertificate for usage and error information.
   515  //
   516  // Returned Error Types:
   517  //   * ServiceException
   518  //   A general service exception.
   519  //
   520  //   * InvalidInputException
   521  //   Lightsail throws this exception when user input does not conform to the validation
   522  //   rules of an input field.
   523  //
   524  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   525  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   526  //   view, or edit these resources.
   527  //
   528  //   * NotFoundException
   529  //   Lightsail throws this exception when it cannot find a resource.
   530  //
   531  //   * OperationFailureException
   532  //   Lightsail throws this exception when an operation fails to execute.
   533  //
   534  //   * AccessDeniedException
   535  //   Lightsail throws this exception when the user cannot be authenticated or
   536  //   uses invalid credentials to access a resource.
   537  //
   538  //   * AccountSetupInProgressException
   539  //   Lightsail throws this exception when an account is still in the setup in
   540  //   progress state.
   541  //
   542  //   * UnauthenticatedException
   543  //   Lightsail throws this exception when the user has not been authenticated.
   544  //
   545  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
   546  func (c *Lightsail) AttachLoadBalancerTlsCertificate(input *AttachLoadBalancerTlsCertificateInput) (*AttachLoadBalancerTlsCertificateOutput, error) {
   547  	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
   548  	return out, req.Send()
   549  }
   550  
   551  // AttachLoadBalancerTlsCertificateWithContext is the same as AttachLoadBalancerTlsCertificate with the addition of
   552  // the ability to pass a context and additional request options.
   553  //
   554  // See AttachLoadBalancerTlsCertificate for details on how to use this API operation.
   555  //
   556  // The context must be non-nil and will be used for request cancellation. If
   557  // the context is nil a panic will occur. In the future the SDK may create
   558  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   559  // for more information on using Contexts.
   560  func (c *Lightsail) AttachLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *AttachLoadBalancerTlsCertificateInput, opts ...request.Option) (*AttachLoadBalancerTlsCertificateOutput, error) {
   561  	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
   562  	req.SetContext(ctx)
   563  	req.ApplyOptions(opts...)
   564  	return out, req.Send()
   565  }
   566  
   567  const opAttachStaticIp = "AttachStaticIp"
   568  
   569  // AttachStaticIpRequest generates a "aws/request.Request" representing the
   570  // client's request for the AttachStaticIp operation. The "output" return
   571  // value will be populated with the request's response once the request completes
   572  // successfully.
   573  //
   574  // Use "Send" method on the returned Request to send the API call to the service.
   575  // the "output" return value is not valid until after Send returns without error.
   576  //
   577  // See AttachStaticIp for more information on using the AttachStaticIp
   578  // API call, and error handling.
   579  //
   580  // This method is useful when you want to inject custom logic or configuration
   581  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   582  //
   583  //
   584  //    // Example sending a request using the AttachStaticIpRequest method.
   585  //    req, resp := client.AttachStaticIpRequest(params)
   586  //
   587  //    err := req.Send()
   588  //    if err == nil { // resp is now filled
   589  //        fmt.Println(resp)
   590  //    }
   591  //
   592  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
   593  func (c *Lightsail) AttachStaticIpRequest(input *AttachStaticIpInput) (req *request.Request, output *AttachStaticIpOutput) {
   594  	op := &request.Operation{
   595  		Name:       opAttachStaticIp,
   596  		HTTPMethod: "POST",
   597  		HTTPPath:   "/",
   598  	}
   599  
   600  	if input == nil {
   601  		input = &AttachStaticIpInput{}
   602  	}
   603  
   604  	output = &AttachStaticIpOutput{}
   605  	req = c.newRequest(op, input, output)
   606  	return
   607  }
   608  
   609  // AttachStaticIp API operation for Amazon Lightsail.
   610  //
   611  // Attaches a static IP address to a specific Amazon Lightsail instance.
   612  //
   613  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   614  // with awserr.Error's Code and Message methods to get detailed information about
   615  // the error.
   616  //
   617  // See the AWS API reference guide for Amazon Lightsail's
   618  // API operation AttachStaticIp for usage and error information.
   619  //
   620  // Returned Error Types:
   621  //   * ServiceException
   622  //   A general service exception.
   623  //
   624  //   * InvalidInputException
   625  //   Lightsail throws this exception when user input does not conform to the validation
   626  //   rules of an input field.
   627  //
   628  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   629  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   630  //   view, or edit these resources.
   631  //
   632  //   * NotFoundException
   633  //   Lightsail throws this exception when it cannot find a resource.
   634  //
   635  //   * OperationFailureException
   636  //   Lightsail throws this exception when an operation fails to execute.
   637  //
   638  //   * AccessDeniedException
   639  //   Lightsail throws this exception when the user cannot be authenticated or
   640  //   uses invalid credentials to access a resource.
   641  //
   642  //   * AccountSetupInProgressException
   643  //   Lightsail throws this exception when an account is still in the setup in
   644  //   progress state.
   645  //
   646  //   * UnauthenticatedException
   647  //   Lightsail throws this exception when the user has not been authenticated.
   648  //
   649  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
   650  func (c *Lightsail) AttachStaticIp(input *AttachStaticIpInput) (*AttachStaticIpOutput, error) {
   651  	req, out := c.AttachStaticIpRequest(input)
   652  	return out, req.Send()
   653  }
   654  
   655  // AttachStaticIpWithContext is the same as AttachStaticIp with the addition of
   656  // the ability to pass a context and additional request options.
   657  //
   658  // See AttachStaticIp for details on how to use this API operation.
   659  //
   660  // The context must be non-nil and will be used for request cancellation. If
   661  // the context is nil a panic will occur. In the future the SDK may create
   662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   663  // for more information on using Contexts.
   664  func (c *Lightsail) AttachStaticIpWithContext(ctx aws.Context, input *AttachStaticIpInput, opts ...request.Option) (*AttachStaticIpOutput, error) {
   665  	req, out := c.AttachStaticIpRequest(input)
   666  	req.SetContext(ctx)
   667  	req.ApplyOptions(opts...)
   668  	return out, req.Send()
   669  }
   670  
   671  const opCloseInstancePublicPorts = "CloseInstancePublicPorts"
   672  
   673  // CloseInstancePublicPortsRequest generates a "aws/request.Request" representing the
   674  // client's request for the CloseInstancePublicPorts operation. The "output" return
   675  // value will be populated with the request's response once the request completes
   676  // successfully.
   677  //
   678  // Use "Send" method on the returned Request to send the API call to the service.
   679  // the "output" return value is not valid until after Send returns without error.
   680  //
   681  // See CloseInstancePublicPorts for more information on using the CloseInstancePublicPorts
   682  // API call, and error handling.
   683  //
   684  // This method is useful when you want to inject custom logic or configuration
   685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   686  //
   687  //
   688  //    // Example sending a request using the CloseInstancePublicPortsRequest method.
   689  //    req, resp := client.CloseInstancePublicPortsRequest(params)
   690  //
   691  //    err := req.Send()
   692  //    if err == nil { // resp is now filled
   693  //        fmt.Println(resp)
   694  //    }
   695  //
   696  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
   697  func (c *Lightsail) CloseInstancePublicPortsRequest(input *CloseInstancePublicPortsInput) (req *request.Request, output *CloseInstancePublicPortsOutput) {
   698  	op := &request.Operation{
   699  		Name:       opCloseInstancePublicPorts,
   700  		HTTPMethod: "POST",
   701  		HTTPPath:   "/",
   702  	}
   703  
   704  	if input == nil {
   705  		input = &CloseInstancePublicPortsInput{}
   706  	}
   707  
   708  	output = &CloseInstancePublicPortsOutput{}
   709  	req = c.newRequest(op, input, output)
   710  	return
   711  }
   712  
   713  // CloseInstancePublicPorts API operation for Amazon Lightsail.
   714  //
   715  // Closes ports for a specific Amazon Lightsail instance.
   716  //
   717  // The CloseInstancePublicPorts action supports tag-based access control via
   718  // resource tags applied to the resource identified by instanceName. For more
   719  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
   720  //
   721  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   722  // with awserr.Error's Code and Message methods to get detailed information about
   723  // the error.
   724  //
   725  // See the AWS API reference guide for Amazon Lightsail's
   726  // API operation CloseInstancePublicPorts for usage and error information.
   727  //
   728  // Returned Error Types:
   729  //   * ServiceException
   730  //   A general service exception.
   731  //
   732  //   * InvalidInputException
   733  //   Lightsail throws this exception when user input does not conform to the validation
   734  //   rules of an input field.
   735  //
   736  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   737  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   738  //   view, or edit these resources.
   739  //
   740  //   * NotFoundException
   741  //   Lightsail throws this exception when it cannot find a resource.
   742  //
   743  //   * OperationFailureException
   744  //   Lightsail throws this exception when an operation fails to execute.
   745  //
   746  //   * AccessDeniedException
   747  //   Lightsail throws this exception when the user cannot be authenticated or
   748  //   uses invalid credentials to access a resource.
   749  //
   750  //   * AccountSetupInProgressException
   751  //   Lightsail throws this exception when an account is still in the setup in
   752  //   progress state.
   753  //
   754  //   * UnauthenticatedException
   755  //   Lightsail throws this exception when the user has not been authenticated.
   756  //
   757  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
   758  func (c *Lightsail) CloseInstancePublicPorts(input *CloseInstancePublicPortsInput) (*CloseInstancePublicPortsOutput, error) {
   759  	req, out := c.CloseInstancePublicPortsRequest(input)
   760  	return out, req.Send()
   761  }
   762  
   763  // CloseInstancePublicPortsWithContext is the same as CloseInstancePublicPorts with the addition of
   764  // the ability to pass a context and additional request options.
   765  //
   766  // See CloseInstancePublicPorts for details on how to use this API operation.
   767  //
   768  // The context must be non-nil and will be used for request cancellation. If
   769  // the context is nil a panic will occur. In the future the SDK may create
   770  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   771  // for more information on using Contexts.
   772  func (c *Lightsail) CloseInstancePublicPortsWithContext(ctx aws.Context, input *CloseInstancePublicPortsInput, opts ...request.Option) (*CloseInstancePublicPortsOutput, error) {
   773  	req, out := c.CloseInstancePublicPortsRequest(input)
   774  	req.SetContext(ctx)
   775  	req.ApplyOptions(opts...)
   776  	return out, req.Send()
   777  }
   778  
   779  const opCopySnapshot = "CopySnapshot"
   780  
   781  // CopySnapshotRequest generates a "aws/request.Request" representing the
   782  // client's request for the CopySnapshot operation. The "output" return
   783  // value will be populated with the request's response once the request completes
   784  // successfully.
   785  //
   786  // Use "Send" method on the returned Request to send the API call to the service.
   787  // the "output" return value is not valid until after Send returns without error.
   788  //
   789  // See CopySnapshot for more information on using the CopySnapshot
   790  // API call, and error handling.
   791  //
   792  // This method is useful when you want to inject custom logic or configuration
   793  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   794  //
   795  //
   796  //    // Example sending a request using the CopySnapshotRequest method.
   797  //    req, resp := client.CopySnapshotRequest(params)
   798  //
   799  //    err := req.Send()
   800  //    if err == nil { // resp is now filled
   801  //        fmt.Println(resp)
   802  //    }
   803  //
   804  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
   805  func (c *Lightsail) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
   806  	op := &request.Operation{
   807  		Name:       opCopySnapshot,
   808  		HTTPMethod: "POST",
   809  		HTTPPath:   "/",
   810  	}
   811  
   812  	if input == nil {
   813  		input = &CopySnapshotInput{}
   814  	}
   815  
   816  	output = &CopySnapshotOutput{}
   817  	req = c.newRequest(op, input, output)
   818  	return
   819  }
   820  
   821  // CopySnapshot API operation for Amazon Lightsail.
   822  //
   823  // Copies a manual snapshot of an instance or disk as another manual snapshot,
   824  // or copies an automatic snapshot of an instance or disk as a manual snapshot.
   825  // This operation can also be used to copy a manual or automatic snapshot of
   826  // an instance or a disk from one AWS Region to another in Amazon Lightsail.
   827  //
   828  // When copying a manual snapshot, be sure to define the source region, source
   829  // snapshot name, and target snapshot name parameters.
   830  //
   831  // When copying an automatic snapshot, be sure to define the source region,
   832  // source resource name, target snapshot name, and either the restore date or
   833  // the use latest restorable auto snapshot parameters.
   834  //
   835  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   836  // with awserr.Error's Code and Message methods to get detailed information about
   837  // the error.
   838  //
   839  // See the AWS API reference guide for Amazon Lightsail's
   840  // API operation CopySnapshot for usage and error information.
   841  //
   842  // Returned Error Types:
   843  //   * ServiceException
   844  //   A general service exception.
   845  //
   846  //   * InvalidInputException
   847  //   Lightsail throws this exception when user input does not conform to the validation
   848  //   rules of an input field.
   849  //
   850  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   851  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   852  //   view, or edit these resources.
   853  //
   854  //   * NotFoundException
   855  //   Lightsail throws this exception when it cannot find a resource.
   856  //
   857  //   * OperationFailureException
   858  //   Lightsail throws this exception when an operation fails to execute.
   859  //
   860  //   * AccessDeniedException
   861  //   Lightsail throws this exception when the user cannot be authenticated or
   862  //   uses invalid credentials to access a resource.
   863  //
   864  //   * AccountSetupInProgressException
   865  //   Lightsail throws this exception when an account is still in the setup in
   866  //   progress state.
   867  //
   868  //   * UnauthenticatedException
   869  //   Lightsail throws this exception when the user has not been authenticated.
   870  //
   871  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
   872  func (c *Lightsail) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
   873  	req, out := c.CopySnapshotRequest(input)
   874  	return out, req.Send()
   875  }
   876  
   877  // CopySnapshotWithContext is the same as CopySnapshot with the addition of
   878  // the ability to pass a context and additional request options.
   879  //
   880  // See CopySnapshot for details on how to use this API operation.
   881  //
   882  // The context must be non-nil and will be used for request cancellation. If
   883  // the context is nil a panic will occur. In the future the SDK may create
   884  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   885  // for more information on using Contexts.
   886  func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
   887  	req, out := c.CopySnapshotRequest(input)
   888  	req.SetContext(ctx)
   889  	req.ApplyOptions(opts...)
   890  	return out, req.Send()
   891  }
   892  
   893  const opCreateBucket = "CreateBucket"
   894  
   895  // CreateBucketRequest generates a "aws/request.Request" representing the
   896  // client's request for the CreateBucket operation. The "output" return
   897  // value will be populated with the request's response once the request completes
   898  // successfully.
   899  //
   900  // Use "Send" method on the returned Request to send the API call to the service.
   901  // the "output" return value is not valid until after Send returns without error.
   902  //
   903  // See CreateBucket for more information on using the CreateBucket
   904  // API call, and error handling.
   905  //
   906  // This method is useful when you want to inject custom logic or configuration
   907  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   908  //
   909  //
   910  //    // Example sending a request using the CreateBucketRequest method.
   911  //    req, resp := client.CreateBucketRequest(params)
   912  //
   913  //    err := req.Send()
   914  //    if err == nil { // resp is now filled
   915  //        fmt.Println(resp)
   916  //    }
   917  //
   918  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucket
   919  func (c *Lightsail) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) {
   920  	op := &request.Operation{
   921  		Name:       opCreateBucket,
   922  		HTTPMethod: "POST",
   923  		HTTPPath:   "/",
   924  	}
   925  
   926  	if input == nil {
   927  		input = &CreateBucketInput{}
   928  	}
   929  
   930  	output = &CreateBucketOutput{}
   931  	req = c.newRequest(op, input, output)
   932  	return
   933  }
   934  
   935  // CreateBucket API operation for Amazon Lightsail.
   936  //
   937  // Creates an Amazon Lightsail bucket.
   938  //
   939  // A bucket is a cloud storage resource available in the Lightsail object storage
   940  // service. Use buckets to store objects such as data and its descriptive metadata.
   941  // For more information about buckets, see Buckets in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/buckets-in-amazon-lightsail)
   942  // in the Amazon Lightsail Developer Guide.
   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 CreateBucket for usage and error information.
   950  //
   951  // Returned Error Types:
   952  //   * AccessDeniedException
   953  //   Lightsail throws this exception when the user cannot be authenticated or
   954  //   uses invalid credentials to access a resource.
   955  //
   956  //   * InvalidInputException
   957  //   Lightsail throws this exception when user input does not conform to the validation
   958  //   rules of an input field.
   959  //
   960  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
   961  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
   962  //   view, or edit these resources.
   963  //
   964  //   * ServiceException
   965  //   A general service exception.
   966  //
   967  //   * UnauthenticatedException
   968  //   Lightsail throws this exception when the user has not been authenticated.
   969  //
   970  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucket
   971  func (c *Lightsail) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) {
   972  	req, out := c.CreateBucketRequest(input)
   973  	return out, req.Send()
   974  }
   975  
   976  // CreateBucketWithContext is the same as CreateBucket with the addition of
   977  // the ability to pass a context and additional request options.
   978  //
   979  // See CreateBucket for details on how to use this API operation.
   980  //
   981  // The context must be non-nil and will be used for request cancellation. If
   982  // the context is nil a panic will occur. In the future the SDK may create
   983  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   984  // for more information on using Contexts.
   985  func (c *Lightsail) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) {
   986  	req, out := c.CreateBucketRequest(input)
   987  	req.SetContext(ctx)
   988  	req.ApplyOptions(opts...)
   989  	return out, req.Send()
   990  }
   991  
   992  const opCreateBucketAccessKey = "CreateBucketAccessKey"
   993  
   994  // CreateBucketAccessKeyRequest generates a "aws/request.Request" representing the
   995  // client's request for the CreateBucketAccessKey operation. The "output" return
   996  // value will be populated with the request's response once the request completes
   997  // successfully.
   998  //
   999  // Use "Send" method on the returned Request to send the API call to the service.
  1000  // the "output" return value is not valid until after Send returns without error.
  1001  //
  1002  // See CreateBucketAccessKey for more information on using the CreateBucketAccessKey
  1003  // API call, and error handling.
  1004  //
  1005  // This method is useful when you want to inject custom logic or configuration
  1006  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1007  //
  1008  //
  1009  //    // Example sending a request using the CreateBucketAccessKeyRequest method.
  1010  //    req, resp := client.CreateBucketAccessKeyRequest(params)
  1011  //
  1012  //    err := req.Send()
  1013  //    if err == nil { // resp is now filled
  1014  //        fmt.Println(resp)
  1015  //    }
  1016  //
  1017  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucketAccessKey
  1018  func (c *Lightsail) CreateBucketAccessKeyRequest(input *CreateBucketAccessKeyInput) (req *request.Request, output *CreateBucketAccessKeyOutput) {
  1019  	op := &request.Operation{
  1020  		Name:       opCreateBucketAccessKey,
  1021  		HTTPMethod: "POST",
  1022  		HTTPPath:   "/",
  1023  	}
  1024  
  1025  	if input == nil {
  1026  		input = &CreateBucketAccessKeyInput{}
  1027  	}
  1028  
  1029  	output = &CreateBucketAccessKeyOutput{}
  1030  	req = c.newRequest(op, input, output)
  1031  	return
  1032  }
  1033  
  1034  // CreateBucketAccessKey API operation for Amazon Lightsail.
  1035  //
  1036  // Creates a new access key for the specified Amazon Lightsail bucket. Access
  1037  // keys consist of an access key ID and corresponding secret access key.
  1038  //
  1039  // Access keys grant full programmatic access to the specified bucket and its
  1040  // objects. You can have a maximum of two access keys per bucket. Use the GetBucketAccessKeys
  1041  // action to get a list of current access keys for a specific bucket. For more
  1042  // information about access keys, see Creating access keys for a bucket in Amazon
  1043  // Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
  1044  // in the Amazon Lightsail Developer Guide.
  1045  //
  1046  // The secretAccessKey value is returned only in response to the CreateBucketAccessKey
  1047  // action. You can get a secret access key only when you first create an access
  1048  // key; you cannot get the secret access key later. If you lose the secret access
  1049  // key, you must create a new access key.
  1050  //
  1051  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1052  // with awserr.Error's Code and Message methods to get detailed information about
  1053  // the error.
  1054  //
  1055  // See the AWS API reference guide for Amazon Lightsail's
  1056  // API operation CreateBucketAccessKey for usage and error information.
  1057  //
  1058  // Returned Error Types:
  1059  //   * AccessDeniedException
  1060  //   Lightsail throws this exception when the user cannot be authenticated or
  1061  //   uses invalid credentials to access a resource.
  1062  //
  1063  //   * NotFoundException
  1064  //   Lightsail throws this exception when it cannot find a resource.
  1065  //
  1066  //   * InvalidInputException
  1067  //   Lightsail throws this exception when user input does not conform to the validation
  1068  //   rules of an input field.
  1069  //
  1070  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1071  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1072  //   view, or edit these resources.
  1073  //
  1074  //   * ServiceException
  1075  //   A general service exception.
  1076  //
  1077  //   * UnauthenticatedException
  1078  //   Lightsail throws this exception when the user has not been authenticated.
  1079  //
  1080  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucketAccessKey
  1081  func (c *Lightsail) CreateBucketAccessKey(input *CreateBucketAccessKeyInput) (*CreateBucketAccessKeyOutput, error) {
  1082  	req, out := c.CreateBucketAccessKeyRequest(input)
  1083  	return out, req.Send()
  1084  }
  1085  
  1086  // CreateBucketAccessKeyWithContext is the same as CreateBucketAccessKey with the addition of
  1087  // the ability to pass a context and additional request options.
  1088  //
  1089  // See CreateBucketAccessKey for details on how to use this API operation.
  1090  //
  1091  // The context must be non-nil and will be used for request cancellation. If
  1092  // the context is nil a panic will occur. In the future the SDK may create
  1093  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1094  // for more information on using Contexts.
  1095  func (c *Lightsail) CreateBucketAccessKeyWithContext(ctx aws.Context, input *CreateBucketAccessKeyInput, opts ...request.Option) (*CreateBucketAccessKeyOutput, error) {
  1096  	req, out := c.CreateBucketAccessKeyRequest(input)
  1097  	req.SetContext(ctx)
  1098  	req.ApplyOptions(opts...)
  1099  	return out, req.Send()
  1100  }
  1101  
  1102  const opCreateCertificate = "CreateCertificate"
  1103  
  1104  // CreateCertificateRequest generates a "aws/request.Request" representing the
  1105  // client's request for the CreateCertificate operation. The "output" return
  1106  // value will be populated with the request's response once the request completes
  1107  // successfully.
  1108  //
  1109  // Use "Send" method on the returned Request to send the API call to the service.
  1110  // the "output" return value is not valid until after Send returns without error.
  1111  //
  1112  // See CreateCertificate for more information on using the CreateCertificate
  1113  // API call, and error handling.
  1114  //
  1115  // This method is useful when you want to inject custom logic or configuration
  1116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1117  //
  1118  //
  1119  //    // Example sending a request using the CreateCertificateRequest method.
  1120  //    req, resp := client.CreateCertificateRequest(params)
  1121  //
  1122  //    err := req.Send()
  1123  //    if err == nil { // resp is now filled
  1124  //        fmt.Println(resp)
  1125  //    }
  1126  //
  1127  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
  1128  func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req *request.Request, output *CreateCertificateOutput) {
  1129  	op := &request.Operation{
  1130  		Name:       opCreateCertificate,
  1131  		HTTPMethod: "POST",
  1132  		HTTPPath:   "/",
  1133  	}
  1134  
  1135  	if input == nil {
  1136  		input = &CreateCertificateInput{}
  1137  	}
  1138  
  1139  	output = &CreateCertificateOutput{}
  1140  	req = c.newRequest(op, input, output)
  1141  	return
  1142  }
  1143  
  1144  // CreateCertificate API operation for Amazon Lightsail.
  1145  //
  1146  // Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network
  1147  // (CDN) distribution and a container service.
  1148  //
  1149  // After the certificate is valid, use the AttachCertificateToDistribution action
  1150  // to use the certificate and its domains with your distribution. Or use the
  1151  // UpdateContainerService action to use the certificate and its domains with
  1152  // your container service.
  1153  //
  1154  // Only certificates created in the us-east-1 AWS Region can be attached to
  1155  // Lightsail distributions. Lightsail distributions are global resources that
  1156  // can reference an origin in any AWS Region, and distribute its content globally.
  1157  // However, all distributions are located in the us-east-1 Region.
  1158  //
  1159  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1160  // with awserr.Error's Code and Message methods to get detailed information about
  1161  // the error.
  1162  //
  1163  // See the AWS API reference guide for Amazon Lightsail's
  1164  // API operation CreateCertificate for usage and error information.
  1165  //
  1166  // Returned Error Types:
  1167  //   * ServiceException
  1168  //   A general service exception.
  1169  //
  1170  //   * InvalidInputException
  1171  //   Lightsail throws this exception when user input does not conform to the validation
  1172  //   rules of an input field.
  1173  //
  1174  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1175  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1176  //   view, or edit these resources.
  1177  //
  1178  //   * NotFoundException
  1179  //   Lightsail throws this exception when it cannot find a resource.
  1180  //
  1181  //   * AccessDeniedException
  1182  //   Lightsail throws this exception when the user cannot be authenticated or
  1183  //   uses invalid credentials to access a resource.
  1184  //
  1185  //   * UnauthenticatedException
  1186  //   Lightsail throws this exception when the user has not been authenticated.
  1187  //
  1188  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
  1189  func (c *Lightsail) CreateCertificate(input *CreateCertificateInput) (*CreateCertificateOutput, error) {
  1190  	req, out := c.CreateCertificateRequest(input)
  1191  	return out, req.Send()
  1192  }
  1193  
  1194  // CreateCertificateWithContext is the same as CreateCertificate with the addition of
  1195  // the ability to pass a context and additional request options.
  1196  //
  1197  // See CreateCertificate for details on how to use this API operation.
  1198  //
  1199  // The context must be non-nil and will be used for request cancellation. If
  1200  // the context is nil a panic will occur. In the future the SDK may create
  1201  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1202  // for more information on using Contexts.
  1203  func (c *Lightsail) CreateCertificateWithContext(ctx aws.Context, input *CreateCertificateInput, opts ...request.Option) (*CreateCertificateOutput, error) {
  1204  	req, out := c.CreateCertificateRequest(input)
  1205  	req.SetContext(ctx)
  1206  	req.ApplyOptions(opts...)
  1207  	return out, req.Send()
  1208  }
  1209  
  1210  const opCreateCloudFormationStack = "CreateCloudFormationStack"
  1211  
  1212  // CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
  1213  // client's request for the CreateCloudFormationStack operation. The "output" return
  1214  // value will be populated with the request's response once the request completes
  1215  // successfully.
  1216  //
  1217  // Use "Send" method on the returned Request to send the API call to the service.
  1218  // the "output" return value is not valid until after Send returns without error.
  1219  //
  1220  // See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
  1221  // API call, and error handling.
  1222  //
  1223  // This method is useful when you want to inject custom logic or configuration
  1224  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1225  //
  1226  //
  1227  //    // Example sending a request using the CreateCloudFormationStackRequest method.
  1228  //    req, resp := client.CreateCloudFormationStackRequest(params)
  1229  //
  1230  //    err := req.Send()
  1231  //    if err == nil { // resp is now filled
  1232  //        fmt.Println(resp)
  1233  //    }
  1234  //
  1235  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
  1236  func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
  1237  	op := &request.Operation{
  1238  		Name:       opCreateCloudFormationStack,
  1239  		HTTPMethod: "POST",
  1240  		HTTPPath:   "/",
  1241  	}
  1242  
  1243  	if input == nil {
  1244  		input = &CreateCloudFormationStackInput{}
  1245  	}
  1246  
  1247  	output = &CreateCloudFormationStackOutput{}
  1248  	req = c.newRequest(op, input, output)
  1249  	return
  1250  }
  1251  
  1252  // CreateCloudFormationStack API operation for Amazon Lightsail.
  1253  //
  1254  // Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
  1255  // from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
  1256  // stack record that can be used to track the AWS CloudFormation stack created.
  1257  // Use the get cloud formation stack records operation to get a list of the
  1258  // CloudFormation stacks created.
  1259  //
  1260  // Wait until after your new Amazon EC2 instance is created before running the
  1261  // create cloud formation stack operation again with the same export snapshot
  1262  // record.
  1263  //
  1264  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1265  // with awserr.Error's Code and Message methods to get detailed information about
  1266  // the error.
  1267  //
  1268  // See the AWS API reference guide for Amazon Lightsail's
  1269  // API operation CreateCloudFormationStack for usage and error information.
  1270  //
  1271  // Returned Error Types:
  1272  //   * ServiceException
  1273  //   A general service exception.
  1274  //
  1275  //   * InvalidInputException
  1276  //   Lightsail throws this exception when user input does not conform to the validation
  1277  //   rules of an input field.
  1278  //
  1279  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1280  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1281  //   view, or edit these resources.
  1282  //
  1283  //   * NotFoundException
  1284  //   Lightsail throws this exception when it cannot find a resource.
  1285  //
  1286  //   * OperationFailureException
  1287  //   Lightsail throws this exception when an operation fails to execute.
  1288  //
  1289  //   * AccessDeniedException
  1290  //   Lightsail throws this exception when the user cannot be authenticated or
  1291  //   uses invalid credentials to access a resource.
  1292  //
  1293  //   * AccountSetupInProgressException
  1294  //   Lightsail throws this exception when an account is still in the setup in
  1295  //   progress state.
  1296  //
  1297  //   * UnauthenticatedException
  1298  //   Lightsail throws this exception when the user has not been authenticated.
  1299  //
  1300  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
  1301  func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
  1302  	req, out := c.CreateCloudFormationStackRequest(input)
  1303  	return out, req.Send()
  1304  }
  1305  
  1306  // CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
  1307  // the ability to pass a context and additional request options.
  1308  //
  1309  // See CreateCloudFormationStack for details on how to use this API operation.
  1310  //
  1311  // The context must be non-nil and will be used for request cancellation. If
  1312  // the context is nil a panic will occur. In the future the SDK may create
  1313  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1314  // for more information on using Contexts.
  1315  func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
  1316  	req, out := c.CreateCloudFormationStackRequest(input)
  1317  	req.SetContext(ctx)
  1318  	req.ApplyOptions(opts...)
  1319  	return out, req.Send()
  1320  }
  1321  
  1322  const opCreateContactMethod = "CreateContactMethod"
  1323  
  1324  // CreateContactMethodRequest generates a "aws/request.Request" representing the
  1325  // client's request for the CreateContactMethod operation. The "output" return
  1326  // value will be populated with the request's response once the request completes
  1327  // successfully.
  1328  //
  1329  // Use "Send" method on the returned Request to send the API call to the service.
  1330  // the "output" return value is not valid until after Send returns without error.
  1331  //
  1332  // See CreateContactMethod for more information on using the CreateContactMethod
  1333  // API call, and error handling.
  1334  //
  1335  // This method is useful when you want to inject custom logic or configuration
  1336  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1337  //
  1338  //
  1339  //    // Example sending a request using the CreateContactMethodRequest method.
  1340  //    req, resp := client.CreateContactMethodRequest(params)
  1341  //
  1342  //    err := req.Send()
  1343  //    if err == nil { // resp is now filled
  1344  //        fmt.Println(resp)
  1345  //    }
  1346  //
  1347  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
  1348  func (c *Lightsail) CreateContactMethodRequest(input *CreateContactMethodInput) (req *request.Request, output *CreateContactMethodOutput) {
  1349  	op := &request.Operation{
  1350  		Name:       opCreateContactMethod,
  1351  		HTTPMethod: "POST",
  1352  		HTTPPath:   "/",
  1353  	}
  1354  
  1355  	if input == nil {
  1356  		input = &CreateContactMethodInput{}
  1357  	}
  1358  
  1359  	output = &CreateContactMethodOutput{}
  1360  	req = c.newRequest(op, input, output)
  1361  	return
  1362  }
  1363  
  1364  // CreateContactMethod API operation for Amazon Lightsail.
  1365  //
  1366  // Creates an email or SMS text message contact method.
  1367  //
  1368  // A contact method is used to send you notifications about your Amazon Lightsail
  1369  // resources. You can add one email address and one mobile phone number contact
  1370  // method in each AWS Region. However, SMS text messaging is not supported in
  1371  // some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
  1372  // For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
  1373  //
  1374  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1375  // with awserr.Error's Code and Message methods to get detailed information about
  1376  // the error.
  1377  //
  1378  // See the AWS API reference guide for Amazon Lightsail's
  1379  // API operation CreateContactMethod for usage and error information.
  1380  //
  1381  // Returned Error Types:
  1382  //   * ServiceException
  1383  //   A general service exception.
  1384  //
  1385  //   * InvalidInputException
  1386  //   Lightsail throws this exception when user input does not conform to the validation
  1387  //   rules of an input field.
  1388  //
  1389  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1390  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1391  //   view, or edit these resources.
  1392  //
  1393  //   * NotFoundException
  1394  //   Lightsail throws this exception when it cannot find a resource.
  1395  //
  1396  //   * OperationFailureException
  1397  //   Lightsail throws this exception when an operation fails to execute.
  1398  //
  1399  //   * AccessDeniedException
  1400  //   Lightsail throws this exception when the user cannot be authenticated or
  1401  //   uses invalid credentials to access a resource.
  1402  //
  1403  //   * UnauthenticatedException
  1404  //   Lightsail throws this exception when the user has not been authenticated.
  1405  //
  1406  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
  1407  func (c *Lightsail) CreateContactMethod(input *CreateContactMethodInput) (*CreateContactMethodOutput, error) {
  1408  	req, out := c.CreateContactMethodRequest(input)
  1409  	return out, req.Send()
  1410  }
  1411  
  1412  // CreateContactMethodWithContext is the same as CreateContactMethod with the addition of
  1413  // the ability to pass a context and additional request options.
  1414  //
  1415  // See CreateContactMethod for details on how to use this API operation.
  1416  //
  1417  // The context must be non-nil and will be used for request cancellation. If
  1418  // the context is nil a panic will occur. In the future the SDK may create
  1419  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1420  // for more information on using Contexts.
  1421  func (c *Lightsail) CreateContactMethodWithContext(ctx aws.Context, input *CreateContactMethodInput, opts ...request.Option) (*CreateContactMethodOutput, error) {
  1422  	req, out := c.CreateContactMethodRequest(input)
  1423  	req.SetContext(ctx)
  1424  	req.ApplyOptions(opts...)
  1425  	return out, req.Send()
  1426  }
  1427  
  1428  const opCreateContainerService = "CreateContainerService"
  1429  
  1430  // CreateContainerServiceRequest generates a "aws/request.Request" representing the
  1431  // client's request for the CreateContainerService operation. The "output" return
  1432  // value will be populated with the request's response once the request completes
  1433  // successfully.
  1434  //
  1435  // Use "Send" method on the returned Request to send the API call to the service.
  1436  // the "output" return value is not valid until after Send returns without error.
  1437  //
  1438  // See CreateContainerService for more information on using the CreateContainerService
  1439  // API call, and error handling.
  1440  //
  1441  // This method is useful when you want to inject custom logic or configuration
  1442  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1443  //
  1444  //
  1445  //    // Example sending a request using the CreateContainerServiceRequest method.
  1446  //    req, resp := client.CreateContainerServiceRequest(params)
  1447  //
  1448  //    err := req.Send()
  1449  //    if err == nil { // resp is now filled
  1450  //        fmt.Println(resp)
  1451  //    }
  1452  //
  1453  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerService
  1454  func (c *Lightsail) CreateContainerServiceRequest(input *CreateContainerServiceInput) (req *request.Request, output *CreateContainerServiceOutput) {
  1455  	op := &request.Operation{
  1456  		Name:       opCreateContainerService,
  1457  		HTTPMethod: "POST",
  1458  		HTTPPath:   "/",
  1459  	}
  1460  
  1461  	if input == nil {
  1462  		input = &CreateContainerServiceInput{}
  1463  	}
  1464  
  1465  	output = &CreateContainerServiceOutput{}
  1466  	req = c.newRequest(op, input, output)
  1467  	return
  1468  }
  1469  
  1470  // CreateContainerService API operation for Amazon Lightsail.
  1471  //
  1472  // Creates an Amazon Lightsail container service.
  1473  //
  1474  // A Lightsail container service is a compute resource to which you can deploy
  1475  // containers. For more information, see Container services in Amazon Lightsail
  1476  // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services)
  1477  // in the Lightsail Dev Guide.
  1478  //
  1479  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1480  // with awserr.Error's Code and Message methods to get detailed information about
  1481  // the error.
  1482  //
  1483  // See the AWS API reference guide for Amazon Lightsail's
  1484  // API operation CreateContainerService for usage and error information.
  1485  //
  1486  // Returned Error Types:
  1487  //   * ServiceException
  1488  //   A general service exception.
  1489  //
  1490  //   * InvalidInputException
  1491  //   Lightsail throws this exception when user input does not conform to the validation
  1492  //   rules of an input field.
  1493  //
  1494  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1495  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1496  //   view, or edit these resources.
  1497  //
  1498  //   * NotFoundException
  1499  //   Lightsail throws this exception when it cannot find a resource.
  1500  //
  1501  //   * AccessDeniedException
  1502  //   Lightsail throws this exception when the user cannot be authenticated or
  1503  //   uses invalid credentials to access a resource.
  1504  //
  1505  //   * UnauthenticatedException
  1506  //   Lightsail throws this exception when the user has not been authenticated.
  1507  //
  1508  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerService
  1509  func (c *Lightsail) CreateContainerService(input *CreateContainerServiceInput) (*CreateContainerServiceOutput, error) {
  1510  	req, out := c.CreateContainerServiceRequest(input)
  1511  	return out, req.Send()
  1512  }
  1513  
  1514  // CreateContainerServiceWithContext is the same as CreateContainerService with the addition of
  1515  // the ability to pass a context and additional request options.
  1516  //
  1517  // See CreateContainerService for details on how to use this API operation.
  1518  //
  1519  // The context must be non-nil and will be used for request cancellation. If
  1520  // the context is nil a panic will occur. In the future the SDK may create
  1521  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1522  // for more information on using Contexts.
  1523  func (c *Lightsail) CreateContainerServiceWithContext(ctx aws.Context, input *CreateContainerServiceInput, opts ...request.Option) (*CreateContainerServiceOutput, error) {
  1524  	req, out := c.CreateContainerServiceRequest(input)
  1525  	req.SetContext(ctx)
  1526  	req.ApplyOptions(opts...)
  1527  	return out, req.Send()
  1528  }
  1529  
  1530  const opCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
  1531  
  1532  // CreateContainerServiceDeploymentRequest generates a "aws/request.Request" representing the
  1533  // client's request for the CreateContainerServiceDeployment operation. The "output" return
  1534  // value will be populated with the request's response once the request completes
  1535  // successfully.
  1536  //
  1537  // Use "Send" method on the returned Request to send the API call to the service.
  1538  // the "output" return value is not valid until after Send returns without error.
  1539  //
  1540  // See CreateContainerServiceDeployment for more information on using the CreateContainerServiceDeployment
  1541  // API call, and error handling.
  1542  //
  1543  // This method is useful when you want to inject custom logic or configuration
  1544  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1545  //
  1546  //
  1547  //    // Example sending a request using the CreateContainerServiceDeploymentRequest method.
  1548  //    req, resp := client.CreateContainerServiceDeploymentRequest(params)
  1549  //
  1550  //    err := req.Send()
  1551  //    if err == nil { // resp is now filled
  1552  //        fmt.Println(resp)
  1553  //    }
  1554  //
  1555  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceDeployment
  1556  func (c *Lightsail) CreateContainerServiceDeploymentRequest(input *CreateContainerServiceDeploymentInput) (req *request.Request, output *CreateContainerServiceDeploymentOutput) {
  1557  	op := &request.Operation{
  1558  		Name:       opCreateContainerServiceDeployment,
  1559  		HTTPMethod: "POST",
  1560  		HTTPPath:   "/",
  1561  	}
  1562  
  1563  	if input == nil {
  1564  		input = &CreateContainerServiceDeploymentInput{}
  1565  	}
  1566  
  1567  	output = &CreateContainerServiceDeploymentOutput{}
  1568  	req = c.newRequest(op, input, output)
  1569  	return
  1570  }
  1571  
  1572  // CreateContainerServiceDeployment API operation for Amazon Lightsail.
  1573  //
  1574  // Creates a deployment for your Amazon Lightsail container service.
  1575  //
  1576  // A deployment specifies the containers that will be launched on the container
  1577  // service and their settings, such as the ports to open, the environment variables
  1578  // to apply, and the launch command to run. It also specifies the container
  1579  // that will serve as the public endpoint of the deployment and its settings,
  1580  // such as the HTTP or HTTPS port to use, and the health check configuration.
  1581  //
  1582  // You can deploy containers to your container service using container images
  1583  // from a public registry like Docker Hub, or from your local machine. For more
  1584  // information, see Creating container images for your Amazon Lightsail container
  1585  // services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-container-images)
  1586  // in the Amazon Lightsail Developer Guide.
  1587  //
  1588  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1589  // with awserr.Error's Code and Message methods to get detailed information about
  1590  // the error.
  1591  //
  1592  // See the AWS API reference guide for Amazon Lightsail's
  1593  // API operation CreateContainerServiceDeployment for usage and error information.
  1594  //
  1595  // Returned Error Types:
  1596  //   * ServiceException
  1597  //   A general service exception.
  1598  //
  1599  //   * InvalidInputException
  1600  //   Lightsail throws this exception when user input does not conform to the validation
  1601  //   rules of an input field.
  1602  //
  1603  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1604  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1605  //   view, or edit these resources.
  1606  //
  1607  //   * NotFoundException
  1608  //   Lightsail throws this exception when it cannot find a resource.
  1609  //
  1610  //   * AccessDeniedException
  1611  //   Lightsail throws this exception when the user cannot be authenticated or
  1612  //   uses invalid credentials to access a resource.
  1613  //
  1614  //   * UnauthenticatedException
  1615  //   Lightsail throws this exception when the user has not been authenticated.
  1616  //
  1617  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceDeployment
  1618  func (c *Lightsail) CreateContainerServiceDeployment(input *CreateContainerServiceDeploymentInput) (*CreateContainerServiceDeploymentOutput, error) {
  1619  	req, out := c.CreateContainerServiceDeploymentRequest(input)
  1620  	return out, req.Send()
  1621  }
  1622  
  1623  // CreateContainerServiceDeploymentWithContext is the same as CreateContainerServiceDeployment with the addition of
  1624  // the ability to pass a context and additional request options.
  1625  //
  1626  // See CreateContainerServiceDeployment for details on how to use this API operation.
  1627  //
  1628  // The context must be non-nil and will be used for request cancellation. If
  1629  // the context is nil a panic will occur. In the future the SDK may create
  1630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1631  // for more information on using Contexts.
  1632  func (c *Lightsail) CreateContainerServiceDeploymentWithContext(ctx aws.Context, input *CreateContainerServiceDeploymentInput, opts ...request.Option) (*CreateContainerServiceDeploymentOutput, error) {
  1633  	req, out := c.CreateContainerServiceDeploymentRequest(input)
  1634  	req.SetContext(ctx)
  1635  	req.ApplyOptions(opts...)
  1636  	return out, req.Send()
  1637  }
  1638  
  1639  const opCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
  1640  
  1641  // CreateContainerServiceRegistryLoginRequest generates a "aws/request.Request" representing the
  1642  // client's request for the CreateContainerServiceRegistryLogin operation. The "output" return
  1643  // value will be populated with the request's response once the request completes
  1644  // successfully.
  1645  //
  1646  // Use "Send" method on the returned Request to send the API call to the service.
  1647  // the "output" return value is not valid until after Send returns without error.
  1648  //
  1649  // See CreateContainerServiceRegistryLogin for more information on using the CreateContainerServiceRegistryLogin
  1650  // API call, and error handling.
  1651  //
  1652  // This method is useful when you want to inject custom logic or configuration
  1653  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1654  //
  1655  //
  1656  //    // Example sending a request using the CreateContainerServiceRegistryLoginRequest method.
  1657  //    req, resp := client.CreateContainerServiceRegistryLoginRequest(params)
  1658  //
  1659  //    err := req.Send()
  1660  //    if err == nil { // resp is now filled
  1661  //        fmt.Println(resp)
  1662  //    }
  1663  //
  1664  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceRegistryLogin
  1665  func (c *Lightsail) CreateContainerServiceRegistryLoginRequest(input *CreateContainerServiceRegistryLoginInput) (req *request.Request, output *CreateContainerServiceRegistryLoginOutput) {
  1666  	op := &request.Operation{
  1667  		Name:       opCreateContainerServiceRegistryLogin,
  1668  		HTTPMethod: "POST",
  1669  		HTTPPath:   "/",
  1670  	}
  1671  
  1672  	if input == nil {
  1673  		input = &CreateContainerServiceRegistryLoginInput{}
  1674  	}
  1675  
  1676  	output = &CreateContainerServiceRegistryLoginOutput{}
  1677  	req = c.newRequest(op, input, output)
  1678  	return
  1679  }
  1680  
  1681  // CreateContainerServiceRegistryLogin API operation for Amazon Lightsail.
  1682  //
  1683  // Creates a temporary set of log in credentials that you can use to log in
  1684  // to the Docker process on your local machine. After you're logged in, you
  1685  // can use the native Docker commands to push your local container images to
  1686  // the container image registry of your Amazon Lightsail account so that you
  1687  // can use them with your Lightsail container service. The log in credentials
  1688  // expire 12 hours after they are created, at which point you will need to create
  1689  // a new set of log in credentials.
  1690  //
  1691  // You can only push container images to the container service registry of your
  1692  // Lightsail account. You cannot pull container images or perform any other
  1693  // container image management actions on the container service registry.
  1694  //
  1695  // After you push your container images to the container image registry of your
  1696  // Lightsail account, use the RegisterContainerImage action to register the
  1697  // pushed images to a specific Lightsail container service.
  1698  //
  1699  // This action is not required if you install and use the Lightsail Control
  1700  // (lightsailctl) plugin to push container images to your Lightsail container
  1701  // service. For more information, see Pushing and managing container images
  1702  // on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images)
  1703  // in the Amazon Lightsail Developer Guide.
  1704  //
  1705  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1706  // with awserr.Error's Code and Message methods to get detailed information about
  1707  // the error.
  1708  //
  1709  // See the AWS API reference guide for Amazon Lightsail's
  1710  // API operation CreateContainerServiceRegistryLogin for usage and error information.
  1711  //
  1712  // Returned Error Types:
  1713  //   * ServiceException
  1714  //   A general service exception.
  1715  //
  1716  //   * InvalidInputException
  1717  //   Lightsail throws this exception when user input does not conform to the validation
  1718  //   rules of an input field.
  1719  //
  1720  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1721  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1722  //   view, or edit these resources.
  1723  //
  1724  //   * NotFoundException
  1725  //   Lightsail throws this exception when it cannot find a resource.
  1726  //
  1727  //   * AccessDeniedException
  1728  //   Lightsail throws this exception when the user cannot be authenticated or
  1729  //   uses invalid credentials to access a resource.
  1730  //
  1731  //   * UnauthenticatedException
  1732  //   Lightsail throws this exception when the user has not been authenticated.
  1733  //
  1734  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceRegistryLogin
  1735  func (c *Lightsail) CreateContainerServiceRegistryLogin(input *CreateContainerServiceRegistryLoginInput) (*CreateContainerServiceRegistryLoginOutput, error) {
  1736  	req, out := c.CreateContainerServiceRegistryLoginRequest(input)
  1737  	return out, req.Send()
  1738  }
  1739  
  1740  // CreateContainerServiceRegistryLoginWithContext is the same as CreateContainerServiceRegistryLogin with the addition of
  1741  // the ability to pass a context and additional request options.
  1742  //
  1743  // See CreateContainerServiceRegistryLogin for details on how to use this API operation.
  1744  //
  1745  // The context must be non-nil and will be used for request cancellation. If
  1746  // the context is nil a panic will occur. In the future the SDK may create
  1747  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1748  // for more information on using Contexts.
  1749  func (c *Lightsail) CreateContainerServiceRegistryLoginWithContext(ctx aws.Context, input *CreateContainerServiceRegistryLoginInput, opts ...request.Option) (*CreateContainerServiceRegistryLoginOutput, error) {
  1750  	req, out := c.CreateContainerServiceRegistryLoginRequest(input)
  1751  	req.SetContext(ctx)
  1752  	req.ApplyOptions(opts...)
  1753  	return out, req.Send()
  1754  }
  1755  
  1756  const opCreateDisk = "CreateDisk"
  1757  
  1758  // CreateDiskRequest generates a "aws/request.Request" representing the
  1759  // client's request for the CreateDisk operation. The "output" return
  1760  // value will be populated with the request's response once the request completes
  1761  // successfully.
  1762  //
  1763  // Use "Send" method on the returned Request to send the API call to the service.
  1764  // the "output" return value is not valid until after Send returns without error.
  1765  //
  1766  // See CreateDisk for more information on using the CreateDisk
  1767  // API call, and error handling.
  1768  //
  1769  // This method is useful when you want to inject custom logic or configuration
  1770  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1771  //
  1772  //
  1773  //    // Example sending a request using the CreateDiskRequest method.
  1774  //    req, resp := client.CreateDiskRequest(params)
  1775  //
  1776  //    err := req.Send()
  1777  //    if err == nil { // resp is now filled
  1778  //        fmt.Println(resp)
  1779  //    }
  1780  //
  1781  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
  1782  func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
  1783  	op := &request.Operation{
  1784  		Name:       opCreateDisk,
  1785  		HTTPMethod: "POST",
  1786  		HTTPPath:   "/",
  1787  	}
  1788  
  1789  	if input == nil {
  1790  		input = &CreateDiskInput{}
  1791  	}
  1792  
  1793  	output = &CreateDiskOutput{}
  1794  	req = c.newRequest(op, input, output)
  1795  	return
  1796  }
  1797  
  1798  // CreateDisk API operation for Amazon Lightsail.
  1799  //
  1800  // Creates a block storage disk that can be attached to an Amazon Lightsail
  1801  // instance in the same Availability Zone (e.g., us-east-2a).
  1802  //
  1803  // The create disk operation supports tag-based access control via request tags.
  1804  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  1805  //
  1806  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1807  // with awserr.Error's Code and Message methods to get detailed information about
  1808  // the error.
  1809  //
  1810  // See the AWS API reference guide for Amazon Lightsail's
  1811  // API operation CreateDisk for usage and error information.
  1812  //
  1813  // Returned Error Types:
  1814  //   * ServiceException
  1815  //   A general service exception.
  1816  //
  1817  //   * InvalidInputException
  1818  //   Lightsail throws this exception when user input does not conform to the validation
  1819  //   rules of an input field.
  1820  //
  1821  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1822  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1823  //   view, or edit these resources.
  1824  //
  1825  //   * NotFoundException
  1826  //   Lightsail throws this exception when it cannot find a resource.
  1827  //
  1828  //   * OperationFailureException
  1829  //   Lightsail throws this exception when an operation fails to execute.
  1830  //
  1831  //   * AccessDeniedException
  1832  //   Lightsail throws this exception when the user cannot be authenticated or
  1833  //   uses invalid credentials to access a resource.
  1834  //
  1835  //   * AccountSetupInProgressException
  1836  //   Lightsail throws this exception when an account is still in the setup in
  1837  //   progress state.
  1838  //
  1839  //   * UnauthenticatedException
  1840  //   Lightsail throws this exception when the user has not been authenticated.
  1841  //
  1842  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
  1843  func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
  1844  	req, out := c.CreateDiskRequest(input)
  1845  	return out, req.Send()
  1846  }
  1847  
  1848  // CreateDiskWithContext is the same as CreateDisk with the addition of
  1849  // the ability to pass a context and additional request options.
  1850  //
  1851  // See CreateDisk for details on how to use this API operation.
  1852  //
  1853  // The context must be non-nil and will be used for request cancellation. If
  1854  // the context is nil a panic will occur. In the future the SDK may create
  1855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1856  // for more information on using Contexts.
  1857  func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
  1858  	req, out := c.CreateDiskRequest(input)
  1859  	req.SetContext(ctx)
  1860  	req.ApplyOptions(opts...)
  1861  	return out, req.Send()
  1862  }
  1863  
  1864  const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
  1865  
  1866  // CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
  1867  // client's request for the CreateDiskFromSnapshot operation. The "output" return
  1868  // value will be populated with the request's response once the request completes
  1869  // successfully.
  1870  //
  1871  // Use "Send" method on the returned Request to send the API call to the service.
  1872  // the "output" return value is not valid until after Send returns without error.
  1873  //
  1874  // See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
  1875  // API call, and error handling.
  1876  //
  1877  // This method is useful when you want to inject custom logic or configuration
  1878  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1879  //
  1880  //
  1881  //    // Example sending a request using the CreateDiskFromSnapshotRequest method.
  1882  //    req, resp := client.CreateDiskFromSnapshotRequest(params)
  1883  //
  1884  //    err := req.Send()
  1885  //    if err == nil { // resp is now filled
  1886  //        fmt.Println(resp)
  1887  //    }
  1888  //
  1889  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
  1890  func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
  1891  	op := &request.Operation{
  1892  		Name:       opCreateDiskFromSnapshot,
  1893  		HTTPMethod: "POST",
  1894  		HTTPPath:   "/",
  1895  	}
  1896  
  1897  	if input == nil {
  1898  		input = &CreateDiskFromSnapshotInput{}
  1899  	}
  1900  
  1901  	output = &CreateDiskFromSnapshotOutput{}
  1902  	req = c.newRequest(op, input, output)
  1903  	return
  1904  }
  1905  
  1906  // CreateDiskFromSnapshot API operation for Amazon Lightsail.
  1907  //
  1908  // Creates a block storage disk from a manual or automatic snapshot of a disk.
  1909  // The resulting disk can be attached to an Amazon Lightsail instance in the
  1910  // same Availability Zone (e.g., us-east-2a).
  1911  //
  1912  // The create disk from snapshot operation supports tag-based access control
  1913  // via request tags and resource tags applied to the resource identified by
  1914  // disk snapshot name. For more information, see the Amazon Lightsail Developer
  1915  // Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  1916  //
  1917  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1918  // with awserr.Error's Code and Message methods to get detailed information about
  1919  // the error.
  1920  //
  1921  // See the AWS API reference guide for Amazon Lightsail's
  1922  // API operation CreateDiskFromSnapshot for usage and error information.
  1923  //
  1924  // Returned Error Types:
  1925  //   * ServiceException
  1926  //   A general service exception.
  1927  //
  1928  //   * InvalidInputException
  1929  //   Lightsail throws this exception when user input does not conform to the validation
  1930  //   rules of an input field.
  1931  //
  1932  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  1933  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  1934  //   view, or edit these resources.
  1935  //
  1936  //   * NotFoundException
  1937  //   Lightsail throws this exception when it cannot find a resource.
  1938  //
  1939  //   * OperationFailureException
  1940  //   Lightsail throws this exception when an operation fails to execute.
  1941  //
  1942  //   * AccessDeniedException
  1943  //   Lightsail throws this exception when the user cannot be authenticated or
  1944  //   uses invalid credentials to access a resource.
  1945  //
  1946  //   * AccountSetupInProgressException
  1947  //   Lightsail throws this exception when an account is still in the setup in
  1948  //   progress state.
  1949  //
  1950  //   * UnauthenticatedException
  1951  //   Lightsail throws this exception when the user has not been authenticated.
  1952  //
  1953  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
  1954  func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
  1955  	req, out := c.CreateDiskFromSnapshotRequest(input)
  1956  	return out, req.Send()
  1957  }
  1958  
  1959  // CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
  1960  // the ability to pass a context and additional request options.
  1961  //
  1962  // See CreateDiskFromSnapshot for details on how to use this API operation.
  1963  //
  1964  // The context must be non-nil and will be used for request cancellation. If
  1965  // the context is nil a panic will occur. In the future the SDK may create
  1966  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1967  // for more information on using Contexts.
  1968  func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
  1969  	req, out := c.CreateDiskFromSnapshotRequest(input)
  1970  	req.SetContext(ctx)
  1971  	req.ApplyOptions(opts...)
  1972  	return out, req.Send()
  1973  }
  1974  
  1975  const opCreateDiskSnapshot = "CreateDiskSnapshot"
  1976  
  1977  // CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
  1978  // client's request for the CreateDiskSnapshot operation. The "output" return
  1979  // value will be populated with the request's response once the request completes
  1980  // successfully.
  1981  //
  1982  // Use "Send" method on the returned Request to send the API call to the service.
  1983  // the "output" return value is not valid until after Send returns without error.
  1984  //
  1985  // See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
  1986  // API call, and error handling.
  1987  //
  1988  // This method is useful when you want to inject custom logic or configuration
  1989  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1990  //
  1991  //
  1992  //    // Example sending a request using the CreateDiskSnapshotRequest method.
  1993  //    req, resp := client.CreateDiskSnapshotRequest(params)
  1994  //
  1995  //    err := req.Send()
  1996  //    if err == nil { // resp is now filled
  1997  //        fmt.Println(resp)
  1998  //    }
  1999  //
  2000  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
  2001  func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
  2002  	op := &request.Operation{
  2003  		Name:       opCreateDiskSnapshot,
  2004  		HTTPMethod: "POST",
  2005  		HTTPPath:   "/",
  2006  	}
  2007  
  2008  	if input == nil {
  2009  		input = &CreateDiskSnapshotInput{}
  2010  	}
  2011  
  2012  	output = &CreateDiskSnapshotOutput{}
  2013  	req = c.newRequest(op, input, output)
  2014  	return
  2015  }
  2016  
  2017  // CreateDiskSnapshot API operation for Amazon Lightsail.
  2018  //
  2019  // Creates a snapshot of a block storage disk. You can use snapshots for backups,
  2020  // to make copies of disks, and to save data before shutting down a Lightsail
  2021  // instance.
  2022  //
  2023  // You can take a snapshot of an attached disk that is in use; however, snapshots
  2024  // only capture data that has been written to your disk at the time the snapshot
  2025  // command is issued. This may exclude any data that has been cached by any
  2026  // applications or the operating system. If you can pause any file systems on
  2027  // the disk long enough to take a snapshot, your snapshot should be complete.
  2028  // Nevertheless, if you cannot pause all file writes to the disk, you should
  2029  // unmount the disk from within the Lightsail instance, issue the create disk
  2030  // snapshot command, and then remount the disk to ensure a consistent and complete
  2031  // snapshot. You may remount and use your disk while the snapshot status is
  2032  // pending.
  2033  //
  2034  // You can also use this operation to create a snapshot of an instance's system
  2035  // volume. You might want to do this, for example, to recover data from the
  2036  // system volume of a botched instance or to create a backup of the system volume
  2037  // like you would for a block storage disk. To create a snapshot of a system
  2038  // volume, just define the instance name parameter when issuing the snapshot
  2039  // command, and a snapshot of the defined instance's system volume will be created.
  2040  // After the snapshot is available, you can create a block storage disk from
  2041  // the snapshot and attach it to a running instance to access the data on the
  2042  // disk.
  2043  //
  2044  // The create disk snapshot operation supports tag-based access control via
  2045  // request tags. For more information, see the Amazon Lightsail Developer Guide
  2046  // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2047  //
  2048  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2049  // with awserr.Error's Code and Message methods to get detailed information about
  2050  // the error.
  2051  //
  2052  // See the AWS API reference guide for Amazon Lightsail's
  2053  // API operation CreateDiskSnapshot for usage and error information.
  2054  //
  2055  // Returned Error Types:
  2056  //   * ServiceException
  2057  //   A general service exception.
  2058  //
  2059  //   * InvalidInputException
  2060  //   Lightsail throws this exception when user input does not conform to the validation
  2061  //   rules of an input field.
  2062  //
  2063  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2064  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2065  //   view, or edit these resources.
  2066  //
  2067  //   * NotFoundException
  2068  //   Lightsail throws this exception when it cannot find a resource.
  2069  //
  2070  //   * OperationFailureException
  2071  //   Lightsail throws this exception when an operation fails to execute.
  2072  //
  2073  //   * AccessDeniedException
  2074  //   Lightsail throws this exception when the user cannot be authenticated or
  2075  //   uses invalid credentials to access a resource.
  2076  //
  2077  //   * AccountSetupInProgressException
  2078  //   Lightsail throws this exception when an account is still in the setup in
  2079  //   progress state.
  2080  //
  2081  //   * UnauthenticatedException
  2082  //   Lightsail throws this exception when the user has not been authenticated.
  2083  //
  2084  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
  2085  func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
  2086  	req, out := c.CreateDiskSnapshotRequest(input)
  2087  	return out, req.Send()
  2088  }
  2089  
  2090  // CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
  2091  // the ability to pass a context and additional request options.
  2092  //
  2093  // See CreateDiskSnapshot for details on how to use this API operation.
  2094  //
  2095  // The context must be non-nil and will be used for request cancellation. If
  2096  // the context is nil a panic will occur. In the future the SDK may create
  2097  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2098  // for more information on using Contexts.
  2099  func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
  2100  	req, out := c.CreateDiskSnapshotRequest(input)
  2101  	req.SetContext(ctx)
  2102  	req.ApplyOptions(opts...)
  2103  	return out, req.Send()
  2104  }
  2105  
  2106  const opCreateDistribution = "CreateDistribution"
  2107  
  2108  // CreateDistributionRequest generates a "aws/request.Request" representing the
  2109  // client's request for the CreateDistribution operation. The "output" return
  2110  // value will be populated with the request's response once the request completes
  2111  // successfully.
  2112  //
  2113  // Use "Send" method on the returned Request to send the API call to the service.
  2114  // the "output" return value is not valid until after Send returns without error.
  2115  //
  2116  // See CreateDistribution for more information on using the CreateDistribution
  2117  // API call, and error handling.
  2118  //
  2119  // This method is useful when you want to inject custom logic or configuration
  2120  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2121  //
  2122  //
  2123  //    // Example sending a request using the CreateDistributionRequest method.
  2124  //    req, resp := client.CreateDistributionRequest(params)
  2125  //
  2126  //    err := req.Send()
  2127  //    if err == nil { // resp is now filled
  2128  //        fmt.Println(resp)
  2129  //    }
  2130  //
  2131  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
  2132  func (c *Lightsail) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) {
  2133  	op := &request.Operation{
  2134  		Name:       opCreateDistribution,
  2135  		HTTPMethod: "POST",
  2136  		HTTPPath:   "/",
  2137  	}
  2138  
  2139  	if input == nil {
  2140  		input = &CreateDistributionInput{}
  2141  	}
  2142  
  2143  	output = &CreateDistributionOutput{}
  2144  	req = c.newRequest(op, input, output)
  2145  	return
  2146  }
  2147  
  2148  // CreateDistribution API operation for Amazon Lightsail.
  2149  //
  2150  // Creates an Amazon Lightsail content delivery network (CDN) distribution.
  2151  //
  2152  // A distribution is a globally distributed network of caching servers that
  2153  // improve the performance of your website or web application hosted on a Lightsail
  2154  // instance. For more information, see Content delivery networks in Amazon Lightsail
  2155  // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-content-delivery-network-distributions).
  2156  //
  2157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2158  // with awserr.Error's Code and Message methods to get detailed information about
  2159  // the error.
  2160  //
  2161  // See the AWS API reference guide for Amazon Lightsail's
  2162  // API operation CreateDistribution for usage and error information.
  2163  //
  2164  // Returned Error Types:
  2165  //   * ServiceException
  2166  //   A general service exception.
  2167  //
  2168  //   * InvalidInputException
  2169  //   Lightsail throws this exception when user input does not conform to the validation
  2170  //   rules of an input field.
  2171  //
  2172  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2173  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2174  //   view, or edit these resources.
  2175  //
  2176  //   * NotFoundException
  2177  //   Lightsail throws this exception when it cannot find a resource.
  2178  //
  2179  //   * OperationFailureException
  2180  //   Lightsail throws this exception when an operation fails to execute.
  2181  //
  2182  //   * AccessDeniedException
  2183  //   Lightsail throws this exception when the user cannot be authenticated or
  2184  //   uses invalid credentials to access a resource.
  2185  //
  2186  //   * UnauthenticatedException
  2187  //   Lightsail throws this exception when the user has not been authenticated.
  2188  //
  2189  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
  2190  func (c *Lightsail) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) {
  2191  	req, out := c.CreateDistributionRequest(input)
  2192  	return out, req.Send()
  2193  }
  2194  
  2195  // CreateDistributionWithContext is the same as CreateDistribution with the addition of
  2196  // the ability to pass a context and additional request options.
  2197  //
  2198  // See CreateDistribution for details on how to use this API operation.
  2199  //
  2200  // The context must be non-nil and will be used for request cancellation. If
  2201  // the context is nil a panic will occur. In the future the SDK may create
  2202  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2203  // for more information on using Contexts.
  2204  func (c *Lightsail) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) {
  2205  	req, out := c.CreateDistributionRequest(input)
  2206  	req.SetContext(ctx)
  2207  	req.ApplyOptions(opts...)
  2208  	return out, req.Send()
  2209  }
  2210  
  2211  const opCreateDomain = "CreateDomain"
  2212  
  2213  // CreateDomainRequest generates a "aws/request.Request" representing the
  2214  // client's request for the CreateDomain operation. The "output" return
  2215  // value will be populated with the request's response once the request completes
  2216  // successfully.
  2217  //
  2218  // Use "Send" method on the returned Request to send the API call to the service.
  2219  // the "output" return value is not valid until after Send returns without error.
  2220  //
  2221  // See CreateDomain for more information on using the CreateDomain
  2222  // API call, and error handling.
  2223  //
  2224  // This method is useful when you want to inject custom logic or configuration
  2225  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2226  //
  2227  //
  2228  //    // Example sending a request using the CreateDomainRequest method.
  2229  //    req, resp := client.CreateDomainRequest(params)
  2230  //
  2231  //    err := req.Send()
  2232  //    if err == nil { // resp is now filled
  2233  //        fmt.Println(resp)
  2234  //    }
  2235  //
  2236  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
  2237  func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
  2238  	op := &request.Operation{
  2239  		Name:       opCreateDomain,
  2240  		HTTPMethod: "POST",
  2241  		HTTPPath:   "/",
  2242  	}
  2243  
  2244  	if input == nil {
  2245  		input = &CreateDomainInput{}
  2246  	}
  2247  
  2248  	output = &CreateDomainOutput{}
  2249  	req = c.newRequest(op, input, output)
  2250  	return
  2251  }
  2252  
  2253  // CreateDomain API operation for Amazon Lightsail.
  2254  //
  2255  // Creates a domain resource for the specified domain (e.g., example.com).
  2256  //
  2257  // The create domain operation supports tag-based access control via request
  2258  // tags. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2259  //
  2260  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2261  // with awserr.Error's Code and Message methods to get detailed information about
  2262  // the error.
  2263  //
  2264  // See the AWS API reference guide for Amazon Lightsail's
  2265  // API operation CreateDomain for usage and error information.
  2266  //
  2267  // Returned Error Types:
  2268  //   * ServiceException
  2269  //   A general service exception.
  2270  //
  2271  //   * InvalidInputException
  2272  //   Lightsail throws this exception when user input does not conform to the validation
  2273  //   rules of an input field.
  2274  //
  2275  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2276  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2277  //   view, or edit these resources.
  2278  //
  2279  //   * NotFoundException
  2280  //   Lightsail throws this exception when it cannot find a resource.
  2281  //
  2282  //   * OperationFailureException
  2283  //   Lightsail throws this exception when an operation fails to execute.
  2284  //
  2285  //   * AccessDeniedException
  2286  //   Lightsail throws this exception when the user cannot be authenticated or
  2287  //   uses invalid credentials to access a resource.
  2288  //
  2289  //   * AccountSetupInProgressException
  2290  //   Lightsail throws this exception when an account is still in the setup in
  2291  //   progress state.
  2292  //
  2293  //   * UnauthenticatedException
  2294  //   Lightsail throws this exception when the user has not been authenticated.
  2295  //
  2296  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
  2297  func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
  2298  	req, out := c.CreateDomainRequest(input)
  2299  	return out, req.Send()
  2300  }
  2301  
  2302  // CreateDomainWithContext is the same as CreateDomain with the addition of
  2303  // the ability to pass a context and additional request options.
  2304  //
  2305  // See CreateDomain for details on how to use this API operation.
  2306  //
  2307  // The context must be non-nil and will be used for request cancellation. If
  2308  // the context is nil a panic will occur. In the future the SDK may create
  2309  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2310  // for more information on using Contexts.
  2311  func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
  2312  	req, out := c.CreateDomainRequest(input)
  2313  	req.SetContext(ctx)
  2314  	req.ApplyOptions(opts...)
  2315  	return out, req.Send()
  2316  }
  2317  
  2318  const opCreateDomainEntry = "CreateDomainEntry"
  2319  
  2320  // CreateDomainEntryRequest generates a "aws/request.Request" representing the
  2321  // client's request for the CreateDomainEntry operation. The "output" return
  2322  // value will be populated with the request's response once the request completes
  2323  // successfully.
  2324  //
  2325  // Use "Send" method on the returned Request to send the API call to the service.
  2326  // the "output" return value is not valid until after Send returns without error.
  2327  //
  2328  // See CreateDomainEntry for more information on using the CreateDomainEntry
  2329  // API call, and error handling.
  2330  //
  2331  // This method is useful when you want to inject custom logic or configuration
  2332  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2333  //
  2334  //
  2335  //    // Example sending a request using the CreateDomainEntryRequest method.
  2336  //    req, resp := client.CreateDomainEntryRequest(params)
  2337  //
  2338  //    err := req.Send()
  2339  //    if err == nil { // resp is now filled
  2340  //        fmt.Println(resp)
  2341  //    }
  2342  //
  2343  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
  2344  func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
  2345  	op := &request.Operation{
  2346  		Name:       opCreateDomainEntry,
  2347  		HTTPMethod: "POST",
  2348  		HTTPPath:   "/",
  2349  	}
  2350  
  2351  	if input == nil {
  2352  		input = &CreateDomainEntryInput{}
  2353  	}
  2354  
  2355  	output = &CreateDomainEntryOutput{}
  2356  	req = c.newRequest(op, input, output)
  2357  	return
  2358  }
  2359  
  2360  // CreateDomainEntry API operation for Amazon Lightsail.
  2361  //
  2362  // Creates one of the following domain name system (DNS) records in a domain
  2363  // DNS zone: Address (A), canonical name (CNAME), mail exchanger (MX), name
  2364  // server (NS), start of authority (SOA), service locator (SRV), or text (TXT).
  2365  //
  2366  // The create domain entry operation supports tag-based access control via resource
  2367  // tags applied to the resource identified by domain name. For more information,
  2368  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2369  //
  2370  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2371  // with awserr.Error's Code and Message methods to get detailed information about
  2372  // the error.
  2373  //
  2374  // See the AWS API reference guide for Amazon Lightsail's
  2375  // API operation CreateDomainEntry for usage and error information.
  2376  //
  2377  // Returned Error Types:
  2378  //   * ServiceException
  2379  //   A general service exception.
  2380  //
  2381  //   * InvalidInputException
  2382  //   Lightsail throws this exception when user input does not conform to the validation
  2383  //   rules of an input field.
  2384  //
  2385  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2386  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2387  //   view, or edit these resources.
  2388  //
  2389  //   * NotFoundException
  2390  //   Lightsail throws this exception when it cannot find a resource.
  2391  //
  2392  //   * OperationFailureException
  2393  //   Lightsail throws this exception when an operation fails to execute.
  2394  //
  2395  //   * AccessDeniedException
  2396  //   Lightsail throws this exception when the user cannot be authenticated or
  2397  //   uses invalid credentials to access a resource.
  2398  //
  2399  //   * AccountSetupInProgressException
  2400  //   Lightsail throws this exception when an account is still in the setup in
  2401  //   progress state.
  2402  //
  2403  //   * UnauthenticatedException
  2404  //   Lightsail throws this exception when the user has not been authenticated.
  2405  //
  2406  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
  2407  func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
  2408  	req, out := c.CreateDomainEntryRequest(input)
  2409  	return out, req.Send()
  2410  }
  2411  
  2412  // CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
  2413  // the ability to pass a context and additional request options.
  2414  //
  2415  // See CreateDomainEntry for details on how to use this API operation.
  2416  //
  2417  // The context must be non-nil and will be used for request cancellation. If
  2418  // the context is nil a panic will occur. In the future the SDK may create
  2419  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2420  // for more information on using Contexts.
  2421  func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
  2422  	req, out := c.CreateDomainEntryRequest(input)
  2423  	req.SetContext(ctx)
  2424  	req.ApplyOptions(opts...)
  2425  	return out, req.Send()
  2426  }
  2427  
  2428  const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
  2429  
  2430  // CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
  2431  // client's request for the CreateInstanceSnapshot operation. The "output" return
  2432  // value will be populated with the request's response once the request completes
  2433  // successfully.
  2434  //
  2435  // Use "Send" method on the returned Request to send the API call to the service.
  2436  // the "output" return value is not valid until after Send returns without error.
  2437  //
  2438  // See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
  2439  // API call, and error handling.
  2440  //
  2441  // This method is useful when you want to inject custom logic or configuration
  2442  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2443  //
  2444  //
  2445  //    // Example sending a request using the CreateInstanceSnapshotRequest method.
  2446  //    req, resp := client.CreateInstanceSnapshotRequest(params)
  2447  //
  2448  //    err := req.Send()
  2449  //    if err == nil { // resp is now filled
  2450  //        fmt.Println(resp)
  2451  //    }
  2452  //
  2453  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
  2454  func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
  2455  	op := &request.Operation{
  2456  		Name:       opCreateInstanceSnapshot,
  2457  		HTTPMethod: "POST",
  2458  		HTTPPath:   "/",
  2459  	}
  2460  
  2461  	if input == nil {
  2462  		input = &CreateInstanceSnapshotInput{}
  2463  	}
  2464  
  2465  	output = &CreateInstanceSnapshotOutput{}
  2466  	req = c.newRequest(op, input, output)
  2467  	return
  2468  }
  2469  
  2470  // CreateInstanceSnapshot API operation for Amazon Lightsail.
  2471  //
  2472  // Creates a snapshot of a specific virtual private server, or instance. You
  2473  // can use a snapshot to create a new instance that is based on that snapshot.
  2474  //
  2475  // The create instance snapshot operation supports tag-based access control
  2476  // via request tags. For more information, see the Amazon Lightsail Developer
  2477  // Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2478  //
  2479  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2480  // with awserr.Error's Code and Message methods to get detailed information about
  2481  // the error.
  2482  //
  2483  // See the AWS API reference guide for Amazon Lightsail's
  2484  // API operation CreateInstanceSnapshot for usage and error information.
  2485  //
  2486  // Returned Error Types:
  2487  //   * ServiceException
  2488  //   A general service exception.
  2489  //
  2490  //   * InvalidInputException
  2491  //   Lightsail throws this exception when user input does not conform to the validation
  2492  //   rules of an input field.
  2493  //
  2494  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2495  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2496  //   view, or edit these resources.
  2497  //
  2498  //   * NotFoundException
  2499  //   Lightsail throws this exception when it cannot find a resource.
  2500  //
  2501  //   * OperationFailureException
  2502  //   Lightsail throws this exception when an operation fails to execute.
  2503  //
  2504  //   * AccessDeniedException
  2505  //   Lightsail throws this exception when the user cannot be authenticated or
  2506  //   uses invalid credentials to access a resource.
  2507  //
  2508  //   * AccountSetupInProgressException
  2509  //   Lightsail throws this exception when an account is still in the setup in
  2510  //   progress state.
  2511  //
  2512  //   * UnauthenticatedException
  2513  //   Lightsail throws this exception when the user has not been authenticated.
  2514  //
  2515  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
  2516  func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
  2517  	req, out := c.CreateInstanceSnapshotRequest(input)
  2518  	return out, req.Send()
  2519  }
  2520  
  2521  // CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
  2522  // the ability to pass a context and additional request options.
  2523  //
  2524  // See CreateInstanceSnapshot for details on how to use this API operation.
  2525  //
  2526  // The context must be non-nil and will be used for request cancellation. If
  2527  // the context is nil a panic will occur. In the future the SDK may create
  2528  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2529  // for more information on using Contexts.
  2530  func (c *Lightsail) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
  2531  	req, out := c.CreateInstanceSnapshotRequest(input)
  2532  	req.SetContext(ctx)
  2533  	req.ApplyOptions(opts...)
  2534  	return out, req.Send()
  2535  }
  2536  
  2537  const opCreateInstances = "CreateInstances"
  2538  
  2539  // CreateInstancesRequest generates a "aws/request.Request" representing the
  2540  // client's request for the CreateInstances operation. The "output" return
  2541  // value will be populated with the request's response once the request completes
  2542  // successfully.
  2543  //
  2544  // Use "Send" method on the returned Request to send the API call to the service.
  2545  // the "output" return value is not valid until after Send returns without error.
  2546  //
  2547  // See CreateInstances for more information on using the CreateInstances
  2548  // API call, and error handling.
  2549  //
  2550  // This method is useful when you want to inject custom logic or configuration
  2551  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2552  //
  2553  //
  2554  //    // Example sending a request using the CreateInstancesRequest method.
  2555  //    req, resp := client.CreateInstancesRequest(params)
  2556  //
  2557  //    err := req.Send()
  2558  //    if err == nil { // resp is now filled
  2559  //        fmt.Println(resp)
  2560  //    }
  2561  //
  2562  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
  2563  func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
  2564  	op := &request.Operation{
  2565  		Name:       opCreateInstances,
  2566  		HTTPMethod: "POST",
  2567  		HTTPPath:   "/",
  2568  	}
  2569  
  2570  	if input == nil {
  2571  		input = &CreateInstancesInput{}
  2572  	}
  2573  
  2574  	output = &CreateInstancesOutput{}
  2575  	req = c.newRequest(op, input, output)
  2576  	return
  2577  }
  2578  
  2579  // CreateInstances API operation for Amazon Lightsail.
  2580  //
  2581  // Creates one or more Amazon Lightsail instances.
  2582  //
  2583  // The create instances operation supports tag-based access control via request
  2584  // tags. For more information, see the Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2585  //
  2586  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2587  // with awserr.Error's Code and Message methods to get detailed information about
  2588  // the error.
  2589  //
  2590  // See the AWS API reference guide for Amazon Lightsail's
  2591  // API operation CreateInstances for usage and error information.
  2592  //
  2593  // Returned Error Types:
  2594  //   * ServiceException
  2595  //   A general service exception.
  2596  //
  2597  //   * InvalidInputException
  2598  //   Lightsail throws this exception when user input does not conform to the validation
  2599  //   rules of an input field.
  2600  //
  2601  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2602  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2603  //   view, or edit these resources.
  2604  //
  2605  //   * NotFoundException
  2606  //   Lightsail throws this exception when it cannot find a resource.
  2607  //
  2608  //   * OperationFailureException
  2609  //   Lightsail throws this exception when an operation fails to execute.
  2610  //
  2611  //   * AccessDeniedException
  2612  //   Lightsail throws this exception when the user cannot be authenticated or
  2613  //   uses invalid credentials to access a resource.
  2614  //
  2615  //   * AccountSetupInProgressException
  2616  //   Lightsail throws this exception when an account is still in the setup in
  2617  //   progress state.
  2618  //
  2619  //   * UnauthenticatedException
  2620  //   Lightsail throws this exception when the user has not been authenticated.
  2621  //
  2622  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
  2623  func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
  2624  	req, out := c.CreateInstancesRequest(input)
  2625  	return out, req.Send()
  2626  }
  2627  
  2628  // CreateInstancesWithContext is the same as CreateInstances with the addition of
  2629  // the ability to pass a context and additional request options.
  2630  //
  2631  // See CreateInstances for details on how to use this API operation.
  2632  //
  2633  // The context must be non-nil and will be used for request cancellation. If
  2634  // the context is nil a panic will occur. In the future the SDK may create
  2635  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2636  // for more information on using Contexts.
  2637  func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
  2638  	req, out := c.CreateInstancesRequest(input)
  2639  	req.SetContext(ctx)
  2640  	req.ApplyOptions(opts...)
  2641  	return out, req.Send()
  2642  }
  2643  
  2644  const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
  2645  
  2646  // CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
  2647  // client's request for the CreateInstancesFromSnapshot operation. The "output" return
  2648  // value will be populated with the request's response once the request completes
  2649  // successfully.
  2650  //
  2651  // Use "Send" method on the returned Request to send the API call to the service.
  2652  // the "output" return value is not valid until after Send returns without error.
  2653  //
  2654  // See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
  2655  // API call, and error handling.
  2656  //
  2657  // This method is useful when you want to inject custom logic or configuration
  2658  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2659  //
  2660  //
  2661  //    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
  2662  //    req, resp := client.CreateInstancesFromSnapshotRequest(params)
  2663  //
  2664  //    err := req.Send()
  2665  //    if err == nil { // resp is now filled
  2666  //        fmt.Println(resp)
  2667  //    }
  2668  //
  2669  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
  2670  func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
  2671  	op := &request.Operation{
  2672  		Name:       opCreateInstancesFromSnapshot,
  2673  		HTTPMethod: "POST",
  2674  		HTTPPath:   "/",
  2675  	}
  2676  
  2677  	if input == nil {
  2678  		input = &CreateInstancesFromSnapshotInput{}
  2679  	}
  2680  
  2681  	output = &CreateInstancesFromSnapshotOutput{}
  2682  	req = c.newRequest(op, input, output)
  2683  	return
  2684  }
  2685  
  2686  // CreateInstancesFromSnapshot API operation for Amazon Lightsail.
  2687  //
  2688  // Creates one or more new instances from a manual or automatic snapshot of
  2689  // an instance.
  2690  //
  2691  // The create instances from snapshot operation supports tag-based access control
  2692  // via request tags and resource tags applied to the resource identified by
  2693  // instance snapshot name. For more information, see the Amazon Lightsail Developer
  2694  // Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2695  //
  2696  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2697  // with awserr.Error's Code and Message methods to get detailed information about
  2698  // the error.
  2699  //
  2700  // See the AWS API reference guide for Amazon Lightsail's
  2701  // API operation CreateInstancesFromSnapshot for usage and error information.
  2702  //
  2703  // Returned Error Types:
  2704  //   * ServiceException
  2705  //   A general service exception.
  2706  //
  2707  //   * InvalidInputException
  2708  //   Lightsail throws this exception when user input does not conform to the validation
  2709  //   rules of an input field.
  2710  //
  2711  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2712  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2713  //   view, or edit these resources.
  2714  //
  2715  //   * NotFoundException
  2716  //   Lightsail throws this exception when it cannot find a resource.
  2717  //
  2718  //   * OperationFailureException
  2719  //   Lightsail throws this exception when an operation fails to execute.
  2720  //
  2721  //   * AccessDeniedException
  2722  //   Lightsail throws this exception when the user cannot be authenticated or
  2723  //   uses invalid credentials to access a resource.
  2724  //
  2725  //   * AccountSetupInProgressException
  2726  //   Lightsail throws this exception when an account is still in the setup in
  2727  //   progress state.
  2728  //
  2729  //   * UnauthenticatedException
  2730  //   Lightsail throws this exception when the user has not been authenticated.
  2731  //
  2732  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
  2733  func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
  2734  	req, out := c.CreateInstancesFromSnapshotRequest(input)
  2735  	return out, req.Send()
  2736  }
  2737  
  2738  // CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
  2739  // the ability to pass a context and additional request options.
  2740  //
  2741  // See CreateInstancesFromSnapshot for details on how to use this API operation.
  2742  //
  2743  // The context must be non-nil and will be used for request cancellation. If
  2744  // the context is nil a panic will occur. In the future the SDK may create
  2745  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2746  // for more information on using Contexts.
  2747  func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
  2748  	req, out := c.CreateInstancesFromSnapshotRequest(input)
  2749  	req.SetContext(ctx)
  2750  	req.ApplyOptions(opts...)
  2751  	return out, req.Send()
  2752  }
  2753  
  2754  const opCreateKeyPair = "CreateKeyPair"
  2755  
  2756  // CreateKeyPairRequest generates a "aws/request.Request" representing the
  2757  // client's request for the CreateKeyPair operation. The "output" return
  2758  // value will be populated with the request's response once the request completes
  2759  // successfully.
  2760  //
  2761  // Use "Send" method on the returned Request to send the API call to the service.
  2762  // the "output" return value is not valid until after Send returns without error.
  2763  //
  2764  // See CreateKeyPair for more information on using the CreateKeyPair
  2765  // API call, and error handling.
  2766  //
  2767  // This method is useful when you want to inject custom logic or configuration
  2768  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2769  //
  2770  //
  2771  //    // Example sending a request using the CreateKeyPairRequest method.
  2772  //    req, resp := client.CreateKeyPairRequest(params)
  2773  //
  2774  //    err := req.Send()
  2775  //    if err == nil { // resp is now filled
  2776  //        fmt.Println(resp)
  2777  //    }
  2778  //
  2779  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
  2780  func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  2781  	op := &request.Operation{
  2782  		Name:       opCreateKeyPair,
  2783  		HTTPMethod: "POST",
  2784  		HTTPPath:   "/",
  2785  	}
  2786  
  2787  	if input == nil {
  2788  		input = &CreateKeyPairInput{}
  2789  	}
  2790  
  2791  	output = &CreateKeyPairOutput{}
  2792  	req = c.newRequest(op, input, output)
  2793  	return
  2794  }
  2795  
  2796  // CreateKeyPair API operation for Amazon Lightsail.
  2797  //
  2798  // Creates an SSH key pair.
  2799  //
  2800  // The create key pair operation supports tag-based access control via request
  2801  // tags. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2802  //
  2803  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2804  // with awserr.Error's Code and Message methods to get detailed information about
  2805  // the error.
  2806  //
  2807  // See the AWS API reference guide for Amazon Lightsail's
  2808  // API operation CreateKeyPair for usage and error information.
  2809  //
  2810  // Returned Error Types:
  2811  //   * ServiceException
  2812  //   A general service exception.
  2813  //
  2814  //   * InvalidInputException
  2815  //   Lightsail throws this exception when user input does not conform to the validation
  2816  //   rules of an input field.
  2817  //
  2818  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2819  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2820  //   view, or edit these resources.
  2821  //
  2822  //   * NotFoundException
  2823  //   Lightsail throws this exception when it cannot find a resource.
  2824  //
  2825  //   * OperationFailureException
  2826  //   Lightsail throws this exception when an operation fails to execute.
  2827  //
  2828  //   * AccessDeniedException
  2829  //   Lightsail throws this exception when the user cannot be authenticated or
  2830  //   uses invalid credentials to access a resource.
  2831  //
  2832  //   * AccountSetupInProgressException
  2833  //   Lightsail throws this exception when an account is still in the setup in
  2834  //   progress state.
  2835  //
  2836  //   * UnauthenticatedException
  2837  //   Lightsail throws this exception when the user has not been authenticated.
  2838  //
  2839  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
  2840  func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  2841  	req, out := c.CreateKeyPairRequest(input)
  2842  	return out, req.Send()
  2843  }
  2844  
  2845  // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  2846  // the ability to pass a context and additional request options.
  2847  //
  2848  // See CreateKeyPair 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.
  2854  func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  2855  	req, out := c.CreateKeyPairRequest(input)
  2856  	req.SetContext(ctx)
  2857  	req.ApplyOptions(opts...)
  2858  	return out, req.Send()
  2859  }
  2860  
  2861  const opCreateLoadBalancer = "CreateLoadBalancer"
  2862  
  2863  // CreateLoadBalancerRequest generates a "aws/request.Request" representing the
  2864  // client's request for the CreateLoadBalancer 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 CreateLoadBalancer for more information on using the CreateLoadBalancer
  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 CreateLoadBalancerRequest method.
  2879  //    req, resp := client.CreateLoadBalancerRequest(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/CreateLoadBalancer
  2887  func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
  2888  	op := &request.Operation{
  2889  		Name:       opCreateLoadBalancer,
  2890  		HTTPMethod: "POST",
  2891  		HTTPPath:   "/",
  2892  	}
  2893  
  2894  	if input == nil {
  2895  		input = &CreateLoadBalancerInput{}
  2896  	}
  2897  
  2898  	output = &CreateLoadBalancerOutput{}
  2899  	req = c.newRequest(op, input, output)
  2900  	return
  2901  }
  2902  
  2903  // CreateLoadBalancer API operation for Amazon Lightsail.
  2904  //
  2905  // Creates a Lightsail load balancer. To learn more about deciding whether to
  2906  // load balance your application, see Configure your Lightsail instances for
  2907  // load balancing (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/configure-lightsail-instances-for-load-balancing).
  2908  // You can create up to 5 load balancers per AWS Region in your account.
  2909  //
  2910  // When you create a load balancer, you can specify a unique name and port settings.
  2911  // To change additional load balancer settings, use the UpdateLoadBalancerAttribute
  2912  // operation.
  2913  //
  2914  // The create load balancer operation supports tag-based access control via
  2915  // request tags. For more information, see the Amazon Lightsail Developer Guide
  2916  // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  2917  //
  2918  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2919  // with awserr.Error's Code and Message methods to get detailed information about
  2920  // the error.
  2921  //
  2922  // See the AWS API reference guide for Amazon Lightsail's
  2923  // API operation CreateLoadBalancer for usage and error information.
  2924  //
  2925  // Returned Error Types:
  2926  //   * ServiceException
  2927  //   A general service exception.
  2928  //
  2929  //   * InvalidInputException
  2930  //   Lightsail throws this exception when user input does not conform to the validation
  2931  //   rules of an input field.
  2932  //
  2933  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  2934  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  2935  //   view, or edit these resources.
  2936  //
  2937  //   * NotFoundException
  2938  //   Lightsail throws this exception when it cannot find a resource.
  2939  //
  2940  //   * OperationFailureException
  2941  //   Lightsail throws this exception when an operation fails to execute.
  2942  //
  2943  //   * AccessDeniedException
  2944  //   Lightsail throws this exception when the user cannot be authenticated or
  2945  //   uses invalid credentials to access a resource.
  2946  //
  2947  //   * AccountSetupInProgressException
  2948  //   Lightsail throws this exception when an account is still in the setup in
  2949  //   progress state.
  2950  //
  2951  //   * UnauthenticatedException
  2952  //   Lightsail throws this exception when the user has not been authenticated.
  2953  //
  2954  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
  2955  func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
  2956  	req, out := c.CreateLoadBalancerRequest(input)
  2957  	return out, req.Send()
  2958  }
  2959  
  2960  // CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
  2961  // the ability to pass a context and additional request options.
  2962  //
  2963  // See CreateLoadBalancer for details on how to use this API operation.
  2964  //
  2965  // The context must be non-nil and will be used for request cancellation. If
  2966  // the context is nil a panic will occur. In the future the SDK may create
  2967  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2968  // for more information on using Contexts.
  2969  func (c *Lightsail) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
  2970  	req, out := c.CreateLoadBalancerRequest(input)
  2971  	req.SetContext(ctx)
  2972  	req.ApplyOptions(opts...)
  2973  	return out, req.Send()
  2974  }
  2975  
  2976  const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
  2977  
  2978  // CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
  2979  // client's request for the CreateLoadBalancerTlsCertificate operation. The "output" return
  2980  // value will be populated with the request's response once the request completes
  2981  // successfully.
  2982  //
  2983  // Use "Send" method on the returned Request to send the API call to the service.
  2984  // the "output" return value is not valid until after Send returns without error.
  2985  //
  2986  // See CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
  2987  // API call, and error handling.
  2988  //
  2989  // This method is useful when you want to inject custom logic or configuration
  2990  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2991  //
  2992  //
  2993  //    // Example sending a request using the CreateLoadBalancerTlsCertificateRequest method.
  2994  //    req, resp := client.CreateLoadBalancerTlsCertificateRequest(params)
  2995  //
  2996  //    err := req.Send()
  2997  //    if err == nil { // resp is now filled
  2998  //        fmt.Println(resp)
  2999  //    }
  3000  //
  3001  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
  3002  func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
  3003  	op := &request.Operation{
  3004  		Name:       opCreateLoadBalancerTlsCertificate,
  3005  		HTTPMethod: "POST",
  3006  		HTTPPath:   "/",
  3007  	}
  3008  
  3009  	if input == nil {
  3010  		input = &CreateLoadBalancerTlsCertificateInput{}
  3011  	}
  3012  
  3013  	output = &CreateLoadBalancerTlsCertificateOutput{}
  3014  	req = c.newRequest(op, input, output)
  3015  	return
  3016  }
  3017  
  3018  // CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
  3019  //
  3020  // Creates an SSL/TLS certificate for an Amazon Lightsail load balancer.
  3021  //
  3022  // TLS is just an updated, more secure version of Secure Socket Layer (SSL).
  3023  //
  3024  // The CreateLoadBalancerTlsCertificate operation supports tag-based access
  3025  // control via resource tags applied to the resource identified by load balancer
  3026  // name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  3027  //
  3028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3029  // with awserr.Error's Code and Message methods to get detailed information about
  3030  // the error.
  3031  //
  3032  // See the AWS API reference guide for Amazon Lightsail's
  3033  // API operation CreateLoadBalancerTlsCertificate for usage and error information.
  3034  //
  3035  // Returned Error Types:
  3036  //   * ServiceException
  3037  //   A general service exception.
  3038  //
  3039  //   * InvalidInputException
  3040  //   Lightsail throws this exception when user input does not conform to the validation
  3041  //   rules of an input field.
  3042  //
  3043  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3044  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3045  //   view, or edit these resources.
  3046  //
  3047  //   * NotFoundException
  3048  //   Lightsail throws this exception when it cannot find a resource.
  3049  //
  3050  //   * OperationFailureException
  3051  //   Lightsail throws this exception when an operation fails to execute.
  3052  //
  3053  //   * AccessDeniedException
  3054  //   Lightsail throws this exception when the user cannot be authenticated or
  3055  //   uses invalid credentials to access a resource.
  3056  //
  3057  //   * AccountSetupInProgressException
  3058  //   Lightsail throws this exception when an account is still in the setup in
  3059  //   progress state.
  3060  //
  3061  //   * UnauthenticatedException
  3062  //   Lightsail throws this exception when the user has not been authenticated.
  3063  //
  3064  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
  3065  func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
  3066  	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
  3067  	return out, req.Send()
  3068  }
  3069  
  3070  // CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
  3071  // the ability to pass a context and additional request options.
  3072  //
  3073  // See CreateLoadBalancerTlsCertificate for details on how to use this API operation.
  3074  //
  3075  // The context must be non-nil and will be used for request cancellation. If
  3076  // the context is nil a panic will occur. In the future the SDK may create
  3077  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3078  // for more information on using Contexts.
  3079  func (c *Lightsail) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
  3080  	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
  3081  	req.SetContext(ctx)
  3082  	req.ApplyOptions(opts...)
  3083  	return out, req.Send()
  3084  }
  3085  
  3086  const opCreateRelationalDatabase = "CreateRelationalDatabase"
  3087  
  3088  // CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
  3089  // client's request for the CreateRelationalDatabase operation. The "output" return
  3090  // value will be populated with the request's response once the request completes
  3091  // successfully.
  3092  //
  3093  // Use "Send" method on the returned Request to send the API call to the service.
  3094  // the "output" return value is not valid until after Send returns without error.
  3095  //
  3096  // See CreateRelationalDatabase for more information on using the CreateRelationalDatabase
  3097  // API call, and error handling.
  3098  //
  3099  // This method is useful when you want to inject custom logic or configuration
  3100  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3101  //
  3102  //
  3103  //    // Example sending a request using the CreateRelationalDatabaseRequest method.
  3104  //    req, resp := client.CreateRelationalDatabaseRequest(params)
  3105  //
  3106  //    err := req.Send()
  3107  //    if err == nil { // resp is now filled
  3108  //        fmt.Println(resp)
  3109  //    }
  3110  //
  3111  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
  3112  func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
  3113  	op := &request.Operation{
  3114  		Name:       opCreateRelationalDatabase,
  3115  		HTTPMethod: "POST",
  3116  		HTTPPath:   "/",
  3117  	}
  3118  
  3119  	if input == nil {
  3120  		input = &CreateRelationalDatabaseInput{}
  3121  	}
  3122  
  3123  	output = &CreateRelationalDatabaseOutput{}
  3124  	req = c.newRequest(op, input, output)
  3125  	return
  3126  }
  3127  
  3128  // CreateRelationalDatabase API operation for Amazon Lightsail.
  3129  //
  3130  // Creates a new database in Amazon Lightsail.
  3131  //
  3132  // The create relational database operation supports tag-based access control
  3133  // via request tags. For more information, see the Amazon Lightsail Developer
  3134  // Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  3135  //
  3136  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3137  // with awserr.Error's Code and Message methods to get detailed information about
  3138  // the error.
  3139  //
  3140  // See the AWS API reference guide for Amazon Lightsail's
  3141  // API operation CreateRelationalDatabase for usage and error information.
  3142  //
  3143  // Returned Error Types:
  3144  //   * ServiceException
  3145  //   A general service exception.
  3146  //
  3147  //   * InvalidInputException
  3148  //   Lightsail throws this exception when user input does not conform to the validation
  3149  //   rules of an input field.
  3150  //
  3151  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3152  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3153  //   view, or edit these resources.
  3154  //
  3155  //   * NotFoundException
  3156  //   Lightsail throws this exception when it cannot find a resource.
  3157  //
  3158  //   * OperationFailureException
  3159  //   Lightsail throws this exception when an operation fails to execute.
  3160  //
  3161  //   * AccessDeniedException
  3162  //   Lightsail throws this exception when the user cannot be authenticated or
  3163  //   uses invalid credentials to access a resource.
  3164  //
  3165  //   * AccountSetupInProgressException
  3166  //   Lightsail throws this exception when an account is still in the setup in
  3167  //   progress state.
  3168  //
  3169  //   * UnauthenticatedException
  3170  //   Lightsail throws this exception when the user has not been authenticated.
  3171  //
  3172  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
  3173  func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
  3174  	req, out := c.CreateRelationalDatabaseRequest(input)
  3175  	return out, req.Send()
  3176  }
  3177  
  3178  // CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
  3179  // the ability to pass a context and additional request options.
  3180  //
  3181  // See CreateRelationalDatabase for details on how to use this API operation.
  3182  //
  3183  // The context must be non-nil and will be used for request cancellation. If
  3184  // the context is nil a panic will occur. In the future the SDK may create
  3185  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3186  // for more information on using Contexts.
  3187  func (c *Lightsail) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
  3188  	req, out := c.CreateRelationalDatabaseRequest(input)
  3189  	req.SetContext(ctx)
  3190  	req.ApplyOptions(opts...)
  3191  	return out, req.Send()
  3192  }
  3193  
  3194  const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
  3195  
  3196  // CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
  3197  // client's request for the CreateRelationalDatabaseFromSnapshot operation. The "output" return
  3198  // value will be populated with the request's response once the request completes
  3199  // successfully.
  3200  //
  3201  // Use "Send" method on the returned Request to send the API call to the service.
  3202  // the "output" return value is not valid until after Send returns without error.
  3203  //
  3204  // See CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
  3205  // API call, and error handling.
  3206  //
  3207  // This method is useful when you want to inject custom logic or configuration
  3208  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3209  //
  3210  //
  3211  //    // Example sending a request using the CreateRelationalDatabaseFromSnapshotRequest method.
  3212  //    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(params)
  3213  //
  3214  //    err := req.Send()
  3215  //    if err == nil { // resp is now filled
  3216  //        fmt.Println(resp)
  3217  //    }
  3218  //
  3219  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
  3220  func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
  3221  	op := &request.Operation{
  3222  		Name:       opCreateRelationalDatabaseFromSnapshot,
  3223  		HTTPMethod: "POST",
  3224  		HTTPPath:   "/",
  3225  	}
  3226  
  3227  	if input == nil {
  3228  		input = &CreateRelationalDatabaseFromSnapshotInput{}
  3229  	}
  3230  
  3231  	output = &CreateRelationalDatabaseFromSnapshotOutput{}
  3232  	req = c.newRequest(op, input, output)
  3233  	return
  3234  }
  3235  
  3236  // CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
  3237  //
  3238  // Creates a new database from an existing database snapshot in Amazon Lightsail.
  3239  //
  3240  // You can create a new database from a snapshot in if something goes wrong
  3241  // with your original database, or to change it to a different plan, such as
  3242  // a high availability or standard plan.
  3243  //
  3244  // The create relational database from snapshot operation supports tag-based
  3245  // access control via request tags and resource tags applied to the resource
  3246  // identified by relationalDatabaseSnapshotName. For more information, see the
  3247  // Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  3248  //
  3249  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3250  // with awserr.Error's Code and Message methods to get detailed information about
  3251  // the error.
  3252  //
  3253  // See the AWS API reference guide for Amazon Lightsail's
  3254  // API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
  3255  //
  3256  // Returned Error Types:
  3257  //   * ServiceException
  3258  //   A general service exception.
  3259  //
  3260  //   * InvalidInputException
  3261  //   Lightsail throws this exception when user input does not conform to the validation
  3262  //   rules of an input field.
  3263  //
  3264  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3265  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3266  //   view, or edit these resources.
  3267  //
  3268  //   * NotFoundException
  3269  //   Lightsail throws this exception when it cannot find a resource.
  3270  //
  3271  //   * OperationFailureException
  3272  //   Lightsail throws this exception when an operation fails to execute.
  3273  //
  3274  //   * AccessDeniedException
  3275  //   Lightsail throws this exception when the user cannot be authenticated or
  3276  //   uses invalid credentials to access a resource.
  3277  //
  3278  //   * AccountSetupInProgressException
  3279  //   Lightsail throws this exception when an account is still in the setup in
  3280  //   progress state.
  3281  //
  3282  //   * UnauthenticatedException
  3283  //   Lightsail throws this exception when the user has not been authenticated.
  3284  //
  3285  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
  3286  func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
  3287  	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
  3288  	return out, req.Send()
  3289  }
  3290  
  3291  // CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
  3292  // the ability to pass a context and additional request options.
  3293  //
  3294  // See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
  3295  //
  3296  // The context must be non-nil and will be used for request cancellation. If
  3297  // the context is nil a panic will occur. In the future the SDK may create
  3298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3299  // for more information on using Contexts.
  3300  func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
  3301  	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
  3302  	req.SetContext(ctx)
  3303  	req.ApplyOptions(opts...)
  3304  	return out, req.Send()
  3305  }
  3306  
  3307  const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
  3308  
  3309  // CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
  3310  // client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
  3311  // value will be populated with the request's response once the request completes
  3312  // successfully.
  3313  //
  3314  // Use "Send" method on the returned Request to send the API call to the service.
  3315  // the "output" return value is not valid until after Send returns without error.
  3316  //
  3317  // See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
  3318  // API call, and error handling.
  3319  //
  3320  // This method is useful when you want to inject custom logic or configuration
  3321  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3322  //
  3323  //
  3324  //    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
  3325  //    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
  3326  //
  3327  //    err := req.Send()
  3328  //    if err == nil { // resp is now filled
  3329  //        fmt.Println(resp)
  3330  //    }
  3331  //
  3332  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
  3333  func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
  3334  	op := &request.Operation{
  3335  		Name:       opCreateRelationalDatabaseSnapshot,
  3336  		HTTPMethod: "POST",
  3337  		HTTPPath:   "/",
  3338  	}
  3339  
  3340  	if input == nil {
  3341  		input = &CreateRelationalDatabaseSnapshotInput{}
  3342  	}
  3343  
  3344  	output = &CreateRelationalDatabaseSnapshotOutput{}
  3345  	req = c.newRequest(op, input, output)
  3346  	return
  3347  }
  3348  
  3349  // CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
  3350  //
  3351  // Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
  3352  // for backups, to make copies of a database, and to save data before deleting
  3353  // a database.
  3354  //
  3355  // The create relational database snapshot operation supports tag-based access
  3356  // control via request tags. For more information, see the Amazon Lightsail
  3357  // Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  3358  //
  3359  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3360  // with awserr.Error's Code and Message methods to get detailed information about
  3361  // the error.
  3362  //
  3363  // See the AWS API reference guide for Amazon Lightsail's
  3364  // API operation CreateRelationalDatabaseSnapshot for usage and error information.
  3365  //
  3366  // Returned Error Types:
  3367  //   * ServiceException
  3368  //   A general service exception.
  3369  //
  3370  //   * InvalidInputException
  3371  //   Lightsail throws this exception when user input does not conform to the validation
  3372  //   rules of an input field.
  3373  //
  3374  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3375  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3376  //   view, or edit these resources.
  3377  //
  3378  //   * NotFoundException
  3379  //   Lightsail throws this exception when it cannot find a resource.
  3380  //
  3381  //   * OperationFailureException
  3382  //   Lightsail throws this exception when an operation fails to execute.
  3383  //
  3384  //   * AccessDeniedException
  3385  //   Lightsail throws this exception when the user cannot be authenticated or
  3386  //   uses invalid credentials to access a resource.
  3387  //
  3388  //   * AccountSetupInProgressException
  3389  //   Lightsail throws this exception when an account is still in the setup in
  3390  //   progress state.
  3391  //
  3392  //   * UnauthenticatedException
  3393  //   Lightsail throws this exception when the user has not been authenticated.
  3394  //
  3395  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
  3396  func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
  3397  	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
  3398  	return out, req.Send()
  3399  }
  3400  
  3401  // CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
  3402  // the ability to pass a context and additional request options.
  3403  //
  3404  // See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
  3405  //
  3406  // The context must be non-nil and will be used for request cancellation. If
  3407  // the context is nil a panic will occur. In the future the SDK may create
  3408  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3409  // for more information on using Contexts.
  3410  func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
  3411  	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
  3412  	req.SetContext(ctx)
  3413  	req.ApplyOptions(opts...)
  3414  	return out, req.Send()
  3415  }
  3416  
  3417  const opDeleteAlarm = "DeleteAlarm"
  3418  
  3419  // DeleteAlarmRequest generates a "aws/request.Request" representing the
  3420  // client's request for the DeleteAlarm operation. The "output" return
  3421  // value will be populated with the request's response once the request completes
  3422  // successfully.
  3423  //
  3424  // Use "Send" method on the returned Request to send the API call to the service.
  3425  // the "output" return value is not valid until after Send returns without error.
  3426  //
  3427  // See DeleteAlarm for more information on using the DeleteAlarm
  3428  // API call, and error handling.
  3429  //
  3430  // This method is useful when you want to inject custom logic or configuration
  3431  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3432  //
  3433  //
  3434  //    // Example sending a request using the DeleteAlarmRequest method.
  3435  //    req, resp := client.DeleteAlarmRequest(params)
  3436  //
  3437  //    err := req.Send()
  3438  //    if err == nil { // resp is now filled
  3439  //        fmt.Println(resp)
  3440  //    }
  3441  //
  3442  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
  3443  func (c *Lightsail) DeleteAlarmRequest(input *DeleteAlarmInput) (req *request.Request, output *DeleteAlarmOutput) {
  3444  	op := &request.Operation{
  3445  		Name:       opDeleteAlarm,
  3446  		HTTPMethod: "POST",
  3447  		HTTPPath:   "/",
  3448  	}
  3449  
  3450  	if input == nil {
  3451  		input = &DeleteAlarmInput{}
  3452  	}
  3453  
  3454  	output = &DeleteAlarmOutput{}
  3455  	req = c.newRequest(op, input, output)
  3456  	return
  3457  }
  3458  
  3459  // DeleteAlarm API operation for Amazon Lightsail.
  3460  //
  3461  // Deletes an alarm.
  3462  //
  3463  // An alarm is used to monitor a single metric for one of your resources. When
  3464  // a metric condition is met, the alarm can notify you by email, SMS text message,
  3465  // and a banner displayed on the Amazon Lightsail console. For more information,
  3466  // see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
  3467  //
  3468  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3469  // with awserr.Error's Code and Message methods to get detailed information about
  3470  // the error.
  3471  //
  3472  // See the AWS API reference guide for Amazon Lightsail's
  3473  // API operation DeleteAlarm for usage and error information.
  3474  //
  3475  // Returned Error Types:
  3476  //   * ServiceException
  3477  //   A general service exception.
  3478  //
  3479  //   * InvalidInputException
  3480  //   Lightsail throws this exception when user input does not conform to the validation
  3481  //   rules of an input field.
  3482  //
  3483  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3484  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3485  //   view, or edit these resources.
  3486  //
  3487  //   * OperationFailureException
  3488  //   Lightsail throws this exception when an operation fails to execute.
  3489  //
  3490  //   * UnauthenticatedException
  3491  //   Lightsail throws this exception when the user has not been authenticated.
  3492  //
  3493  //   * AccessDeniedException
  3494  //   Lightsail throws this exception when the user cannot be authenticated or
  3495  //   uses invalid credentials to access a resource.
  3496  //
  3497  //   * NotFoundException
  3498  //   Lightsail throws this exception when it cannot find a resource.
  3499  //
  3500  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
  3501  func (c *Lightsail) DeleteAlarm(input *DeleteAlarmInput) (*DeleteAlarmOutput, error) {
  3502  	req, out := c.DeleteAlarmRequest(input)
  3503  	return out, req.Send()
  3504  }
  3505  
  3506  // DeleteAlarmWithContext is the same as DeleteAlarm with the addition of
  3507  // the ability to pass a context and additional request options.
  3508  //
  3509  // See DeleteAlarm for details on how to use this API operation.
  3510  //
  3511  // The context must be non-nil and will be used for request cancellation. If
  3512  // the context is nil a panic will occur. In the future the SDK may create
  3513  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3514  // for more information on using Contexts.
  3515  func (c *Lightsail) DeleteAlarmWithContext(ctx aws.Context, input *DeleteAlarmInput, opts ...request.Option) (*DeleteAlarmOutput, error) {
  3516  	req, out := c.DeleteAlarmRequest(input)
  3517  	req.SetContext(ctx)
  3518  	req.ApplyOptions(opts...)
  3519  	return out, req.Send()
  3520  }
  3521  
  3522  const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
  3523  
  3524  // DeleteAutoSnapshotRequest generates a "aws/request.Request" representing the
  3525  // client's request for the DeleteAutoSnapshot operation. The "output" return
  3526  // value will be populated with the request's response once the request completes
  3527  // successfully.
  3528  //
  3529  // Use "Send" method on the returned Request to send the API call to the service.
  3530  // the "output" return value is not valid until after Send returns without error.
  3531  //
  3532  // See DeleteAutoSnapshot for more information on using the DeleteAutoSnapshot
  3533  // API call, and error handling.
  3534  //
  3535  // This method is useful when you want to inject custom logic or configuration
  3536  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3537  //
  3538  //
  3539  //    // Example sending a request using the DeleteAutoSnapshotRequest method.
  3540  //    req, resp := client.DeleteAutoSnapshotRequest(params)
  3541  //
  3542  //    err := req.Send()
  3543  //    if err == nil { // resp is now filled
  3544  //        fmt.Println(resp)
  3545  //    }
  3546  //
  3547  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
  3548  func (c *Lightsail) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) (req *request.Request, output *DeleteAutoSnapshotOutput) {
  3549  	op := &request.Operation{
  3550  		Name:       opDeleteAutoSnapshot,
  3551  		HTTPMethod: "POST",
  3552  		HTTPPath:   "/",
  3553  	}
  3554  
  3555  	if input == nil {
  3556  		input = &DeleteAutoSnapshotInput{}
  3557  	}
  3558  
  3559  	output = &DeleteAutoSnapshotOutput{}
  3560  	req = c.newRequest(op, input, output)
  3561  	return
  3562  }
  3563  
  3564  // DeleteAutoSnapshot API operation for Amazon Lightsail.
  3565  //
  3566  // Deletes an automatic snapshot of an instance or disk. For more information,
  3567  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
  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 DeleteAutoSnapshot 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 and distribution APIs are only available in the N. Virginia (us-east-1)
  3585  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3586  //   view, or 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  //   * UnauthenticatedException
  3599  //   Lightsail throws this exception when the user has not been authenticated.
  3600  //
  3601  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
  3602  func (c *Lightsail) DeleteAutoSnapshot(input *DeleteAutoSnapshotInput) (*DeleteAutoSnapshotOutput, error) {
  3603  	req, out := c.DeleteAutoSnapshotRequest(input)
  3604  	return out, req.Send()
  3605  }
  3606  
  3607  // DeleteAutoSnapshotWithContext is the same as DeleteAutoSnapshot with the addition of
  3608  // the ability to pass a context and additional request options.
  3609  //
  3610  // See DeleteAutoSnapshot for details on how to use this API operation.
  3611  //
  3612  // The context must be non-nil and will be used for request cancellation. If
  3613  // the context is nil a panic will occur. In the future the SDK may create
  3614  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3615  // for more information on using Contexts.
  3616  func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *DeleteAutoSnapshotInput, opts ...request.Option) (*DeleteAutoSnapshotOutput, error) {
  3617  	req, out := c.DeleteAutoSnapshotRequest(input)
  3618  	req.SetContext(ctx)
  3619  	req.ApplyOptions(opts...)
  3620  	return out, req.Send()
  3621  }
  3622  
  3623  const opDeleteBucket = "DeleteBucket"
  3624  
  3625  // DeleteBucketRequest generates a "aws/request.Request" representing the
  3626  // client's request for the DeleteBucket operation. The "output" return
  3627  // value will be populated with the request's response once the request completes
  3628  // successfully.
  3629  //
  3630  // Use "Send" method on the returned Request to send the API call to the service.
  3631  // the "output" return value is not valid until after Send returns without error.
  3632  //
  3633  // See DeleteBucket for more information on using the DeleteBucket
  3634  // API call, and error handling.
  3635  //
  3636  // This method is useful when you want to inject custom logic or configuration
  3637  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3638  //
  3639  //
  3640  //    // Example sending a request using the DeleteBucketRequest method.
  3641  //    req, resp := client.DeleteBucketRequest(params)
  3642  //
  3643  //    err := req.Send()
  3644  //    if err == nil { // resp is now filled
  3645  //        fmt.Println(resp)
  3646  //    }
  3647  //
  3648  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucket
  3649  func (c *Lightsail) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) {
  3650  	op := &request.Operation{
  3651  		Name:       opDeleteBucket,
  3652  		HTTPMethod: "POST",
  3653  		HTTPPath:   "/",
  3654  	}
  3655  
  3656  	if input == nil {
  3657  		input = &DeleteBucketInput{}
  3658  	}
  3659  
  3660  	output = &DeleteBucketOutput{}
  3661  	req = c.newRequest(op, input, output)
  3662  	return
  3663  }
  3664  
  3665  // DeleteBucket API operation for Amazon Lightsail.
  3666  //
  3667  // Deletes a Amazon Lightsail bucket.
  3668  //
  3669  // When you delete your bucket, the bucket name is released and can be reused
  3670  // for a new bucket in your account or another AWS account.
  3671  //
  3672  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3673  // with awserr.Error's Code and Message methods to get detailed information about
  3674  // the error.
  3675  //
  3676  // See the AWS API reference guide for Amazon Lightsail's
  3677  // API operation DeleteBucket for usage and error information.
  3678  //
  3679  // Returned Error Types:
  3680  //   * AccessDeniedException
  3681  //   Lightsail throws this exception when the user cannot be authenticated or
  3682  //   uses invalid credentials to access a resource.
  3683  //
  3684  //   * InvalidInputException
  3685  //   Lightsail throws this exception when user input does not conform to the validation
  3686  //   rules of an input field.
  3687  //
  3688  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3689  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3690  //   view, or edit these resources.
  3691  //
  3692  //   * NotFoundException
  3693  //   Lightsail throws this exception when it cannot find a resource.
  3694  //
  3695  //   * ServiceException
  3696  //   A general service exception.
  3697  //
  3698  //   * UnauthenticatedException
  3699  //   Lightsail throws this exception when the user has not been authenticated.
  3700  //
  3701  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucket
  3702  func (c *Lightsail) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
  3703  	req, out := c.DeleteBucketRequest(input)
  3704  	return out, req.Send()
  3705  }
  3706  
  3707  // DeleteBucketWithContext is the same as DeleteBucket with the addition of
  3708  // the ability to pass a context and additional request options.
  3709  //
  3710  // See DeleteBucket for details on how to use this API operation.
  3711  //
  3712  // The context must be non-nil and will be used for request cancellation. If
  3713  // the context is nil a panic will occur. In the future the SDK may create
  3714  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3715  // for more information on using Contexts.
  3716  func (c *Lightsail) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
  3717  	req, out := c.DeleteBucketRequest(input)
  3718  	req.SetContext(ctx)
  3719  	req.ApplyOptions(opts...)
  3720  	return out, req.Send()
  3721  }
  3722  
  3723  const opDeleteBucketAccessKey = "DeleteBucketAccessKey"
  3724  
  3725  // DeleteBucketAccessKeyRequest generates a "aws/request.Request" representing the
  3726  // client's request for the DeleteBucketAccessKey operation. The "output" return
  3727  // value will be populated with the request's response once the request completes
  3728  // successfully.
  3729  //
  3730  // Use "Send" method on the returned Request to send the API call to the service.
  3731  // the "output" return value is not valid until after Send returns without error.
  3732  //
  3733  // See DeleteBucketAccessKey for more information on using the DeleteBucketAccessKey
  3734  // API call, and error handling.
  3735  //
  3736  // This method is useful when you want to inject custom logic or configuration
  3737  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3738  //
  3739  //
  3740  //    // Example sending a request using the DeleteBucketAccessKeyRequest method.
  3741  //    req, resp := client.DeleteBucketAccessKeyRequest(params)
  3742  //
  3743  //    err := req.Send()
  3744  //    if err == nil { // resp is now filled
  3745  //        fmt.Println(resp)
  3746  //    }
  3747  //
  3748  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucketAccessKey
  3749  func (c *Lightsail) DeleteBucketAccessKeyRequest(input *DeleteBucketAccessKeyInput) (req *request.Request, output *DeleteBucketAccessKeyOutput) {
  3750  	op := &request.Operation{
  3751  		Name:       opDeleteBucketAccessKey,
  3752  		HTTPMethod: "POST",
  3753  		HTTPPath:   "/",
  3754  	}
  3755  
  3756  	if input == nil {
  3757  		input = &DeleteBucketAccessKeyInput{}
  3758  	}
  3759  
  3760  	output = &DeleteBucketAccessKeyOutput{}
  3761  	req = c.newRequest(op, input, output)
  3762  	return
  3763  }
  3764  
  3765  // DeleteBucketAccessKey API operation for Amazon Lightsail.
  3766  //
  3767  // Deletes an access key for the specified Amazon Lightsail bucket.
  3768  //
  3769  // We recommend that you delete an access key if the secret access key is compromised.
  3770  //
  3771  // For more information about access keys, see Creating access keys for a bucket
  3772  // in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
  3773  // in the Amazon Lightsail Developer Guide.
  3774  //
  3775  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3776  // with awserr.Error's Code and Message methods to get detailed information about
  3777  // the error.
  3778  //
  3779  // See the AWS API reference guide for Amazon Lightsail's
  3780  // API operation DeleteBucketAccessKey for usage and error information.
  3781  //
  3782  // Returned Error Types:
  3783  //   * AccessDeniedException
  3784  //   Lightsail throws this exception when the user cannot be authenticated or
  3785  //   uses invalid credentials to access a resource.
  3786  //
  3787  //   * InvalidInputException
  3788  //   Lightsail throws this exception when user input does not conform to the validation
  3789  //   rules of an input field.
  3790  //
  3791  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3792  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3793  //   view, or edit these resources.
  3794  //
  3795  //   * NotFoundException
  3796  //   Lightsail throws this exception when it cannot find a resource.
  3797  //
  3798  //   * ServiceException
  3799  //   A general service exception.
  3800  //
  3801  //   * UnauthenticatedException
  3802  //   Lightsail throws this exception when the user has not been authenticated.
  3803  //
  3804  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucketAccessKey
  3805  func (c *Lightsail) DeleteBucketAccessKey(input *DeleteBucketAccessKeyInput) (*DeleteBucketAccessKeyOutput, error) {
  3806  	req, out := c.DeleteBucketAccessKeyRequest(input)
  3807  	return out, req.Send()
  3808  }
  3809  
  3810  // DeleteBucketAccessKeyWithContext is the same as DeleteBucketAccessKey with the addition of
  3811  // the ability to pass a context and additional request options.
  3812  //
  3813  // See DeleteBucketAccessKey for details on how to use this API operation.
  3814  //
  3815  // The context must be non-nil and will be used for request cancellation. If
  3816  // the context is nil a panic will occur. In the future the SDK may create
  3817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3818  // for more information on using Contexts.
  3819  func (c *Lightsail) DeleteBucketAccessKeyWithContext(ctx aws.Context, input *DeleteBucketAccessKeyInput, opts ...request.Option) (*DeleteBucketAccessKeyOutput, error) {
  3820  	req, out := c.DeleteBucketAccessKeyRequest(input)
  3821  	req.SetContext(ctx)
  3822  	req.ApplyOptions(opts...)
  3823  	return out, req.Send()
  3824  }
  3825  
  3826  const opDeleteCertificate = "DeleteCertificate"
  3827  
  3828  // DeleteCertificateRequest generates a "aws/request.Request" representing the
  3829  // client's request for the DeleteCertificate operation. The "output" return
  3830  // value will be populated with the request's response once the request completes
  3831  // successfully.
  3832  //
  3833  // Use "Send" method on the returned Request to send the API call to the service.
  3834  // the "output" return value is not valid until after Send returns without error.
  3835  //
  3836  // See DeleteCertificate for more information on using the DeleteCertificate
  3837  // API call, and error handling.
  3838  //
  3839  // This method is useful when you want to inject custom logic or configuration
  3840  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3841  //
  3842  //
  3843  //    // Example sending a request using the DeleteCertificateRequest method.
  3844  //    req, resp := client.DeleteCertificateRequest(params)
  3845  //
  3846  //    err := req.Send()
  3847  //    if err == nil { // resp is now filled
  3848  //        fmt.Println(resp)
  3849  //    }
  3850  //
  3851  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
  3852  func (c *Lightsail) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) {
  3853  	op := &request.Operation{
  3854  		Name:       opDeleteCertificate,
  3855  		HTTPMethod: "POST",
  3856  		HTTPPath:   "/",
  3857  	}
  3858  
  3859  	if input == nil {
  3860  		input = &DeleteCertificateInput{}
  3861  	}
  3862  
  3863  	output = &DeleteCertificateOutput{}
  3864  	req = c.newRequest(op, input, output)
  3865  	return
  3866  }
  3867  
  3868  // DeleteCertificate API operation for Amazon Lightsail.
  3869  //
  3870  // Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery
  3871  // network (CDN) distribution.
  3872  //
  3873  // Certificates that are currently attached to a distribution cannot be deleted.
  3874  // Use the DetachCertificateFromDistribution action to detach a certificate
  3875  // from a distribution.
  3876  //
  3877  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3878  // with awserr.Error's Code and Message methods to get detailed information about
  3879  // the error.
  3880  //
  3881  // See the AWS API reference guide for Amazon Lightsail's
  3882  // API operation DeleteCertificate for usage and error information.
  3883  //
  3884  // Returned Error Types:
  3885  //   * ServiceException
  3886  //   A general service exception.
  3887  //
  3888  //   * InvalidInputException
  3889  //   Lightsail throws this exception when user input does not conform to the validation
  3890  //   rules of an input field.
  3891  //
  3892  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3893  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3894  //   view, or edit these resources.
  3895  //
  3896  //   * AccessDeniedException
  3897  //   Lightsail throws this exception when the user cannot be authenticated or
  3898  //   uses invalid credentials to access a resource.
  3899  //
  3900  //   * NotFoundException
  3901  //   Lightsail throws this exception when it cannot find a resource.
  3902  //
  3903  //   * UnauthenticatedException
  3904  //   Lightsail throws this exception when the user has not been authenticated.
  3905  //
  3906  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
  3907  func (c *Lightsail) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) {
  3908  	req, out := c.DeleteCertificateRequest(input)
  3909  	return out, req.Send()
  3910  }
  3911  
  3912  // DeleteCertificateWithContext is the same as DeleteCertificate with the addition of
  3913  // the ability to pass a context and additional request options.
  3914  //
  3915  // See DeleteCertificate for details on how to use this API operation.
  3916  //
  3917  // The context must be non-nil and will be used for request cancellation. If
  3918  // the context is nil a panic will occur. In the future the SDK may create
  3919  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3920  // for more information on using Contexts.
  3921  func (c *Lightsail) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) {
  3922  	req, out := c.DeleteCertificateRequest(input)
  3923  	req.SetContext(ctx)
  3924  	req.ApplyOptions(opts...)
  3925  	return out, req.Send()
  3926  }
  3927  
  3928  const opDeleteContactMethod = "DeleteContactMethod"
  3929  
  3930  // DeleteContactMethodRequest generates a "aws/request.Request" representing the
  3931  // client's request for the DeleteContactMethod operation. The "output" return
  3932  // value will be populated with the request's response once the request completes
  3933  // successfully.
  3934  //
  3935  // Use "Send" method on the returned Request to send the API call to the service.
  3936  // the "output" return value is not valid until after Send returns without error.
  3937  //
  3938  // See DeleteContactMethod for more information on using the DeleteContactMethod
  3939  // API call, and error handling.
  3940  //
  3941  // This method is useful when you want to inject custom logic or configuration
  3942  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3943  //
  3944  //
  3945  //    // Example sending a request using the DeleteContactMethodRequest method.
  3946  //    req, resp := client.DeleteContactMethodRequest(params)
  3947  //
  3948  //    err := req.Send()
  3949  //    if err == nil { // resp is now filled
  3950  //        fmt.Println(resp)
  3951  //    }
  3952  //
  3953  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
  3954  func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) {
  3955  	op := &request.Operation{
  3956  		Name:       opDeleteContactMethod,
  3957  		HTTPMethod: "POST",
  3958  		HTTPPath:   "/",
  3959  	}
  3960  
  3961  	if input == nil {
  3962  		input = &DeleteContactMethodInput{}
  3963  	}
  3964  
  3965  	output = &DeleteContactMethodOutput{}
  3966  	req = c.newRequest(op, input, output)
  3967  	return
  3968  }
  3969  
  3970  // DeleteContactMethod API operation for Amazon Lightsail.
  3971  //
  3972  // Deletes a contact method.
  3973  //
  3974  // A contact method is used to send you notifications about your Amazon Lightsail
  3975  // resources. You can add one email address and one mobile phone number contact
  3976  // method in each AWS Region. However, SMS text messaging is not supported in
  3977  // some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
  3978  // For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
  3979  //
  3980  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3981  // with awserr.Error's Code and Message methods to get detailed information about
  3982  // the error.
  3983  //
  3984  // See the AWS API reference guide for Amazon Lightsail's
  3985  // API operation DeleteContactMethod for usage and error information.
  3986  //
  3987  // Returned Error Types:
  3988  //   * ServiceException
  3989  //   A general service exception.
  3990  //
  3991  //   * InvalidInputException
  3992  //   Lightsail throws this exception when user input does not conform to the validation
  3993  //   rules of an input field.
  3994  //
  3995  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  3996  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  3997  //   view, or edit these resources.
  3998  //
  3999  //   * OperationFailureException
  4000  //   Lightsail throws this exception when an operation fails to execute.
  4001  //
  4002  //   * UnauthenticatedException
  4003  //   Lightsail throws this exception when the user has not been authenticated.
  4004  //
  4005  //   * AccessDeniedException
  4006  //   Lightsail throws this exception when the user cannot be authenticated or
  4007  //   uses invalid credentials to access a resource.
  4008  //
  4009  //   * NotFoundException
  4010  //   Lightsail throws this exception when it cannot find a resource.
  4011  //
  4012  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
  4013  func (c *Lightsail) DeleteContactMethod(input *DeleteContactMethodInput) (*DeleteContactMethodOutput, error) {
  4014  	req, out := c.DeleteContactMethodRequest(input)
  4015  	return out, req.Send()
  4016  }
  4017  
  4018  // DeleteContactMethodWithContext is the same as DeleteContactMethod with the addition of
  4019  // the ability to pass a context and additional request options.
  4020  //
  4021  // See DeleteContactMethod for details on how to use this API operation.
  4022  //
  4023  // The context must be non-nil and will be used for request cancellation. If
  4024  // the context is nil a panic will occur. In the future the SDK may create
  4025  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4026  // for more information on using Contexts.
  4027  func (c *Lightsail) DeleteContactMethodWithContext(ctx aws.Context, input *DeleteContactMethodInput, opts ...request.Option) (*DeleteContactMethodOutput, error) {
  4028  	req, out := c.DeleteContactMethodRequest(input)
  4029  	req.SetContext(ctx)
  4030  	req.ApplyOptions(opts...)
  4031  	return out, req.Send()
  4032  }
  4033  
  4034  const opDeleteContainerImage = "DeleteContainerImage"
  4035  
  4036  // DeleteContainerImageRequest generates a "aws/request.Request" representing the
  4037  // client's request for the DeleteContainerImage operation. The "output" return
  4038  // value will be populated with the request's response once the request completes
  4039  // successfully.
  4040  //
  4041  // Use "Send" method on the returned Request to send the API call to the service.
  4042  // the "output" return value is not valid until after Send returns without error.
  4043  //
  4044  // See DeleteContainerImage for more information on using the DeleteContainerImage
  4045  // API call, and error handling.
  4046  //
  4047  // This method is useful when you want to inject custom logic or configuration
  4048  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4049  //
  4050  //
  4051  //    // Example sending a request using the DeleteContainerImageRequest method.
  4052  //    req, resp := client.DeleteContainerImageRequest(params)
  4053  //
  4054  //    err := req.Send()
  4055  //    if err == nil { // resp is now filled
  4056  //        fmt.Println(resp)
  4057  //    }
  4058  //
  4059  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerImage
  4060  func (c *Lightsail) DeleteContainerImageRequest(input *DeleteContainerImageInput) (req *request.Request, output *DeleteContainerImageOutput) {
  4061  	op := &request.Operation{
  4062  		Name:       opDeleteContainerImage,
  4063  		HTTPMethod: "POST",
  4064  		HTTPPath:   "/",
  4065  	}
  4066  
  4067  	if input == nil {
  4068  		input = &DeleteContainerImageInput{}
  4069  	}
  4070  
  4071  	output = &DeleteContainerImageOutput{}
  4072  	req = c.newRequest(op, input, output)
  4073  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4074  	return
  4075  }
  4076  
  4077  // DeleteContainerImage API operation for Amazon Lightsail.
  4078  //
  4079  // Deletes a container image that is registered to your Amazon Lightsail container
  4080  // service.
  4081  //
  4082  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4083  // with awserr.Error's Code and Message methods to get detailed information about
  4084  // the error.
  4085  //
  4086  // See the AWS API reference guide for Amazon Lightsail's
  4087  // API operation DeleteContainerImage for usage and error information.
  4088  //
  4089  // Returned Error Types:
  4090  //   * ServiceException
  4091  //   A general service exception.
  4092  //
  4093  //   * InvalidInputException
  4094  //   Lightsail throws this exception when user input does not conform to the validation
  4095  //   rules of an input field.
  4096  //
  4097  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4098  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4099  //   view, or edit these resources.
  4100  //
  4101  //   * NotFoundException
  4102  //   Lightsail throws this exception when it cannot find a resource.
  4103  //
  4104  //   * AccessDeniedException
  4105  //   Lightsail throws this exception when the user cannot be authenticated or
  4106  //   uses invalid credentials to access a resource.
  4107  //
  4108  //   * UnauthenticatedException
  4109  //   Lightsail throws this exception when the user has not been authenticated.
  4110  //
  4111  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerImage
  4112  func (c *Lightsail) DeleteContainerImage(input *DeleteContainerImageInput) (*DeleteContainerImageOutput, error) {
  4113  	req, out := c.DeleteContainerImageRequest(input)
  4114  	return out, req.Send()
  4115  }
  4116  
  4117  // DeleteContainerImageWithContext is the same as DeleteContainerImage with the addition of
  4118  // the ability to pass a context and additional request options.
  4119  //
  4120  // See DeleteContainerImage for details on how to use this API operation.
  4121  //
  4122  // The context must be non-nil and will be used for request cancellation. If
  4123  // the context is nil a panic will occur. In the future the SDK may create
  4124  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4125  // for more information on using Contexts.
  4126  func (c *Lightsail) DeleteContainerImageWithContext(ctx aws.Context, input *DeleteContainerImageInput, opts ...request.Option) (*DeleteContainerImageOutput, error) {
  4127  	req, out := c.DeleteContainerImageRequest(input)
  4128  	req.SetContext(ctx)
  4129  	req.ApplyOptions(opts...)
  4130  	return out, req.Send()
  4131  }
  4132  
  4133  const opDeleteContainerService = "DeleteContainerService"
  4134  
  4135  // DeleteContainerServiceRequest generates a "aws/request.Request" representing the
  4136  // client's request for the DeleteContainerService operation. The "output" return
  4137  // value will be populated with the request's response once the request completes
  4138  // successfully.
  4139  //
  4140  // Use "Send" method on the returned Request to send the API call to the service.
  4141  // the "output" return value is not valid until after Send returns without error.
  4142  //
  4143  // See DeleteContainerService for more information on using the DeleteContainerService
  4144  // API call, and error handling.
  4145  //
  4146  // This method is useful when you want to inject custom logic or configuration
  4147  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4148  //
  4149  //
  4150  //    // Example sending a request using the DeleteContainerServiceRequest method.
  4151  //    req, resp := client.DeleteContainerServiceRequest(params)
  4152  //
  4153  //    err := req.Send()
  4154  //    if err == nil { // resp is now filled
  4155  //        fmt.Println(resp)
  4156  //    }
  4157  //
  4158  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerService
  4159  func (c *Lightsail) DeleteContainerServiceRequest(input *DeleteContainerServiceInput) (req *request.Request, output *DeleteContainerServiceOutput) {
  4160  	op := &request.Operation{
  4161  		Name:       opDeleteContainerService,
  4162  		HTTPMethod: "POST",
  4163  		HTTPPath:   "/",
  4164  	}
  4165  
  4166  	if input == nil {
  4167  		input = &DeleteContainerServiceInput{}
  4168  	}
  4169  
  4170  	output = &DeleteContainerServiceOutput{}
  4171  	req = c.newRequest(op, input, output)
  4172  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4173  	return
  4174  }
  4175  
  4176  // DeleteContainerService API operation for Amazon Lightsail.
  4177  //
  4178  // Deletes your Amazon Lightsail container service.
  4179  //
  4180  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4181  // with awserr.Error's Code and Message methods to get detailed information about
  4182  // the error.
  4183  //
  4184  // See the AWS API reference guide for Amazon Lightsail's
  4185  // API operation DeleteContainerService for usage and error information.
  4186  //
  4187  // Returned Error Types:
  4188  //   * ServiceException
  4189  //   A general service exception.
  4190  //
  4191  //   * InvalidInputException
  4192  //   Lightsail throws this exception when user input does not conform to the validation
  4193  //   rules of an input field.
  4194  //
  4195  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4196  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4197  //   view, or edit these resources.
  4198  //
  4199  //   * NotFoundException
  4200  //   Lightsail throws this exception when it cannot find a resource.
  4201  //
  4202  //   * AccessDeniedException
  4203  //   Lightsail throws this exception when the user cannot be authenticated or
  4204  //   uses invalid credentials to access a resource.
  4205  //
  4206  //   * UnauthenticatedException
  4207  //   Lightsail throws this exception when the user has not been authenticated.
  4208  //
  4209  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerService
  4210  func (c *Lightsail) DeleteContainerService(input *DeleteContainerServiceInput) (*DeleteContainerServiceOutput, error) {
  4211  	req, out := c.DeleteContainerServiceRequest(input)
  4212  	return out, req.Send()
  4213  }
  4214  
  4215  // DeleteContainerServiceWithContext is the same as DeleteContainerService with the addition of
  4216  // the ability to pass a context and additional request options.
  4217  //
  4218  // See DeleteContainerService for details on how to use this API operation.
  4219  //
  4220  // The context must be non-nil and will be used for request cancellation. If
  4221  // the context is nil a panic will occur. In the future the SDK may create
  4222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4223  // for more information on using Contexts.
  4224  func (c *Lightsail) DeleteContainerServiceWithContext(ctx aws.Context, input *DeleteContainerServiceInput, opts ...request.Option) (*DeleteContainerServiceOutput, error) {
  4225  	req, out := c.DeleteContainerServiceRequest(input)
  4226  	req.SetContext(ctx)
  4227  	req.ApplyOptions(opts...)
  4228  	return out, req.Send()
  4229  }
  4230  
  4231  const opDeleteDisk = "DeleteDisk"
  4232  
  4233  // DeleteDiskRequest generates a "aws/request.Request" representing the
  4234  // client's request for the DeleteDisk operation. The "output" return
  4235  // value will be populated with the request's response once the request completes
  4236  // successfully.
  4237  //
  4238  // Use "Send" method on the returned Request to send the API call to the service.
  4239  // the "output" return value is not valid until after Send returns without error.
  4240  //
  4241  // See DeleteDisk for more information on using the DeleteDisk
  4242  // API call, and error handling.
  4243  //
  4244  // This method is useful when you want to inject custom logic or configuration
  4245  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4246  //
  4247  //
  4248  //    // Example sending a request using the DeleteDiskRequest method.
  4249  //    req, resp := client.DeleteDiskRequest(params)
  4250  //
  4251  //    err := req.Send()
  4252  //    if err == nil { // resp is now filled
  4253  //        fmt.Println(resp)
  4254  //    }
  4255  //
  4256  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
  4257  func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
  4258  	op := &request.Operation{
  4259  		Name:       opDeleteDisk,
  4260  		HTTPMethod: "POST",
  4261  		HTTPPath:   "/",
  4262  	}
  4263  
  4264  	if input == nil {
  4265  		input = &DeleteDiskInput{}
  4266  	}
  4267  
  4268  	output = &DeleteDiskOutput{}
  4269  	req = c.newRequest(op, input, output)
  4270  	return
  4271  }
  4272  
  4273  // DeleteDisk API operation for Amazon Lightsail.
  4274  //
  4275  // Deletes the specified block storage disk. The disk must be in the available
  4276  // state (not attached to a Lightsail instance).
  4277  //
  4278  // The disk may remain in the deleting state for several minutes.
  4279  //
  4280  // The delete disk operation supports tag-based access control via resource
  4281  // tags applied to the resource identified by disk name. For more information,
  4282  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  4283  //
  4284  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4285  // with awserr.Error's Code and Message methods to get detailed information about
  4286  // the error.
  4287  //
  4288  // See the AWS API reference guide for Amazon Lightsail's
  4289  // API operation DeleteDisk for usage and error information.
  4290  //
  4291  // Returned Error Types:
  4292  //   * ServiceException
  4293  //   A general service exception.
  4294  //
  4295  //   * InvalidInputException
  4296  //   Lightsail throws this exception when user input does not conform to the validation
  4297  //   rules of an input field.
  4298  //
  4299  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4300  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4301  //   view, or edit these resources.
  4302  //
  4303  //   * NotFoundException
  4304  //   Lightsail throws this exception when it cannot find a resource.
  4305  //
  4306  //   * OperationFailureException
  4307  //   Lightsail throws this exception when an operation fails to execute.
  4308  //
  4309  //   * AccessDeniedException
  4310  //   Lightsail throws this exception when the user cannot be authenticated or
  4311  //   uses invalid credentials to access a resource.
  4312  //
  4313  //   * AccountSetupInProgressException
  4314  //   Lightsail throws this exception when an account is still in the setup in
  4315  //   progress state.
  4316  //
  4317  //   * UnauthenticatedException
  4318  //   Lightsail throws this exception when the user has not been authenticated.
  4319  //
  4320  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
  4321  func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
  4322  	req, out := c.DeleteDiskRequest(input)
  4323  	return out, req.Send()
  4324  }
  4325  
  4326  // DeleteDiskWithContext is the same as DeleteDisk with the addition of
  4327  // the ability to pass a context and additional request options.
  4328  //
  4329  // See DeleteDisk for details on how to use this API operation.
  4330  //
  4331  // The context must be non-nil and will be used for request cancellation. If
  4332  // the context is nil a panic will occur. In the future the SDK may create
  4333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4334  // for more information on using Contexts.
  4335  func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
  4336  	req, out := c.DeleteDiskRequest(input)
  4337  	req.SetContext(ctx)
  4338  	req.ApplyOptions(opts...)
  4339  	return out, req.Send()
  4340  }
  4341  
  4342  const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
  4343  
  4344  // DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
  4345  // client's request for the DeleteDiskSnapshot operation. The "output" return
  4346  // value will be populated with the request's response once the request completes
  4347  // successfully.
  4348  //
  4349  // Use "Send" method on the returned Request to send the API call to the service.
  4350  // the "output" return value is not valid until after Send returns without error.
  4351  //
  4352  // See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
  4353  // API call, and error handling.
  4354  //
  4355  // This method is useful when you want to inject custom logic or configuration
  4356  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4357  //
  4358  //
  4359  //    // Example sending a request using the DeleteDiskSnapshotRequest method.
  4360  //    req, resp := client.DeleteDiskSnapshotRequest(params)
  4361  //
  4362  //    err := req.Send()
  4363  //    if err == nil { // resp is now filled
  4364  //        fmt.Println(resp)
  4365  //    }
  4366  //
  4367  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
  4368  func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
  4369  	op := &request.Operation{
  4370  		Name:       opDeleteDiskSnapshot,
  4371  		HTTPMethod: "POST",
  4372  		HTTPPath:   "/",
  4373  	}
  4374  
  4375  	if input == nil {
  4376  		input = &DeleteDiskSnapshotInput{}
  4377  	}
  4378  
  4379  	output = &DeleteDiskSnapshotOutput{}
  4380  	req = c.newRequest(op, input, output)
  4381  	return
  4382  }
  4383  
  4384  // DeleteDiskSnapshot API operation for Amazon Lightsail.
  4385  //
  4386  // Deletes the specified disk snapshot.
  4387  //
  4388  // When you make periodic snapshots of a disk, the snapshots are incremental,
  4389  // and only the blocks on the device that have changed since your last snapshot
  4390  // are saved in the new snapshot. When you delete a snapshot, only the data
  4391  // not needed for any other snapshot is removed. So regardless of which prior
  4392  // snapshots have been deleted, all active snapshots will have access to all
  4393  // the information needed to restore the disk.
  4394  //
  4395  // The delete disk snapshot operation supports tag-based access control via
  4396  // resource tags applied to the resource identified by disk snapshot name. For
  4397  // more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  4398  //
  4399  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4400  // with awserr.Error's Code and Message methods to get detailed information about
  4401  // the error.
  4402  //
  4403  // See the AWS API reference guide for Amazon Lightsail's
  4404  // API operation DeleteDiskSnapshot for usage and error information.
  4405  //
  4406  // Returned Error Types:
  4407  //   * ServiceException
  4408  //   A general service exception.
  4409  //
  4410  //   * InvalidInputException
  4411  //   Lightsail throws this exception when user input does not conform to the validation
  4412  //   rules of an input field.
  4413  //
  4414  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4415  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4416  //   view, or edit these resources.
  4417  //
  4418  //   * NotFoundException
  4419  //   Lightsail throws this exception when it cannot find a resource.
  4420  //
  4421  //   * OperationFailureException
  4422  //   Lightsail throws this exception when an operation fails to execute.
  4423  //
  4424  //   * AccessDeniedException
  4425  //   Lightsail throws this exception when the user cannot be authenticated or
  4426  //   uses invalid credentials to access a resource.
  4427  //
  4428  //   * AccountSetupInProgressException
  4429  //   Lightsail throws this exception when an account is still in the setup in
  4430  //   progress state.
  4431  //
  4432  //   * UnauthenticatedException
  4433  //   Lightsail throws this exception when the user has not been authenticated.
  4434  //
  4435  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
  4436  func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
  4437  	req, out := c.DeleteDiskSnapshotRequest(input)
  4438  	return out, req.Send()
  4439  }
  4440  
  4441  // DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
  4442  // the ability to pass a context and additional request options.
  4443  //
  4444  // See DeleteDiskSnapshot for details on how to use this API operation.
  4445  //
  4446  // The context must be non-nil and will be used for request cancellation. If
  4447  // the context is nil a panic will occur. In the future the SDK may create
  4448  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4449  // for more information on using Contexts.
  4450  func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
  4451  	req, out := c.DeleteDiskSnapshotRequest(input)
  4452  	req.SetContext(ctx)
  4453  	req.ApplyOptions(opts...)
  4454  	return out, req.Send()
  4455  }
  4456  
  4457  const opDeleteDistribution = "DeleteDistribution"
  4458  
  4459  // DeleteDistributionRequest generates a "aws/request.Request" representing the
  4460  // client's request for the DeleteDistribution operation. The "output" return
  4461  // value will be populated with the request's response once the request completes
  4462  // successfully.
  4463  //
  4464  // Use "Send" method on the returned Request to send the API call to the service.
  4465  // the "output" return value is not valid until after Send returns without error.
  4466  //
  4467  // See DeleteDistribution for more information on using the DeleteDistribution
  4468  // API call, and error handling.
  4469  //
  4470  // This method is useful when you want to inject custom logic or configuration
  4471  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4472  //
  4473  //
  4474  //    // Example sending a request using the DeleteDistributionRequest method.
  4475  //    req, resp := client.DeleteDistributionRequest(params)
  4476  //
  4477  //    err := req.Send()
  4478  //    if err == nil { // resp is now filled
  4479  //        fmt.Println(resp)
  4480  //    }
  4481  //
  4482  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
  4483  func (c *Lightsail) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) {
  4484  	op := &request.Operation{
  4485  		Name:       opDeleteDistribution,
  4486  		HTTPMethod: "POST",
  4487  		HTTPPath:   "/",
  4488  	}
  4489  
  4490  	if input == nil {
  4491  		input = &DeleteDistributionInput{}
  4492  	}
  4493  
  4494  	output = &DeleteDistributionOutput{}
  4495  	req = c.newRequest(op, input, output)
  4496  	return
  4497  }
  4498  
  4499  // DeleteDistribution API operation for Amazon Lightsail.
  4500  //
  4501  // Deletes your Amazon Lightsail content delivery network (CDN) distribution.
  4502  //
  4503  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4504  // with awserr.Error's Code and Message methods to get detailed information about
  4505  // the error.
  4506  //
  4507  // See the AWS API reference guide for Amazon Lightsail's
  4508  // API operation DeleteDistribution for usage and error information.
  4509  //
  4510  // Returned Error Types:
  4511  //   * ServiceException
  4512  //   A general service exception.
  4513  //
  4514  //   * InvalidInputException
  4515  //   Lightsail throws this exception when user input does not conform to the validation
  4516  //   rules of an input field.
  4517  //
  4518  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4519  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4520  //   view, or edit these resources.
  4521  //
  4522  //   * NotFoundException
  4523  //   Lightsail throws this exception when it cannot find a resource.
  4524  //
  4525  //   * OperationFailureException
  4526  //   Lightsail throws this exception when an operation fails to execute.
  4527  //
  4528  //   * AccessDeniedException
  4529  //   Lightsail throws this exception when the user cannot be authenticated or
  4530  //   uses invalid credentials to access a resource.
  4531  //
  4532  //   * UnauthenticatedException
  4533  //   Lightsail throws this exception when the user has not been authenticated.
  4534  //
  4535  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
  4536  func (c *Lightsail) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) {
  4537  	req, out := c.DeleteDistributionRequest(input)
  4538  	return out, req.Send()
  4539  }
  4540  
  4541  // DeleteDistributionWithContext is the same as DeleteDistribution with the addition of
  4542  // the ability to pass a context and additional request options.
  4543  //
  4544  // See DeleteDistribution for details on how to use this API operation.
  4545  //
  4546  // The context must be non-nil and will be used for request cancellation. If
  4547  // the context is nil a panic will occur. In the future the SDK may create
  4548  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4549  // for more information on using Contexts.
  4550  func (c *Lightsail) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) {
  4551  	req, out := c.DeleteDistributionRequest(input)
  4552  	req.SetContext(ctx)
  4553  	req.ApplyOptions(opts...)
  4554  	return out, req.Send()
  4555  }
  4556  
  4557  const opDeleteDomain = "DeleteDomain"
  4558  
  4559  // DeleteDomainRequest generates a "aws/request.Request" representing the
  4560  // client's request for the DeleteDomain operation. The "output" return
  4561  // value will be populated with the request's response once the request completes
  4562  // successfully.
  4563  //
  4564  // Use "Send" method on the returned Request to send the API call to the service.
  4565  // the "output" return value is not valid until after Send returns without error.
  4566  //
  4567  // See DeleteDomain for more information on using the DeleteDomain
  4568  // API call, and error handling.
  4569  //
  4570  // This method is useful when you want to inject custom logic or configuration
  4571  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4572  //
  4573  //
  4574  //    // Example sending a request using the DeleteDomainRequest method.
  4575  //    req, resp := client.DeleteDomainRequest(params)
  4576  //
  4577  //    err := req.Send()
  4578  //    if err == nil { // resp is now filled
  4579  //        fmt.Println(resp)
  4580  //    }
  4581  //
  4582  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
  4583  func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
  4584  	op := &request.Operation{
  4585  		Name:       opDeleteDomain,
  4586  		HTTPMethod: "POST",
  4587  		HTTPPath:   "/",
  4588  	}
  4589  
  4590  	if input == nil {
  4591  		input = &DeleteDomainInput{}
  4592  	}
  4593  
  4594  	output = &DeleteDomainOutput{}
  4595  	req = c.newRequest(op, input, output)
  4596  	return
  4597  }
  4598  
  4599  // DeleteDomain API operation for Amazon Lightsail.
  4600  //
  4601  // Deletes the specified domain recordset and all of its domain records.
  4602  //
  4603  // The delete domain operation supports tag-based access control via resource
  4604  // tags applied to the resource identified by domain name. For more information,
  4605  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  4606  //
  4607  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4608  // with awserr.Error's Code and Message methods to get detailed information about
  4609  // the error.
  4610  //
  4611  // See the AWS API reference guide for Amazon Lightsail's
  4612  // API operation DeleteDomain for usage and error information.
  4613  //
  4614  // Returned Error Types:
  4615  //   * ServiceException
  4616  //   A general service exception.
  4617  //
  4618  //   * InvalidInputException
  4619  //   Lightsail throws this exception when user input does not conform to the validation
  4620  //   rules of an input field.
  4621  //
  4622  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4623  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4624  //   view, or edit these resources.
  4625  //
  4626  //   * NotFoundException
  4627  //   Lightsail throws this exception when it cannot find a resource.
  4628  //
  4629  //   * OperationFailureException
  4630  //   Lightsail throws this exception when an operation fails to execute.
  4631  //
  4632  //   * AccessDeniedException
  4633  //   Lightsail throws this exception when the user cannot be authenticated or
  4634  //   uses invalid credentials to access a resource.
  4635  //
  4636  //   * AccountSetupInProgressException
  4637  //   Lightsail throws this exception when an account is still in the setup in
  4638  //   progress state.
  4639  //
  4640  //   * UnauthenticatedException
  4641  //   Lightsail throws this exception when the user has not been authenticated.
  4642  //
  4643  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
  4644  func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
  4645  	req, out := c.DeleteDomainRequest(input)
  4646  	return out, req.Send()
  4647  }
  4648  
  4649  // DeleteDomainWithContext is the same as DeleteDomain with the addition of
  4650  // the ability to pass a context and additional request options.
  4651  //
  4652  // See DeleteDomain for details on how to use this API operation.
  4653  //
  4654  // The context must be non-nil and will be used for request cancellation. If
  4655  // the context is nil a panic will occur. In the future the SDK may create
  4656  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4657  // for more information on using Contexts.
  4658  func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
  4659  	req, out := c.DeleteDomainRequest(input)
  4660  	req.SetContext(ctx)
  4661  	req.ApplyOptions(opts...)
  4662  	return out, req.Send()
  4663  }
  4664  
  4665  const opDeleteDomainEntry = "DeleteDomainEntry"
  4666  
  4667  // DeleteDomainEntryRequest generates a "aws/request.Request" representing the
  4668  // client's request for the DeleteDomainEntry operation. The "output" return
  4669  // value will be populated with the request's response once the request completes
  4670  // successfully.
  4671  //
  4672  // Use "Send" method on the returned Request to send the API call to the service.
  4673  // the "output" return value is not valid until after Send returns without error.
  4674  //
  4675  // See DeleteDomainEntry for more information on using the DeleteDomainEntry
  4676  // API call, and error handling.
  4677  //
  4678  // This method is useful when you want to inject custom logic or configuration
  4679  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4680  //
  4681  //
  4682  //    // Example sending a request using the DeleteDomainEntryRequest method.
  4683  //    req, resp := client.DeleteDomainEntryRequest(params)
  4684  //
  4685  //    err := req.Send()
  4686  //    if err == nil { // resp is now filled
  4687  //        fmt.Println(resp)
  4688  //    }
  4689  //
  4690  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
  4691  func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
  4692  	op := &request.Operation{
  4693  		Name:       opDeleteDomainEntry,
  4694  		HTTPMethod: "POST",
  4695  		HTTPPath:   "/",
  4696  	}
  4697  
  4698  	if input == nil {
  4699  		input = &DeleteDomainEntryInput{}
  4700  	}
  4701  
  4702  	output = &DeleteDomainEntryOutput{}
  4703  	req = c.newRequest(op, input, output)
  4704  	return
  4705  }
  4706  
  4707  // DeleteDomainEntry API operation for Amazon Lightsail.
  4708  //
  4709  // Deletes a specific domain entry.
  4710  //
  4711  // The delete domain entry operation supports tag-based access control via resource
  4712  // tags applied to the resource identified by domain name. For more information,
  4713  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  4714  //
  4715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4716  // with awserr.Error's Code and Message methods to get detailed information about
  4717  // the error.
  4718  //
  4719  // See the AWS API reference guide for Amazon Lightsail's
  4720  // API operation DeleteDomainEntry for usage and error information.
  4721  //
  4722  // Returned Error Types:
  4723  //   * ServiceException
  4724  //   A general service exception.
  4725  //
  4726  //   * InvalidInputException
  4727  //   Lightsail throws this exception when user input does not conform to the validation
  4728  //   rules of an input field.
  4729  //
  4730  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4731  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4732  //   view, or edit these resources.
  4733  //
  4734  //   * NotFoundException
  4735  //   Lightsail throws this exception when it cannot find a resource.
  4736  //
  4737  //   * OperationFailureException
  4738  //   Lightsail throws this exception when an operation fails to execute.
  4739  //
  4740  //   * AccessDeniedException
  4741  //   Lightsail throws this exception when the user cannot be authenticated or
  4742  //   uses invalid credentials to access a resource.
  4743  //
  4744  //   * AccountSetupInProgressException
  4745  //   Lightsail throws this exception when an account is still in the setup in
  4746  //   progress state.
  4747  //
  4748  //   * UnauthenticatedException
  4749  //   Lightsail throws this exception when the user has not been authenticated.
  4750  //
  4751  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
  4752  func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
  4753  	req, out := c.DeleteDomainEntryRequest(input)
  4754  	return out, req.Send()
  4755  }
  4756  
  4757  // DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
  4758  // the ability to pass a context and additional request options.
  4759  //
  4760  // See DeleteDomainEntry for details on how to use this API operation.
  4761  //
  4762  // The context must be non-nil and will be used for request cancellation. If
  4763  // the context is nil a panic will occur. In the future the SDK may create
  4764  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4765  // for more information on using Contexts.
  4766  func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
  4767  	req, out := c.DeleteDomainEntryRequest(input)
  4768  	req.SetContext(ctx)
  4769  	req.ApplyOptions(opts...)
  4770  	return out, req.Send()
  4771  }
  4772  
  4773  const opDeleteInstance = "DeleteInstance"
  4774  
  4775  // DeleteInstanceRequest generates a "aws/request.Request" representing the
  4776  // client's request for the DeleteInstance operation. The "output" return
  4777  // value will be populated with the request's response once the request completes
  4778  // successfully.
  4779  //
  4780  // Use "Send" method on the returned Request to send the API call to the service.
  4781  // the "output" return value is not valid until after Send returns without error.
  4782  //
  4783  // See DeleteInstance for more information on using the DeleteInstance
  4784  // API call, and error handling.
  4785  //
  4786  // This method is useful when you want to inject custom logic or configuration
  4787  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4788  //
  4789  //
  4790  //    // Example sending a request using the DeleteInstanceRequest method.
  4791  //    req, resp := client.DeleteInstanceRequest(params)
  4792  //
  4793  //    err := req.Send()
  4794  //    if err == nil { // resp is now filled
  4795  //        fmt.Println(resp)
  4796  //    }
  4797  //
  4798  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
  4799  func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
  4800  	op := &request.Operation{
  4801  		Name:       opDeleteInstance,
  4802  		HTTPMethod: "POST",
  4803  		HTTPPath:   "/",
  4804  	}
  4805  
  4806  	if input == nil {
  4807  		input = &DeleteInstanceInput{}
  4808  	}
  4809  
  4810  	output = &DeleteInstanceOutput{}
  4811  	req = c.newRequest(op, input, output)
  4812  	return
  4813  }
  4814  
  4815  // DeleteInstance API operation for Amazon Lightsail.
  4816  //
  4817  // Deletes an Amazon Lightsail instance.
  4818  //
  4819  // The delete instance operation supports tag-based access control via resource
  4820  // tags applied to the resource identified by instance name. For more information,
  4821  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  4822  //
  4823  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4824  // with awserr.Error's Code and Message methods to get detailed information about
  4825  // the error.
  4826  //
  4827  // See the AWS API reference guide for Amazon Lightsail's
  4828  // API operation DeleteInstance for usage and error information.
  4829  //
  4830  // Returned Error Types:
  4831  //   * ServiceException
  4832  //   A general service exception.
  4833  //
  4834  //   * InvalidInputException
  4835  //   Lightsail throws this exception when user input does not conform to the validation
  4836  //   rules of an input field.
  4837  //
  4838  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4839  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4840  //   view, or edit these resources.
  4841  //
  4842  //   * NotFoundException
  4843  //   Lightsail throws this exception when it cannot find a resource.
  4844  //
  4845  //   * OperationFailureException
  4846  //   Lightsail throws this exception when an operation fails to execute.
  4847  //
  4848  //   * AccessDeniedException
  4849  //   Lightsail throws this exception when the user cannot be authenticated or
  4850  //   uses invalid credentials to access a resource.
  4851  //
  4852  //   * AccountSetupInProgressException
  4853  //   Lightsail throws this exception when an account is still in the setup in
  4854  //   progress state.
  4855  //
  4856  //   * UnauthenticatedException
  4857  //   Lightsail throws this exception when the user has not been authenticated.
  4858  //
  4859  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
  4860  func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
  4861  	req, out := c.DeleteInstanceRequest(input)
  4862  	return out, req.Send()
  4863  }
  4864  
  4865  // DeleteInstanceWithContext is the same as DeleteInstance with the addition of
  4866  // the ability to pass a context and additional request options.
  4867  //
  4868  // See DeleteInstance for details on how to use this API operation.
  4869  //
  4870  // The context must be non-nil and will be used for request cancellation. If
  4871  // the context is nil a panic will occur. In the future the SDK may create
  4872  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4873  // for more information on using Contexts.
  4874  func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
  4875  	req, out := c.DeleteInstanceRequest(input)
  4876  	req.SetContext(ctx)
  4877  	req.ApplyOptions(opts...)
  4878  	return out, req.Send()
  4879  }
  4880  
  4881  const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
  4882  
  4883  // DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
  4884  // client's request for the DeleteInstanceSnapshot operation. The "output" return
  4885  // value will be populated with the request's response once the request completes
  4886  // successfully.
  4887  //
  4888  // Use "Send" method on the returned Request to send the API call to the service.
  4889  // the "output" return value is not valid until after Send returns without error.
  4890  //
  4891  // See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
  4892  // API call, and error handling.
  4893  //
  4894  // This method is useful when you want to inject custom logic or configuration
  4895  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4896  //
  4897  //
  4898  //    // Example sending a request using the DeleteInstanceSnapshotRequest method.
  4899  //    req, resp := client.DeleteInstanceSnapshotRequest(params)
  4900  //
  4901  //    err := req.Send()
  4902  //    if err == nil { // resp is now filled
  4903  //        fmt.Println(resp)
  4904  //    }
  4905  //
  4906  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
  4907  func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
  4908  	op := &request.Operation{
  4909  		Name:       opDeleteInstanceSnapshot,
  4910  		HTTPMethod: "POST",
  4911  		HTTPPath:   "/",
  4912  	}
  4913  
  4914  	if input == nil {
  4915  		input = &DeleteInstanceSnapshotInput{}
  4916  	}
  4917  
  4918  	output = &DeleteInstanceSnapshotOutput{}
  4919  	req = c.newRequest(op, input, output)
  4920  	return
  4921  }
  4922  
  4923  // DeleteInstanceSnapshot API operation for Amazon Lightsail.
  4924  //
  4925  // Deletes a specific snapshot of a virtual private server (or instance).
  4926  //
  4927  // The delete instance snapshot operation supports tag-based access control
  4928  // via resource tags applied to the resource identified by instance snapshot
  4929  // name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  4930  //
  4931  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4932  // with awserr.Error's Code and Message methods to get detailed information about
  4933  // the error.
  4934  //
  4935  // See the AWS API reference guide for Amazon Lightsail's
  4936  // API operation DeleteInstanceSnapshot for usage and error information.
  4937  //
  4938  // Returned Error Types:
  4939  //   * ServiceException
  4940  //   A general service exception.
  4941  //
  4942  //   * InvalidInputException
  4943  //   Lightsail throws this exception when user input does not conform to the validation
  4944  //   rules of an input field.
  4945  //
  4946  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  4947  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  4948  //   view, or edit these resources.
  4949  //
  4950  //   * NotFoundException
  4951  //   Lightsail throws this exception when it cannot find a resource.
  4952  //
  4953  //   * OperationFailureException
  4954  //   Lightsail throws this exception when an operation fails to execute.
  4955  //
  4956  //   * AccessDeniedException
  4957  //   Lightsail throws this exception when the user cannot be authenticated or
  4958  //   uses invalid credentials to access a resource.
  4959  //
  4960  //   * AccountSetupInProgressException
  4961  //   Lightsail throws this exception when an account is still in the setup in
  4962  //   progress state.
  4963  //
  4964  //   * UnauthenticatedException
  4965  //   Lightsail throws this exception when the user has not been authenticated.
  4966  //
  4967  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
  4968  func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
  4969  	req, out := c.DeleteInstanceSnapshotRequest(input)
  4970  	return out, req.Send()
  4971  }
  4972  
  4973  // DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
  4974  // the ability to pass a context and additional request options.
  4975  //
  4976  // See DeleteInstanceSnapshot for details on how to use this API operation.
  4977  //
  4978  // The context must be non-nil and will be used for request cancellation. If
  4979  // the context is nil a panic will occur. In the future the SDK may create
  4980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4981  // for more information on using Contexts.
  4982  func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
  4983  	req, out := c.DeleteInstanceSnapshotRequest(input)
  4984  	req.SetContext(ctx)
  4985  	req.ApplyOptions(opts...)
  4986  	return out, req.Send()
  4987  }
  4988  
  4989  const opDeleteKeyPair = "DeleteKeyPair"
  4990  
  4991  // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  4992  // client's request for the DeleteKeyPair operation. The "output" return
  4993  // value will be populated with the request's response once the request completes
  4994  // successfully.
  4995  //
  4996  // Use "Send" method on the returned Request to send the API call to the service.
  4997  // the "output" return value is not valid until after Send returns without error.
  4998  //
  4999  // See DeleteKeyPair for more information on using the DeleteKeyPair
  5000  // API call, and error handling.
  5001  //
  5002  // This method is useful when you want to inject custom logic or configuration
  5003  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5004  //
  5005  //
  5006  //    // Example sending a request using the DeleteKeyPairRequest method.
  5007  //    req, resp := client.DeleteKeyPairRequest(params)
  5008  //
  5009  //    err := req.Send()
  5010  //    if err == nil { // resp is now filled
  5011  //        fmt.Println(resp)
  5012  //    }
  5013  //
  5014  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
  5015  func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  5016  	op := &request.Operation{
  5017  		Name:       opDeleteKeyPair,
  5018  		HTTPMethod: "POST",
  5019  		HTTPPath:   "/",
  5020  	}
  5021  
  5022  	if input == nil {
  5023  		input = &DeleteKeyPairInput{}
  5024  	}
  5025  
  5026  	output = &DeleteKeyPairOutput{}
  5027  	req = c.newRequest(op, input, output)
  5028  	return
  5029  }
  5030  
  5031  // DeleteKeyPair API operation for Amazon Lightsail.
  5032  //
  5033  // Deletes a specific SSH key pair.
  5034  //
  5035  // The delete key pair operation supports tag-based access control via resource
  5036  // tags applied to the resource identified by key pair name. For more information,
  5037  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5038  //
  5039  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5040  // with awserr.Error's Code and Message methods to get detailed information about
  5041  // the error.
  5042  //
  5043  // See the AWS API reference guide for Amazon Lightsail's
  5044  // API operation DeleteKeyPair for usage and error information.
  5045  //
  5046  // Returned Error Types:
  5047  //   * ServiceException
  5048  //   A general service exception.
  5049  //
  5050  //   * InvalidInputException
  5051  //   Lightsail throws this exception when user input does not conform to the validation
  5052  //   rules of an input field.
  5053  //
  5054  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5055  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5056  //   view, or edit these resources.
  5057  //
  5058  //   * NotFoundException
  5059  //   Lightsail throws this exception when it cannot find a resource.
  5060  //
  5061  //   * OperationFailureException
  5062  //   Lightsail throws this exception when an operation fails to execute.
  5063  //
  5064  //   * AccessDeniedException
  5065  //   Lightsail throws this exception when the user cannot be authenticated or
  5066  //   uses invalid credentials to access a resource.
  5067  //
  5068  //   * AccountSetupInProgressException
  5069  //   Lightsail throws this exception when an account is still in the setup in
  5070  //   progress state.
  5071  //
  5072  //   * UnauthenticatedException
  5073  //   Lightsail throws this exception when the user has not been authenticated.
  5074  //
  5075  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
  5076  func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  5077  	req, out := c.DeleteKeyPairRequest(input)
  5078  	return out, req.Send()
  5079  }
  5080  
  5081  // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  5082  // the ability to pass a context and additional request options.
  5083  //
  5084  // See DeleteKeyPair for details on how to use this API operation.
  5085  //
  5086  // The context must be non-nil and will be used for request cancellation. If
  5087  // the context is nil a panic will occur. In the future the SDK may create
  5088  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5089  // for more information on using Contexts.
  5090  func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  5091  	req, out := c.DeleteKeyPairRequest(input)
  5092  	req.SetContext(ctx)
  5093  	req.ApplyOptions(opts...)
  5094  	return out, req.Send()
  5095  }
  5096  
  5097  const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
  5098  
  5099  // DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
  5100  // client's request for the DeleteKnownHostKeys operation. The "output" return
  5101  // value will be populated with the request's response once the request completes
  5102  // successfully.
  5103  //
  5104  // Use "Send" method on the returned Request to send the API call to the service.
  5105  // the "output" return value is not valid until after Send returns without error.
  5106  //
  5107  // See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
  5108  // API call, and error handling.
  5109  //
  5110  // This method is useful when you want to inject custom logic or configuration
  5111  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5112  //
  5113  //
  5114  //    // Example sending a request using the DeleteKnownHostKeysRequest method.
  5115  //    req, resp := client.DeleteKnownHostKeysRequest(params)
  5116  //
  5117  //    err := req.Send()
  5118  //    if err == nil { // resp is now filled
  5119  //        fmt.Println(resp)
  5120  //    }
  5121  //
  5122  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
  5123  func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
  5124  	op := &request.Operation{
  5125  		Name:       opDeleteKnownHostKeys,
  5126  		HTTPMethod: "POST",
  5127  		HTTPPath:   "/",
  5128  	}
  5129  
  5130  	if input == nil {
  5131  		input = &DeleteKnownHostKeysInput{}
  5132  	}
  5133  
  5134  	output = &DeleteKnownHostKeysOutput{}
  5135  	req = c.newRequest(op, input, output)
  5136  	return
  5137  }
  5138  
  5139  // DeleteKnownHostKeys API operation for Amazon Lightsail.
  5140  //
  5141  // Deletes the known host key or certificate used by the Amazon Lightsail browser-based
  5142  // SSH or RDP clients to authenticate an instance. This operation enables the
  5143  // Lightsail browser-based SSH or RDP clients to connect to the instance after
  5144  // a host key mismatch.
  5145  //
  5146  // Perform this operation only if you were expecting the host key or certificate
  5147  // mismatch or if you are familiar with the new host key or certificate on the
  5148  // instance. For more information, see Troubleshooting connection issues when
  5149  // using the Amazon Lightsail browser-based SSH or RDP client (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-troubleshooting-browser-based-ssh-rdp-client-connection).
  5150  //
  5151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5152  // with awserr.Error's Code and Message methods to get detailed information about
  5153  // the error.
  5154  //
  5155  // See the AWS API reference guide for Amazon Lightsail's
  5156  // API operation DeleteKnownHostKeys for usage and error information.
  5157  //
  5158  // Returned Error Types:
  5159  //   * ServiceException
  5160  //   A general service exception.
  5161  //
  5162  //   * InvalidInputException
  5163  //   Lightsail throws this exception when user input does not conform to the validation
  5164  //   rules of an input field.
  5165  //
  5166  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5167  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5168  //   view, or edit these resources.
  5169  //
  5170  //   * NotFoundException
  5171  //   Lightsail throws this exception when it cannot find a resource.
  5172  //
  5173  //   * OperationFailureException
  5174  //   Lightsail throws this exception when an operation fails to execute.
  5175  //
  5176  //   * AccessDeniedException
  5177  //   Lightsail throws this exception when the user cannot be authenticated or
  5178  //   uses invalid credentials to access a resource.
  5179  //
  5180  //   * AccountSetupInProgressException
  5181  //   Lightsail throws this exception when an account is still in the setup in
  5182  //   progress state.
  5183  //
  5184  //   * UnauthenticatedException
  5185  //   Lightsail throws this exception when the user has not been authenticated.
  5186  //
  5187  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
  5188  func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
  5189  	req, out := c.DeleteKnownHostKeysRequest(input)
  5190  	return out, req.Send()
  5191  }
  5192  
  5193  // DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
  5194  // the ability to pass a context and additional request options.
  5195  //
  5196  // See DeleteKnownHostKeys for details on how to use this API operation.
  5197  //
  5198  // The context must be non-nil and will be used for request cancellation. If
  5199  // the context is nil a panic will occur. In the future the SDK may create
  5200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5201  // for more information on using Contexts.
  5202  func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
  5203  	req, out := c.DeleteKnownHostKeysRequest(input)
  5204  	req.SetContext(ctx)
  5205  	req.ApplyOptions(opts...)
  5206  	return out, req.Send()
  5207  }
  5208  
  5209  const opDeleteLoadBalancer = "DeleteLoadBalancer"
  5210  
  5211  // DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
  5212  // client's request for the DeleteLoadBalancer operation. The "output" return
  5213  // value will be populated with the request's response once the request completes
  5214  // successfully.
  5215  //
  5216  // Use "Send" method on the returned Request to send the API call to the service.
  5217  // the "output" return value is not valid until after Send returns without error.
  5218  //
  5219  // See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
  5220  // API call, and error handling.
  5221  //
  5222  // This method is useful when you want to inject custom logic or configuration
  5223  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5224  //
  5225  //
  5226  //    // Example sending a request using the DeleteLoadBalancerRequest method.
  5227  //    req, resp := client.DeleteLoadBalancerRequest(params)
  5228  //
  5229  //    err := req.Send()
  5230  //    if err == nil { // resp is now filled
  5231  //        fmt.Println(resp)
  5232  //    }
  5233  //
  5234  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
  5235  func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
  5236  	op := &request.Operation{
  5237  		Name:       opDeleteLoadBalancer,
  5238  		HTTPMethod: "POST",
  5239  		HTTPPath:   "/",
  5240  	}
  5241  
  5242  	if input == nil {
  5243  		input = &DeleteLoadBalancerInput{}
  5244  	}
  5245  
  5246  	output = &DeleteLoadBalancerOutput{}
  5247  	req = c.newRequest(op, input, output)
  5248  	return
  5249  }
  5250  
  5251  // DeleteLoadBalancer API operation for Amazon Lightsail.
  5252  //
  5253  // Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
  5254  // Once the load balancer is deleted, you will need to create a new load balancer,
  5255  // create a new certificate, and verify domain ownership again.
  5256  //
  5257  // The delete load balancer operation supports tag-based access control via
  5258  // resource tags applied to the resource identified by load balancer name. For
  5259  // more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5260  //
  5261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5262  // with awserr.Error's Code and Message methods to get detailed information about
  5263  // the error.
  5264  //
  5265  // See the AWS API reference guide for Amazon Lightsail's
  5266  // API operation DeleteLoadBalancer for usage and error information.
  5267  //
  5268  // Returned Error Types:
  5269  //   * ServiceException
  5270  //   A general service exception.
  5271  //
  5272  //   * InvalidInputException
  5273  //   Lightsail throws this exception when user input does not conform to the validation
  5274  //   rules of an input field.
  5275  //
  5276  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5277  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5278  //   view, or edit these resources.
  5279  //
  5280  //   * NotFoundException
  5281  //   Lightsail throws this exception when it cannot find a resource.
  5282  //
  5283  //   * OperationFailureException
  5284  //   Lightsail throws this exception when an operation fails to execute.
  5285  //
  5286  //   * AccessDeniedException
  5287  //   Lightsail throws this exception when the user cannot be authenticated or
  5288  //   uses invalid credentials to access a resource.
  5289  //
  5290  //   * AccountSetupInProgressException
  5291  //   Lightsail throws this exception when an account is still in the setup in
  5292  //   progress state.
  5293  //
  5294  //   * UnauthenticatedException
  5295  //   Lightsail throws this exception when the user has not been authenticated.
  5296  //
  5297  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
  5298  func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
  5299  	req, out := c.DeleteLoadBalancerRequest(input)
  5300  	return out, req.Send()
  5301  }
  5302  
  5303  // DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
  5304  // the ability to pass a context and additional request options.
  5305  //
  5306  // See DeleteLoadBalancer for details on how to use this API operation.
  5307  //
  5308  // The context must be non-nil and will be used for request cancellation. If
  5309  // the context is nil a panic will occur. In the future the SDK may create
  5310  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5311  // for more information on using Contexts.
  5312  func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
  5313  	req, out := c.DeleteLoadBalancerRequest(input)
  5314  	req.SetContext(ctx)
  5315  	req.ApplyOptions(opts...)
  5316  	return out, req.Send()
  5317  }
  5318  
  5319  const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
  5320  
  5321  // DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
  5322  // client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
  5323  // value will be populated with the request's response once the request completes
  5324  // successfully.
  5325  //
  5326  // Use "Send" method on the returned Request to send the API call to the service.
  5327  // the "output" return value is not valid until after Send returns without error.
  5328  //
  5329  // See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
  5330  // API call, and error handling.
  5331  //
  5332  // This method is useful when you want to inject custom logic or configuration
  5333  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5334  //
  5335  //
  5336  //    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
  5337  //    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
  5338  //
  5339  //    err := req.Send()
  5340  //    if err == nil { // resp is now filled
  5341  //        fmt.Println(resp)
  5342  //    }
  5343  //
  5344  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
  5345  func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
  5346  	op := &request.Operation{
  5347  		Name:       opDeleteLoadBalancerTlsCertificate,
  5348  		HTTPMethod: "POST",
  5349  		HTTPPath:   "/",
  5350  	}
  5351  
  5352  	if input == nil {
  5353  		input = &DeleteLoadBalancerTlsCertificateInput{}
  5354  	}
  5355  
  5356  	output = &DeleteLoadBalancerTlsCertificateOutput{}
  5357  	req = c.newRequest(op, input, output)
  5358  	return
  5359  }
  5360  
  5361  // DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
  5362  //
  5363  // Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
  5364  //
  5365  // The DeleteLoadBalancerTlsCertificate operation supports tag-based access
  5366  // control via resource tags applied to the resource identified by load balancer
  5367  // name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5368  //
  5369  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5370  // with awserr.Error's Code and Message methods to get detailed information about
  5371  // the error.
  5372  //
  5373  // See the AWS API reference guide for Amazon Lightsail's
  5374  // API operation DeleteLoadBalancerTlsCertificate for usage and error information.
  5375  //
  5376  // Returned Error Types:
  5377  //   * ServiceException
  5378  //   A general service exception.
  5379  //
  5380  //   * InvalidInputException
  5381  //   Lightsail throws this exception when user input does not conform to the validation
  5382  //   rules of an input field.
  5383  //
  5384  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5385  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5386  //   view, or edit these resources.
  5387  //
  5388  //   * NotFoundException
  5389  //   Lightsail throws this exception when it cannot find a resource.
  5390  //
  5391  //   * OperationFailureException
  5392  //   Lightsail throws this exception when an operation fails to execute.
  5393  //
  5394  //   * AccessDeniedException
  5395  //   Lightsail throws this exception when the user cannot be authenticated or
  5396  //   uses invalid credentials to access a resource.
  5397  //
  5398  //   * AccountSetupInProgressException
  5399  //   Lightsail throws this exception when an account is still in the setup in
  5400  //   progress state.
  5401  //
  5402  //   * UnauthenticatedException
  5403  //   Lightsail throws this exception when the user has not been authenticated.
  5404  //
  5405  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
  5406  func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
  5407  	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
  5408  	return out, req.Send()
  5409  }
  5410  
  5411  // DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
  5412  // the ability to pass a context and additional request options.
  5413  //
  5414  // See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
  5415  //
  5416  // The context must be non-nil and will be used for request cancellation. If
  5417  // the context is nil a panic will occur. In the future the SDK may create
  5418  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5419  // for more information on using Contexts.
  5420  func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
  5421  	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
  5422  	req.SetContext(ctx)
  5423  	req.ApplyOptions(opts...)
  5424  	return out, req.Send()
  5425  }
  5426  
  5427  const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
  5428  
  5429  // DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
  5430  // client's request for the DeleteRelationalDatabase operation. The "output" return
  5431  // value will be populated with the request's response once the request completes
  5432  // successfully.
  5433  //
  5434  // Use "Send" method on the returned Request to send the API call to the service.
  5435  // the "output" return value is not valid until after Send returns without error.
  5436  //
  5437  // See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
  5438  // API call, and error handling.
  5439  //
  5440  // This method is useful when you want to inject custom logic or configuration
  5441  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5442  //
  5443  //
  5444  //    // Example sending a request using the DeleteRelationalDatabaseRequest method.
  5445  //    req, resp := client.DeleteRelationalDatabaseRequest(params)
  5446  //
  5447  //    err := req.Send()
  5448  //    if err == nil { // resp is now filled
  5449  //        fmt.Println(resp)
  5450  //    }
  5451  //
  5452  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
  5453  func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
  5454  	op := &request.Operation{
  5455  		Name:       opDeleteRelationalDatabase,
  5456  		HTTPMethod: "POST",
  5457  		HTTPPath:   "/",
  5458  	}
  5459  
  5460  	if input == nil {
  5461  		input = &DeleteRelationalDatabaseInput{}
  5462  	}
  5463  
  5464  	output = &DeleteRelationalDatabaseOutput{}
  5465  	req = c.newRequest(op, input, output)
  5466  	return
  5467  }
  5468  
  5469  // DeleteRelationalDatabase API operation for Amazon Lightsail.
  5470  //
  5471  // Deletes a database in Amazon Lightsail.
  5472  //
  5473  // The delete relational database operation supports tag-based access control
  5474  // via resource tags applied to the resource identified by relationalDatabaseName.
  5475  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5476  //
  5477  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5478  // with awserr.Error's Code and Message methods to get detailed information about
  5479  // the error.
  5480  //
  5481  // See the AWS API reference guide for Amazon Lightsail's
  5482  // API operation DeleteRelationalDatabase for usage and error information.
  5483  //
  5484  // Returned Error Types:
  5485  //   * ServiceException
  5486  //   A general service exception.
  5487  //
  5488  //   * InvalidInputException
  5489  //   Lightsail throws this exception when user input does not conform to the validation
  5490  //   rules of an input field.
  5491  //
  5492  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5493  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5494  //   view, or edit these resources.
  5495  //
  5496  //   * NotFoundException
  5497  //   Lightsail throws this exception when it cannot find a resource.
  5498  //
  5499  //   * OperationFailureException
  5500  //   Lightsail throws this exception when an operation fails to execute.
  5501  //
  5502  //   * AccessDeniedException
  5503  //   Lightsail throws this exception when the user cannot be authenticated or
  5504  //   uses invalid credentials to access a resource.
  5505  //
  5506  //   * AccountSetupInProgressException
  5507  //   Lightsail throws this exception when an account is still in the setup in
  5508  //   progress state.
  5509  //
  5510  //   * UnauthenticatedException
  5511  //   Lightsail throws this exception when the user has not been authenticated.
  5512  //
  5513  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
  5514  func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
  5515  	req, out := c.DeleteRelationalDatabaseRequest(input)
  5516  	return out, req.Send()
  5517  }
  5518  
  5519  // DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
  5520  // the ability to pass a context and additional request options.
  5521  //
  5522  // See DeleteRelationalDatabase for details on how to use this API operation.
  5523  //
  5524  // The context must be non-nil and will be used for request cancellation. If
  5525  // the context is nil a panic will occur. In the future the SDK may create
  5526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5527  // for more information on using Contexts.
  5528  func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
  5529  	req, out := c.DeleteRelationalDatabaseRequest(input)
  5530  	req.SetContext(ctx)
  5531  	req.ApplyOptions(opts...)
  5532  	return out, req.Send()
  5533  }
  5534  
  5535  const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
  5536  
  5537  // DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
  5538  // client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
  5539  // value will be populated with the request's response once the request completes
  5540  // successfully.
  5541  //
  5542  // Use "Send" method on the returned Request to send the API call to the service.
  5543  // the "output" return value is not valid until after Send returns without error.
  5544  //
  5545  // See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
  5546  // API call, and error handling.
  5547  //
  5548  // This method is useful when you want to inject custom logic or configuration
  5549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5550  //
  5551  //
  5552  //    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
  5553  //    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
  5554  //
  5555  //    err := req.Send()
  5556  //    if err == nil { // resp is now filled
  5557  //        fmt.Println(resp)
  5558  //    }
  5559  //
  5560  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
  5561  func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
  5562  	op := &request.Operation{
  5563  		Name:       opDeleteRelationalDatabaseSnapshot,
  5564  		HTTPMethod: "POST",
  5565  		HTTPPath:   "/",
  5566  	}
  5567  
  5568  	if input == nil {
  5569  		input = &DeleteRelationalDatabaseSnapshotInput{}
  5570  	}
  5571  
  5572  	output = &DeleteRelationalDatabaseSnapshotOutput{}
  5573  	req = c.newRequest(op, input, output)
  5574  	return
  5575  }
  5576  
  5577  // DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
  5578  //
  5579  // Deletes a database snapshot in Amazon Lightsail.
  5580  //
  5581  // The delete relational database snapshot operation supports tag-based access
  5582  // control via resource tags applied to the resource identified by relationalDatabaseName.
  5583  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5584  //
  5585  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5586  // with awserr.Error's Code and Message methods to get detailed information about
  5587  // the error.
  5588  //
  5589  // See the AWS API reference guide for Amazon Lightsail's
  5590  // API operation DeleteRelationalDatabaseSnapshot for usage and error information.
  5591  //
  5592  // Returned Error Types:
  5593  //   * ServiceException
  5594  //   A general service exception.
  5595  //
  5596  //   * InvalidInputException
  5597  //   Lightsail throws this exception when user input does not conform to the validation
  5598  //   rules of an input field.
  5599  //
  5600  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5601  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5602  //   view, or edit these resources.
  5603  //
  5604  //   * NotFoundException
  5605  //   Lightsail throws this exception when it cannot find a resource.
  5606  //
  5607  //   * OperationFailureException
  5608  //   Lightsail throws this exception when an operation fails to execute.
  5609  //
  5610  //   * AccessDeniedException
  5611  //   Lightsail throws this exception when the user cannot be authenticated or
  5612  //   uses invalid credentials to access a resource.
  5613  //
  5614  //   * AccountSetupInProgressException
  5615  //   Lightsail throws this exception when an account is still in the setup in
  5616  //   progress state.
  5617  //
  5618  //   * UnauthenticatedException
  5619  //   Lightsail throws this exception when the user has not been authenticated.
  5620  //
  5621  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
  5622  func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
  5623  	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
  5624  	return out, req.Send()
  5625  }
  5626  
  5627  // DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
  5628  // the ability to pass a context and additional request options.
  5629  //
  5630  // See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
  5631  //
  5632  // The context must be non-nil and will be used for request cancellation. If
  5633  // the context is nil a panic will occur. In the future the SDK may create
  5634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5635  // for more information on using Contexts.
  5636  func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
  5637  	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
  5638  	req.SetContext(ctx)
  5639  	req.ApplyOptions(opts...)
  5640  	return out, req.Send()
  5641  }
  5642  
  5643  const opDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
  5644  
  5645  // DetachCertificateFromDistributionRequest generates a "aws/request.Request" representing the
  5646  // client's request for the DetachCertificateFromDistribution operation. The "output" return
  5647  // value will be populated with the request's response once the request completes
  5648  // successfully.
  5649  //
  5650  // Use "Send" method on the returned Request to send the API call to the service.
  5651  // the "output" return value is not valid until after Send returns without error.
  5652  //
  5653  // See DetachCertificateFromDistribution for more information on using the DetachCertificateFromDistribution
  5654  // API call, and error handling.
  5655  //
  5656  // This method is useful when you want to inject custom logic or configuration
  5657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5658  //
  5659  //
  5660  //    // Example sending a request using the DetachCertificateFromDistributionRequest method.
  5661  //    req, resp := client.DetachCertificateFromDistributionRequest(params)
  5662  //
  5663  //    err := req.Send()
  5664  //    if err == nil { // resp is now filled
  5665  //        fmt.Println(resp)
  5666  //    }
  5667  //
  5668  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
  5669  func (c *Lightsail) DetachCertificateFromDistributionRequest(input *DetachCertificateFromDistributionInput) (req *request.Request, output *DetachCertificateFromDistributionOutput) {
  5670  	op := &request.Operation{
  5671  		Name:       opDetachCertificateFromDistribution,
  5672  		HTTPMethod: "POST",
  5673  		HTTPPath:   "/",
  5674  	}
  5675  
  5676  	if input == nil {
  5677  		input = &DetachCertificateFromDistributionInput{}
  5678  	}
  5679  
  5680  	output = &DetachCertificateFromDistributionOutput{}
  5681  	req = c.newRequest(op, input, output)
  5682  	return
  5683  }
  5684  
  5685  // DetachCertificateFromDistribution API operation for Amazon Lightsail.
  5686  //
  5687  // Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery
  5688  // network (CDN) distribution.
  5689  //
  5690  // After the certificate is detached, your distribution stops accepting traffic
  5691  // for all of the domains that are associated with the certificate.
  5692  //
  5693  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5694  // with awserr.Error's Code and Message methods to get detailed information about
  5695  // the error.
  5696  //
  5697  // See the AWS API reference guide for Amazon Lightsail's
  5698  // API operation DetachCertificateFromDistribution for usage and error information.
  5699  //
  5700  // Returned Error Types:
  5701  //   * ServiceException
  5702  //   A general service exception.
  5703  //
  5704  //   * InvalidInputException
  5705  //   Lightsail throws this exception when user input does not conform to the validation
  5706  //   rules of an input field.
  5707  //
  5708  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5709  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5710  //   view, or edit these resources.
  5711  //
  5712  //   * NotFoundException
  5713  //   Lightsail throws this exception when it cannot find a resource.
  5714  //
  5715  //   * OperationFailureException
  5716  //   Lightsail throws this exception when an operation fails to execute.
  5717  //
  5718  //   * AccessDeniedException
  5719  //   Lightsail throws this exception when the user cannot be authenticated or
  5720  //   uses invalid credentials to access a resource.
  5721  //
  5722  //   * UnauthenticatedException
  5723  //   Lightsail throws this exception when the user has not been authenticated.
  5724  //
  5725  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
  5726  func (c *Lightsail) DetachCertificateFromDistribution(input *DetachCertificateFromDistributionInput) (*DetachCertificateFromDistributionOutput, error) {
  5727  	req, out := c.DetachCertificateFromDistributionRequest(input)
  5728  	return out, req.Send()
  5729  }
  5730  
  5731  // DetachCertificateFromDistributionWithContext is the same as DetachCertificateFromDistribution with the addition of
  5732  // the ability to pass a context and additional request options.
  5733  //
  5734  // See DetachCertificateFromDistribution for details on how to use this API operation.
  5735  //
  5736  // The context must be non-nil and will be used for request cancellation. If
  5737  // the context is nil a panic will occur. In the future the SDK may create
  5738  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5739  // for more information on using Contexts.
  5740  func (c *Lightsail) DetachCertificateFromDistributionWithContext(ctx aws.Context, input *DetachCertificateFromDistributionInput, opts ...request.Option) (*DetachCertificateFromDistributionOutput, error) {
  5741  	req, out := c.DetachCertificateFromDistributionRequest(input)
  5742  	req.SetContext(ctx)
  5743  	req.ApplyOptions(opts...)
  5744  	return out, req.Send()
  5745  }
  5746  
  5747  const opDetachDisk = "DetachDisk"
  5748  
  5749  // DetachDiskRequest generates a "aws/request.Request" representing the
  5750  // client's request for the DetachDisk operation. The "output" return
  5751  // value will be populated with the request's response once the request completes
  5752  // successfully.
  5753  //
  5754  // Use "Send" method on the returned Request to send the API call to the service.
  5755  // the "output" return value is not valid until after Send returns without error.
  5756  //
  5757  // See DetachDisk for more information on using the DetachDisk
  5758  // API call, and error handling.
  5759  //
  5760  // This method is useful when you want to inject custom logic or configuration
  5761  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5762  //
  5763  //
  5764  //    // Example sending a request using the DetachDiskRequest method.
  5765  //    req, resp := client.DetachDiskRequest(params)
  5766  //
  5767  //    err := req.Send()
  5768  //    if err == nil { // resp is now filled
  5769  //        fmt.Println(resp)
  5770  //    }
  5771  //
  5772  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
  5773  func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
  5774  	op := &request.Operation{
  5775  		Name:       opDetachDisk,
  5776  		HTTPMethod: "POST",
  5777  		HTTPPath:   "/",
  5778  	}
  5779  
  5780  	if input == nil {
  5781  		input = &DetachDiskInput{}
  5782  	}
  5783  
  5784  	output = &DetachDiskOutput{}
  5785  	req = c.newRequest(op, input, output)
  5786  	return
  5787  }
  5788  
  5789  // DetachDisk API operation for Amazon Lightsail.
  5790  //
  5791  // Detaches a stopped block storage disk from a Lightsail instance. Make sure
  5792  // to unmount any file systems on the device within your operating system before
  5793  // stopping the instance and detaching the disk.
  5794  //
  5795  // The detach disk operation supports tag-based access control via resource
  5796  // tags applied to the resource identified by disk name. For more information,
  5797  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5798  //
  5799  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5800  // with awserr.Error's Code and Message methods to get detailed information about
  5801  // the error.
  5802  //
  5803  // See the AWS API reference guide for Amazon Lightsail's
  5804  // API operation DetachDisk for usage and error information.
  5805  //
  5806  // Returned Error Types:
  5807  //   * ServiceException
  5808  //   A general service exception.
  5809  //
  5810  //   * InvalidInputException
  5811  //   Lightsail throws this exception when user input does not conform to the validation
  5812  //   rules of an input field.
  5813  //
  5814  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5815  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5816  //   view, or edit these resources.
  5817  //
  5818  //   * NotFoundException
  5819  //   Lightsail throws this exception when it cannot find a resource.
  5820  //
  5821  //   * OperationFailureException
  5822  //   Lightsail throws this exception when an operation fails to execute.
  5823  //
  5824  //   * AccessDeniedException
  5825  //   Lightsail throws this exception when the user cannot be authenticated or
  5826  //   uses invalid credentials to access a resource.
  5827  //
  5828  //   * AccountSetupInProgressException
  5829  //   Lightsail throws this exception when an account is still in the setup in
  5830  //   progress state.
  5831  //
  5832  //   * UnauthenticatedException
  5833  //   Lightsail throws this exception when the user has not been authenticated.
  5834  //
  5835  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
  5836  func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
  5837  	req, out := c.DetachDiskRequest(input)
  5838  	return out, req.Send()
  5839  }
  5840  
  5841  // DetachDiskWithContext is the same as DetachDisk with the addition of
  5842  // the ability to pass a context and additional request options.
  5843  //
  5844  // See DetachDisk for details on how to use this API operation.
  5845  //
  5846  // The context must be non-nil and will be used for request cancellation. If
  5847  // the context is nil a panic will occur. In the future the SDK may create
  5848  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5849  // for more information on using Contexts.
  5850  func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
  5851  	req, out := c.DetachDiskRequest(input)
  5852  	req.SetContext(ctx)
  5853  	req.ApplyOptions(opts...)
  5854  	return out, req.Send()
  5855  }
  5856  
  5857  const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
  5858  
  5859  // DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
  5860  // client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
  5861  // value will be populated with the request's response once the request completes
  5862  // successfully.
  5863  //
  5864  // Use "Send" method on the returned Request to send the API call to the service.
  5865  // the "output" return value is not valid until after Send returns without error.
  5866  //
  5867  // See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
  5868  // API call, and error handling.
  5869  //
  5870  // This method is useful when you want to inject custom logic or configuration
  5871  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5872  //
  5873  //
  5874  //    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
  5875  //    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
  5876  //
  5877  //    err := req.Send()
  5878  //    if err == nil { // resp is now filled
  5879  //        fmt.Println(resp)
  5880  //    }
  5881  //
  5882  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
  5883  func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
  5884  	op := &request.Operation{
  5885  		Name:       opDetachInstancesFromLoadBalancer,
  5886  		HTTPMethod: "POST",
  5887  		HTTPPath:   "/",
  5888  	}
  5889  
  5890  	if input == nil {
  5891  		input = &DetachInstancesFromLoadBalancerInput{}
  5892  	}
  5893  
  5894  	output = &DetachInstancesFromLoadBalancerOutput{}
  5895  	req = c.newRequest(op, input, output)
  5896  	return
  5897  }
  5898  
  5899  // DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
  5900  //
  5901  // Detaches the specified instances from a Lightsail load balancer.
  5902  //
  5903  // This operation waits until the instances are no longer needed before they
  5904  // are detached from the load balancer.
  5905  //
  5906  // The detach instances from load balancer operation supports tag-based access
  5907  // control via resource tags applied to the resource identified by load balancer
  5908  // name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  5909  //
  5910  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5911  // with awserr.Error's Code and Message methods to get detailed information about
  5912  // the error.
  5913  //
  5914  // See the AWS API reference guide for Amazon Lightsail's
  5915  // API operation DetachInstancesFromLoadBalancer for usage and error information.
  5916  //
  5917  // Returned Error Types:
  5918  //   * ServiceException
  5919  //   A general service exception.
  5920  //
  5921  //   * InvalidInputException
  5922  //   Lightsail throws this exception when user input does not conform to the validation
  5923  //   rules of an input field.
  5924  //
  5925  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  5926  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  5927  //   view, or edit these resources.
  5928  //
  5929  //   * NotFoundException
  5930  //   Lightsail throws this exception when it cannot find a resource.
  5931  //
  5932  //   * OperationFailureException
  5933  //   Lightsail throws this exception when an operation fails to execute.
  5934  //
  5935  //   * AccessDeniedException
  5936  //   Lightsail throws this exception when the user cannot be authenticated or
  5937  //   uses invalid credentials to access a resource.
  5938  //
  5939  //   * AccountSetupInProgressException
  5940  //   Lightsail throws this exception when an account is still in the setup in
  5941  //   progress state.
  5942  //
  5943  //   * UnauthenticatedException
  5944  //   Lightsail throws this exception when the user has not been authenticated.
  5945  //
  5946  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
  5947  func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
  5948  	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
  5949  	return out, req.Send()
  5950  }
  5951  
  5952  // DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
  5953  // the ability to pass a context and additional request options.
  5954  //
  5955  // See DetachInstancesFromLoadBalancer for details on how to use this API operation.
  5956  //
  5957  // The context must be non-nil and will be used for request cancellation. If
  5958  // the context is nil a panic will occur. In the future the SDK may create
  5959  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5960  // for more information on using Contexts.
  5961  func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
  5962  	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
  5963  	req.SetContext(ctx)
  5964  	req.ApplyOptions(opts...)
  5965  	return out, req.Send()
  5966  }
  5967  
  5968  const opDetachStaticIp = "DetachStaticIp"
  5969  
  5970  // DetachStaticIpRequest generates a "aws/request.Request" representing the
  5971  // client's request for the DetachStaticIp operation. The "output" return
  5972  // value will be populated with the request's response once the request completes
  5973  // successfully.
  5974  //
  5975  // Use "Send" method on the returned Request to send the API call to the service.
  5976  // the "output" return value is not valid until after Send returns without error.
  5977  //
  5978  // See DetachStaticIp for more information on using the DetachStaticIp
  5979  // API call, and error handling.
  5980  //
  5981  // This method is useful when you want to inject custom logic or configuration
  5982  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5983  //
  5984  //
  5985  //    // Example sending a request using the DetachStaticIpRequest method.
  5986  //    req, resp := client.DetachStaticIpRequest(params)
  5987  //
  5988  //    err := req.Send()
  5989  //    if err == nil { // resp is now filled
  5990  //        fmt.Println(resp)
  5991  //    }
  5992  //
  5993  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
  5994  func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
  5995  	op := &request.Operation{
  5996  		Name:       opDetachStaticIp,
  5997  		HTTPMethod: "POST",
  5998  		HTTPPath:   "/",
  5999  	}
  6000  
  6001  	if input == nil {
  6002  		input = &DetachStaticIpInput{}
  6003  	}
  6004  
  6005  	output = &DetachStaticIpOutput{}
  6006  	req = c.newRequest(op, input, output)
  6007  	return
  6008  }
  6009  
  6010  // DetachStaticIp API operation for Amazon Lightsail.
  6011  //
  6012  // Detaches a static IP from the Amazon Lightsail instance to which it is attached.
  6013  //
  6014  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6015  // with awserr.Error's Code and Message methods to get detailed information about
  6016  // the error.
  6017  //
  6018  // See the AWS API reference guide for Amazon Lightsail's
  6019  // API operation DetachStaticIp for usage and error information.
  6020  //
  6021  // Returned Error Types:
  6022  //   * ServiceException
  6023  //   A general service exception.
  6024  //
  6025  //   * InvalidInputException
  6026  //   Lightsail throws this exception when user input does not conform to the validation
  6027  //   rules of an input field.
  6028  //
  6029  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6030  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6031  //   view, or edit these resources.
  6032  //
  6033  //   * NotFoundException
  6034  //   Lightsail throws this exception when it cannot find a resource.
  6035  //
  6036  //   * OperationFailureException
  6037  //   Lightsail throws this exception when an operation fails to execute.
  6038  //
  6039  //   * AccessDeniedException
  6040  //   Lightsail throws this exception when the user cannot be authenticated or
  6041  //   uses invalid credentials to access a resource.
  6042  //
  6043  //   * AccountSetupInProgressException
  6044  //   Lightsail throws this exception when an account is still in the setup in
  6045  //   progress state.
  6046  //
  6047  //   * UnauthenticatedException
  6048  //   Lightsail throws this exception when the user has not been authenticated.
  6049  //
  6050  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
  6051  func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
  6052  	req, out := c.DetachStaticIpRequest(input)
  6053  	return out, req.Send()
  6054  }
  6055  
  6056  // DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
  6057  // the ability to pass a context and additional request options.
  6058  //
  6059  // See DetachStaticIp for details on how to use this API operation.
  6060  //
  6061  // The context must be non-nil and will be used for request cancellation. If
  6062  // the context is nil a panic will occur. In the future the SDK may create
  6063  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6064  // for more information on using Contexts.
  6065  func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
  6066  	req, out := c.DetachStaticIpRequest(input)
  6067  	req.SetContext(ctx)
  6068  	req.ApplyOptions(opts...)
  6069  	return out, req.Send()
  6070  }
  6071  
  6072  const opDisableAddOn = "DisableAddOn"
  6073  
  6074  // DisableAddOnRequest generates a "aws/request.Request" representing the
  6075  // client's request for the DisableAddOn operation. The "output" return
  6076  // value will be populated with the request's response once the request completes
  6077  // successfully.
  6078  //
  6079  // Use "Send" method on the returned Request to send the API call to the service.
  6080  // the "output" return value is not valid until after Send returns without error.
  6081  //
  6082  // See DisableAddOn for more information on using the DisableAddOn
  6083  // API call, and error handling.
  6084  //
  6085  // This method is useful when you want to inject custom logic or configuration
  6086  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6087  //
  6088  //
  6089  //    // Example sending a request using the DisableAddOnRequest method.
  6090  //    req, resp := client.DisableAddOnRequest(params)
  6091  //
  6092  //    err := req.Send()
  6093  //    if err == nil { // resp is now filled
  6094  //        fmt.Println(resp)
  6095  //    }
  6096  //
  6097  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
  6098  func (c *Lightsail) DisableAddOnRequest(input *DisableAddOnInput) (req *request.Request, output *DisableAddOnOutput) {
  6099  	op := &request.Operation{
  6100  		Name:       opDisableAddOn,
  6101  		HTTPMethod: "POST",
  6102  		HTTPPath:   "/",
  6103  	}
  6104  
  6105  	if input == nil {
  6106  		input = &DisableAddOnInput{}
  6107  	}
  6108  
  6109  	output = &DisableAddOnOutput{}
  6110  	req = c.newRequest(op, input, output)
  6111  	return
  6112  }
  6113  
  6114  // DisableAddOn API operation for Amazon Lightsail.
  6115  //
  6116  // Disables an add-on for an Amazon Lightsail resource. For more information,
  6117  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
  6118  //
  6119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6120  // with awserr.Error's Code and Message methods to get detailed information about
  6121  // the error.
  6122  //
  6123  // See the AWS API reference guide for Amazon Lightsail's
  6124  // API operation DisableAddOn for usage and error information.
  6125  //
  6126  // Returned Error Types:
  6127  //   * ServiceException
  6128  //   A general service exception.
  6129  //
  6130  //   * InvalidInputException
  6131  //   Lightsail throws this exception when user input does not conform to the validation
  6132  //   rules of an input field.
  6133  //
  6134  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6135  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6136  //   view, or edit these resources.
  6137  //
  6138  //   * NotFoundException
  6139  //   Lightsail throws this exception when it cannot find a resource.
  6140  //
  6141  //   * OperationFailureException
  6142  //   Lightsail throws this exception when an operation fails to execute.
  6143  //
  6144  //   * AccessDeniedException
  6145  //   Lightsail throws this exception when the user cannot be authenticated or
  6146  //   uses invalid credentials to access a resource.
  6147  //
  6148  //   * UnauthenticatedException
  6149  //   Lightsail throws this exception when the user has not been authenticated.
  6150  //
  6151  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
  6152  func (c *Lightsail) DisableAddOn(input *DisableAddOnInput) (*DisableAddOnOutput, error) {
  6153  	req, out := c.DisableAddOnRequest(input)
  6154  	return out, req.Send()
  6155  }
  6156  
  6157  // DisableAddOnWithContext is the same as DisableAddOn with the addition of
  6158  // the ability to pass a context and additional request options.
  6159  //
  6160  // See DisableAddOn for details on how to use this API operation.
  6161  //
  6162  // The context must be non-nil and will be used for request cancellation. If
  6163  // the context is nil a panic will occur. In the future the SDK may create
  6164  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6165  // for more information on using Contexts.
  6166  func (c *Lightsail) DisableAddOnWithContext(ctx aws.Context, input *DisableAddOnInput, opts ...request.Option) (*DisableAddOnOutput, error) {
  6167  	req, out := c.DisableAddOnRequest(input)
  6168  	req.SetContext(ctx)
  6169  	req.ApplyOptions(opts...)
  6170  	return out, req.Send()
  6171  }
  6172  
  6173  const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
  6174  
  6175  // DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
  6176  // client's request for the DownloadDefaultKeyPair operation. The "output" return
  6177  // value will be populated with the request's response once the request completes
  6178  // successfully.
  6179  //
  6180  // Use "Send" method on the returned Request to send the API call to the service.
  6181  // the "output" return value is not valid until after Send returns without error.
  6182  //
  6183  // See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
  6184  // API call, and error handling.
  6185  //
  6186  // This method is useful when you want to inject custom logic or configuration
  6187  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6188  //
  6189  //
  6190  //    // Example sending a request using the DownloadDefaultKeyPairRequest method.
  6191  //    req, resp := client.DownloadDefaultKeyPairRequest(params)
  6192  //
  6193  //    err := req.Send()
  6194  //    if err == nil { // resp is now filled
  6195  //        fmt.Println(resp)
  6196  //    }
  6197  //
  6198  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
  6199  func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
  6200  	op := &request.Operation{
  6201  		Name:       opDownloadDefaultKeyPair,
  6202  		HTTPMethod: "POST",
  6203  		HTTPPath:   "/",
  6204  	}
  6205  
  6206  	if input == nil {
  6207  		input = &DownloadDefaultKeyPairInput{}
  6208  	}
  6209  
  6210  	output = &DownloadDefaultKeyPairOutput{}
  6211  	req = c.newRequest(op, input, output)
  6212  	return
  6213  }
  6214  
  6215  // DownloadDefaultKeyPair API operation for Amazon Lightsail.
  6216  //
  6217  // Downloads the default SSH key pair from the user's account.
  6218  //
  6219  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6220  // with awserr.Error's Code and Message methods to get detailed information about
  6221  // the error.
  6222  //
  6223  // See the AWS API reference guide for Amazon Lightsail's
  6224  // API operation DownloadDefaultKeyPair for usage and error information.
  6225  //
  6226  // Returned Error Types:
  6227  //   * ServiceException
  6228  //   A general service exception.
  6229  //
  6230  //   * InvalidInputException
  6231  //   Lightsail throws this exception when user input does not conform to the validation
  6232  //   rules of an input field.
  6233  //
  6234  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6235  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6236  //   view, or edit these resources.
  6237  //
  6238  //   * NotFoundException
  6239  //   Lightsail throws this exception when it cannot find a resource.
  6240  //
  6241  //   * OperationFailureException
  6242  //   Lightsail throws this exception when an operation fails to execute.
  6243  //
  6244  //   * AccessDeniedException
  6245  //   Lightsail throws this exception when the user cannot be authenticated or
  6246  //   uses invalid credentials to access a resource.
  6247  //
  6248  //   * AccountSetupInProgressException
  6249  //   Lightsail throws this exception when an account is still in the setup in
  6250  //   progress state.
  6251  //
  6252  //   * UnauthenticatedException
  6253  //   Lightsail throws this exception when the user has not been authenticated.
  6254  //
  6255  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
  6256  func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
  6257  	req, out := c.DownloadDefaultKeyPairRequest(input)
  6258  	return out, req.Send()
  6259  }
  6260  
  6261  // DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
  6262  // the ability to pass a context and additional request options.
  6263  //
  6264  // See DownloadDefaultKeyPair for details on how to use this API operation.
  6265  //
  6266  // The context must be non-nil and will be used for request cancellation. If
  6267  // the context is nil a panic will occur. In the future the SDK may create
  6268  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6269  // for more information on using Contexts.
  6270  func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
  6271  	req, out := c.DownloadDefaultKeyPairRequest(input)
  6272  	req.SetContext(ctx)
  6273  	req.ApplyOptions(opts...)
  6274  	return out, req.Send()
  6275  }
  6276  
  6277  const opEnableAddOn = "EnableAddOn"
  6278  
  6279  // EnableAddOnRequest generates a "aws/request.Request" representing the
  6280  // client's request for the EnableAddOn operation. The "output" return
  6281  // value will be populated with the request's response once the request completes
  6282  // successfully.
  6283  //
  6284  // Use "Send" method on the returned Request to send the API call to the service.
  6285  // the "output" return value is not valid until after Send returns without error.
  6286  //
  6287  // See EnableAddOn for more information on using the EnableAddOn
  6288  // API call, and error handling.
  6289  //
  6290  // This method is useful when you want to inject custom logic or configuration
  6291  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6292  //
  6293  //
  6294  //    // Example sending a request using the EnableAddOnRequest method.
  6295  //    req, resp := client.EnableAddOnRequest(params)
  6296  //
  6297  //    err := req.Send()
  6298  //    if err == nil { // resp is now filled
  6299  //        fmt.Println(resp)
  6300  //    }
  6301  //
  6302  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
  6303  func (c *Lightsail) EnableAddOnRequest(input *EnableAddOnInput) (req *request.Request, output *EnableAddOnOutput) {
  6304  	op := &request.Operation{
  6305  		Name:       opEnableAddOn,
  6306  		HTTPMethod: "POST",
  6307  		HTTPPath:   "/",
  6308  	}
  6309  
  6310  	if input == nil {
  6311  		input = &EnableAddOnInput{}
  6312  	}
  6313  
  6314  	output = &EnableAddOnOutput{}
  6315  	req = c.newRequest(op, input, output)
  6316  	return
  6317  }
  6318  
  6319  // EnableAddOn API operation for Amazon Lightsail.
  6320  //
  6321  // Enables or modifies an add-on for an Amazon Lightsail resource. For more
  6322  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
  6323  //
  6324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6325  // with awserr.Error's Code and Message methods to get detailed information about
  6326  // the error.
  6327  //
  6328  // See the AWS API reference guide for Amazon Lightsail's
  6329  // API operation EnableAddOn for usage and error information.
  6330  //
  6331  // Returned Error Types:
  6332  //   * ServiceException
  6333  //   A general service exception.
  6334  //
  6335  //   * InvalidInputException
  6336  //   Lightsail throws this exception when user input does not conform to the validation
  6337  //   rules of an input field.
  6338  //
  6339  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6340  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6341  //   view, or edit these resources.
  6342  //
  6343  //   * NotFoundException
  6344  //   Lightsail throws this exception when it cannot find a resource.
  6345  //
  6346  //   * OperationFailureException
  6347  //   Lightsail throws this exception when an operation fails to execute.
  6348  //
  6349  //   * AccessDeniedException
  6350  //   Lightsail throws this exception when the user cannot be authenticated or
  6351  //   uses invalid credentials to access a resource.
  6352  //
  6353  //   * UnauthenticatedException
  6354  //   Lightsail throws this exception when the user has not been authenticated.
  6355  //
  6356  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
  6357  func (c *Lightsail) EnableAddOn(input *EnableAddOnInput) (*EnableAddOnOutput, error) {
  6358  	req, out := c.EnableAddOnRequest(input)
  6359  	return out, req.Send()
  6360  }
  6361  
  6362  // EnableAddOnWithContext is the same as EnableAddOn with the addition of
  6363  // the ability to pass a context and additional request options.
  6364  //
  6365  // See EnableAddOn for details on how to use this API operation.
  6366  //
  6367  // The context must be non-nil and will be used for request cancellation. If
  6368  // the context is nil a panic will occur. In the future the SDK may create
  6369  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6370  // for more information on using Contexts.
  6371  func (c *Lightsail) EnableAddOnWithContext(ctx aws.Context, input *EnableAddOnInput, opts ...request.Option) (*EnableAddOnOutput, error) {
  6372  	req, out := c.EnableAddOnRequest(input)
  6373  	req.SetContext(ctx)
  6374  	req.ApplyOptions(opts...)
  6375  	return out, req.Send()
  6376  }
  6377  
  6378  const opExportSnapshot = "ExportSnapshot"
  6379  
  6380  // ExportSnapshotRequest generates a "aws/request.Request" representing the
  6381  // client's request for the ExportSnapshot operation. The "output" return
  6382  // value will be populated with the request's response once the request completes
  6383  // successfully.
  6384  //
  6385  // Use "Send" method on the returned Request to send the API call to the service.
  6386  // the "output" return value is not valid until after Send returns without error.
  6387  //
  6388  // See ExportSnapshot for more information on using the ExportSnapshot
  6389  // API call, and error handling.
  6390  //
  6391  // This method is useful when you want to inject custom logic or configuration
  6392  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6393  //
  6394  //
  6395  //    // Example sending a request using the ExportSnapshotRequest method.
  6396  //    req, resp := client.ExportSnapshotRequest(params)
  6397  //
  6398  //    err := req.Send()
  6399  //    if err == nil { // resp is now filled
  6400  //        fmt.Println(resp)
  6401  //    }
  6402  //
  6403  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
  6404  func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
  6405  	op := &request.Operation{
  6406  		Name:       opExportSnapshot,
  6407  		HTTPMethod: "POST",
  6408  		HTTPPath:   "/",
  6409  	}
  6410  
  6411  	if input == nil {
  6412  		input = &ExportSnapshotInput{}
  6413  	}
  6414  
  6415  	output = &ExportSnapshotOutput{}
  6416  	req = c.newRequest(op, input, output)
  6417  	return
  6418  }
  6419  
  6420  // ExportSnapshot API operation for Amazon Lightsail.
  6421  //
  6422  // Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
  6423  // Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
  6424  // record that can be used with the create cloud formation stack operation to
  6425  // create new Amazon EC2 instances.
  6426  //
  6427  // Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
  6428  // (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
  6429  // (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
  6430  // EBS volumes. Snapshots are exported to the same Amazon Web Services Region
  6431  // in Amazon EC2 as the source Lightsail snapshot.
  6432  //
  6433  // The export snapshot operation supports tag-based access control via resource
  6434  // tags applied to the resource identified by source snapshot name. For more
  6435  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  6436  //
  6437  // Use the get instance snapshots or get disk snapshots operations to get a
  6438  // list of snapshots that you can export to Amazon EC2.
  6439  //
  6440  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6441  // with awserr.Error's Code and Message methods to get detailed information about
  6442  // the error.
  6443  //
  6444  // See the AWS API reference guide for Amazon Lightsail's
  6445  // API operation ExportSnapshot for usage and error information.
  6446  //
  6447  // Returned Error Types:
  6448  //   * ServiceException
  6449  //   A general service exception.
  6450  //
  6451  //   * InvalidInputException
  6452  //   Lightsail throws this exception when user input does not conform to the validation
  6453  //   rules of an input field.
  6454  //
  6455  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6456  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6457  //   view, or edit these resources.
  6458  //
  6459  //   * NotFoundException
  6460  //   Lightsail throws this exception when it cannot find a resource.
  6461  //
  6462  //   * OperationFailureException
  6463  //   Lightsail throws this exception when an operation fails to execute.
  6464  //
  6465  //   * AccessDeniedException
  6466  //   Lightsail throws this exception when the user cannot be authenticated or
  6467  //   uses invalid credentials to access a resource.
  6468  //
  6469  //   * AccountSetupInProgressException
  6470  //   Lightsail throws this exception when an account is still in the setup in
  6471  //   progress state.
  6472  //
  6473  //   * UnauthenticatedException
  6474  //   Lightsail throws this exception when the user has not been authenticated.
  6475  //
  6476  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
  6477  func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
  6478  	req, out := c.ExportSnapshotRequest(input)
  6479  	return out, req.Send()
  6480  }
  6481  
  6482  // ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
  6483  // the ability to pass a context and additional request options.
  6484  //
  6485  // See ExportSnapshot for details on how to use this API operation.
  6486  //
  6487  // The context must be non-nil and will be used for request cancellation. If
  6488  // the context is nil a panic will occur. In the future the SDK may create
  6489  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6490  // for more information on using Contexts.
  6491  func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
  6492  	req, out := c.ExportSnapshotRequest(input)
  6493  	req.SetContext(ctx)
  6494  	req.ApplyOptions(opts...)
  6495  	return out, req.Send()
  6496  }
  6497  
  6498  const opGetActiveNames = "GetActiveNames"
  6499  
  6500  // GetActiveNamesRequest generates a "aws/request.Request" representing the
  6501  // client's request for the GetActiveNames operation. The "output" return
  6502  // value will be populated with the request's response once the request completes
  6503  // successfully.
  6504  //
  6505  // Use "Send" method on the returned Request to send the API call to the service.
  6506  // the "output" return value is not valid until after Send returns without error.
  6507  //
  6508  // See GetActiveNames for more information on using the GetActiveNames
  6509  // API call, and error handling.
  6510  //
  6511  // This method is useful when you want to inject custom logic or configuration
  6512  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6513  //
  6514  //
  6515  //    // Example sending a request using the GetActiveNamesRequest method.
  6516  //    req, resp := client.GetActiveNamesRequest(params)
  6517  //
  6518  //    err := req.Send()
  6519  //    if err == nil { // resp is now filled
  6520  //        fmt.Println(resp)
  6521  //    }
  6522  //
  6523  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
  6524  func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
  6525  	op := &request.Operation{
  6526  		Name:       opGetActiveNames,
  6527  		HTTPMethod: "POST",
  6528  		HTTPPath:   "/",
  6529  	}
  6530  
  6531  	if input == nil {
  6532  		input = &GetActiveNamesInput{}
  6533  	}
  6534  
  6535  	output = &GetActiveNamesOutput{}
  6536  	req = c.newRequest(op, input, output)
  6537  	return
  6538  }
  6539  
  6540  // GetActiveNames API operation for Amazon Lightsail.
  6541  //
  6542  // Returns the names of all active (not deleted) resources.
  6543  //
  6544  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6545  // with awserr.Error's Code and Message methods to get detailed information about
  6546  // the error.
  6547  //
  6548  // See the AWS API reference guide for Amazon Lightsail's
  6549  // API operation GetActiveNames for usage and error information.
  6550  //
  6551  // Returned Error Types:
  6552  //   * ServiceException
  6553  //   A general service exception.
  6554  //
  6555  //   * InvalidInputException
  6556  //   Lightsail throws this exception when user input does not conform to the validation
  6557  //   rules of an input field.
  6558  //
  6559  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6560  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6561  //   view, or edit these resources.
  6562  //
  6563  //   * NotFoundException
  6564  //   Lightsail throws this exception when it cannot find a resource.
  6565  //
  6566  //   * OperationFailureException
  6567  //   Lightsail throws this exception when an operation fails to execute.
  6568  //
  6569  //   * AccessDeniedException
  6570  //   Lightsail throws this exception when the user cannot be authenticated or
  6571  //   uses invalid credentials to access a resource.
  6572  //
  6573  //   * AccountSetupInProgressException
  6574  //   Lightsail throws this exception when an account is still in the setup in
  6575  //   progress state.
  6576  //
  6577  //   * UnauthenticatedException
  6578  //   Lightsail throws this exception when the user has not been authenticated.
  6579  //
  6580  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
  6581  func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
  6582  	req, out := c.GetActiveNamesRequest(input)
  6583  	return out, req.Send()
  6584  }
  6585  
  6586  // GetActiveNamesWithContext is the same as GetActiveNames with the addition of
  6587  // the ability to pass a context and additional request options.
  6588  //
  6589  // See GetActiveNames for details on how to use this API operation.
  6590  //
  6591  // The context must be non-nil and will be used for request cancellation. If
  6592  // the context is nil a panic will occur. In the future the SDK may create
  6593  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6594  // for more information on using Contexts.
  6595  func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
  6596  	req, out := c.GetActiveNamesRequest(input)
  6597  	req.SetContext(ctx)
  6598  	req.ApplyOptions(opts...)
  6599  	return out, req.Send()
  6600  }
  6601  
  6602  const opGetAlarms = "GetAlarms"
  6603  
  6604  // GetAlarmsRequest generates a "aws/request.Request" representing the
  6605  // client's request for the GetAlarms operation. The "output" return
  6606  // value will be populated with the request's response once the request completes
  6607  // successfully.
  6608  //
  6609  // Use "Send" method on the returned Request to send the API call to the service.
  6610  // the "output" return value is not valid until after Send returns without error.
  6611  //
  6612  // See GetAlarms for more information on using the GetAlarms
  6613  // API call, and error handling.
  6614  //
  6615  // This method is useful when you want to inject custom logic or configuration
  6616  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6617  //
  6618  //
  6619  //    // Example sending a request using the GetAlarmsRequest method.
  6620  //    req, resp := client.GetAlarmsRequest(params)
  6621  //
  6622  //    err := req.Send()
  6623  //    if err == nil { // resp is now filled
  6624  //        fmt.Println(resp)
  6625  //    }
  6626  //
  6627  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
  6628  func (c *Lightsail) GetAlarmsRequest(input *GetAlarmsInput) (req *request.Request, output *GetAlarmsOutput) {
  6629  	op := &request.Operation{
  6630  		Name:       opGetAlarms,
  6631  		HTTPMethod: "POST",
  6632  		HTTPPath:   "/",
  6633  	}
  6634  
  6635  	if input == nil {
  6636  		input = &GetAlarmsInput{}
  6637  	}
  6638  
  6639  	output = &GetAlarmsOutput{}
  6640  	req = c.newRequest(op, input, output)
  6641  	return
  6642  }
  6643  
  6644  // GetAlarms API operation for Amazon Lightsail.
  6645  //
  6646  // Returns information about the configured alarms. Specify an alarm name in
  6647  // your request to return information about a specific alarm, or specify a monitored
  6648  // resource name to return information about all alarms for a specific resource.
  6649  //
  6650  // An alarm is used to monitor a single metric for one of your resources. When
  6651  // a metric condition is met, the alarm can notify you by email, SMS text message,
  6652  // and a banner displayed on the Amazon Lightsail console. For more information,
  6653  // see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
  6654  //
  6655  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6656  // with awserr.Error's Code and Message methods to get detailed information about
  6657  // the error.
  6658  //
  6659  // See the AWS API reference guide for Amazon Lightsail's
  6660  // API operation GetAlarms for usage and error information.
  6661  //
  6662  // Returned Error Types:
  6663  //   * ServiceException
  6664  //   A general service exception.
  6665  //
  6666  //   * InvalidInputException
  6667  //   Lightsail throws this exception when user input does not conform to the validation
  6668  //   rules of an input field.
  6669  //
  6670  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6671  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6672  //   view, or edit these resources.
  6673  //
  6674  //   * OperationFailureException
  6675  //   Lightsail throws this exception when an operation fails to execute.
  6676  //
  6677  //   * UnauthenticatedException
  6678  //   Lightsail throws this exception when the user has not been authenticated.
  6679  //
  6680  //   * AccessDeniedException
  6681  //   Lightsail throws this exception when the user cannot be authenticated or
  6682  //   uses invalid credentials to access a resource.
  6683  //
  6684  //   * NotFoundException
  6685  //   Lightsail throws this exception when it cannot find a resource.
  6686  //
  6687  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
  6688  func (c *Lightsail) GetAlarms(input *GetAlarmsInput) (*GetAlarmsOutput, error) {
  6689  	req, out := c.GetAlarmsRequest(input)
  6690  	return out, req.Send()
  6691  }
  6692  
  6693  // GetAlarmsWithContext is the same as GetAlarms with the addition of
  6694  // the ability to pass a context and additional request options.
  6695  //
  6696  // See GetAlarms for details on how to use this API operation.
  6697  //
  6698  // The context must be non-nil and will be used for request cancellation. If
  6699  // the context is nil a panic will occur. In the future the SDK may create
  6700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6701  // for more information on using Contexts.
  6702  func (c *Lightsail) GetAlarmsWithContext(ctx aws.Context, input *GetAlarmsInput, opts ...request.Option) (*GetAlarmsOutput, error) {
  6703  	req, out := c.GetAlarmsRequest(input)
  6704  	req.SetContext(ctx)
  6705  	req.ApplyOptions(opts...)
  6706  	return out, req.Send()
  6707  }
  6708  
  6709  const opGetAutoSnapshots = "GetAutoSnapshots"
  6710  
  6711  // GetAutoSnapshotsRequest generates a "aws/request.Request" representing the
  6712  // client's request for the GetAutoSnapshots operation. The "output" return
  6713  // value will be populated with the request's response once the request completes
  6714  // successfully.
  6715  //
  6716  // Use "Send" method on the returned Request to send the API call to the service.
  6717  // the "output" return value is not valid until after Send returns without error.
  6718  //
  6719  // See GetAutoSnapshots for more information on using the GetAutoSnapshots
  6720  // API call, and error handling.
  6721  //
  6722  // This method is useful when you want to inject custom logic or configuration
  6723  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6724  //
  6725  //
  6726  //    // Example sending a request using the GetAutoSnapshotsRequest method.
  6727  //    req, resp := client.GetAutoSnapshotsRequest(params)
  6728  //
  6729  //    err := req.Send()
  6730  //    if err == nil { // resp is now filled
  6731  //        fmt.Println(resp)
  6732  //    }
  6733  //
  6734  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
  6735  func (c *Lightsail) GetAutoSnapshotsRequest(input *GetAutoSnapshotsInput) (req *request.Request, output *GetAutoSnapshotsOutput) {
  6736  	op := &request.Operation{
  6737  		Name:       opGetAutoSnapshots,
  6738  		HTTPMethod: "POST",
  6739  		HTTPPath:   "/",
  6740  	}
  6741  
  6742  	if input == nil {
  6743  		input = &GetAutoSnapshotsInput{}
  6744  	}
  6745  
  6746  	output = &GetAutoSnapshotsOutput{}
  6747  	req = c.newRequest(op, input, output)
  6748  	return
  6749  }
  6750  
  6751  // GetAutoSnapshots API operation for Amazon Lightsail.
  6752  //
  6753  // Returns the available automatic snapshots for an instance or disk. For more
  6754  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
  6755  //
  6756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6757  // with awserr.Error's Code and Message methods to get detailed information about
  6758  // the error.
  6759  //
  6760  // See the AWS API reference guide for Amazon Lightsail's
  6761  // API operation GetAutoSnapshots for usage and error information.
  6762  //
  6763  // Returned Error Types:
  6764  //   * ServiceException
  6765  //   A general service exception.
  6766  //
  6767  //   * InvalidInputException
  6768  //   Lightsail throws this exception when user input does not conform to the validation
  6769  //   rules of an input field.
  6770  //
  6771  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6772  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6773  //   view, or edit these resources.
  6774  //
  6775  //   * NotFoundException
  6776  //   Lightsail throws this exception when it cannot find a resource.
  6777  //
  6778  //   * OperationFailureException
  6779  //   Lightsail throws this exception when an operation fails to execute.
  6780  //
  6781  //   * AccessDeniedException
  6782  //   Lightsail throws this exception when the user cannot be authenticated or
  6783  //   uses invalid credentials to access a resource.
  6784  //
  6785  //   * UnauthenticatedException
  6786  //   Lightsail throws this exception when the user has not been authenticated.
  6787  //
  6788  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
  6789  func (c *Lightsail) GetAutoSnapshots(input *GetAutoSnapshotsInput) (*GetAutoSnapshotsOutput, error) {
  6790  	req, out := c.GetAutoSnapshotsRequest(input)
  6791  	return out, req.Send()
  6792  }
  6793  
  6794  // GetAutoSnapshotsWithContext is the same as GetAutoSnapshots with the addition of
  6795  // the ability to pass a context and additional request options.
  6796  //
  6797  // See GetAutoSnapshots for details on how to use this API operation.
  6798  //
  6799  // The context must be non-nil and will be used for request cancellation. If
  6800  // the context is nil a panic will occur. In the future the SDK may create
  6801  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6802  // for more information on using Contexts.
  6803  func (c *Lightsail) GetAutoSnapshotsWithContext(ctx aws.Context, input *GetAutoSnapshotsInput, opts ...request.Option) (*GetAutoSnapshotsOutput, error) {
  6804  	req, out := c.GetAutoSnapshotsRequest(input)
  6805  	req.SetContext(ctx)
  6806  	req.ApplyOptions(opts...)
  6807  	return out, req.Send()
  6808  }
  6809  
  6810  const opGetBlueprints = "GetBlueprints"
  6811  
  6812  // GetBlueprintsRequest generates a "aws/request.Request" representing the
  6813  // client's request for the GetBlueprints operation. The "output" return
  6814  // value will be populated with the request's response once the request completes
  6815  // successfully.
  6816  //
  6817  // Use "Send" method on the returned Request to send the API call to the service.
  6818  // the "output" return value is not valid until after Send returns without error.
  6819  //
  6820  // See GetBlueprints for more information on using the GetBlueprints
  6821  // API call, and error handling.
  6822  //
  6823  // This method is useful when you want to inject custom logic or configuration
  6824  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6825  //
  6826  //
  6827  //    // Example sending a request using the GetBlueprintsRequest method.
  6828  //    req, resp := client.GetBlueprintsRequest(params)
  6829  //
  6830  //    err := req.Send()
  6831  //    if err == nil { // resp is now filled
  6832  //        fmt.Println(resp)
  6833  //    }
  6834  //
  6835  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
  6836  func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
  6837  	op := &request.Operation{
  6838  		Name:       opGetBlueprints,
  6839  		HTTPMethod: "POST",
  6840  		HTTPPath:   "/",
  6841  	}
  6842  
  6843  	if input == nil {
  6844  		input = &GetBlueprintsInput{}
  6845  	}
  6846  
  6847  	output = &GetBlueprintsOutput{}
  6848  	req = c.newRequest(op, input, output)
  6849  	return
  6850  }
  6851  
  6852  // GetBlueprints API operation for Amazon Lightsail.
  6853  //
  6854  // Returns the list of available instance images, or blueprints. You can use
  6855  // a blueprint to create a new instance already running a specific operating
  6856  // system, as well as a preinstalled app or development stack. The software
  6857  // each instance is running depends on the blueprint image you choose.
  6858  //
  6859  // Use active blueprints when creating new instances. Inactive blueprints are
  6860  // listed to support customers with existing instances and are not necessarily
  6861  // available to create new instances. Blueprints are marked inactive when they
  6862  // become outdated due to operating system updates or new application releases.
  6863  //
  6864  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6865  // with awserr.Error's Code and Message methods to get detailed information about
  6866  // the error.
  6867  //
  6868  // See the AWS API reference guide for Amazon Lightsail's
  6869  // API operation GetBlueprints for usage and error information.
  6870  //
  6871  // Returned Error Types:
  6872  //   * ServiceException
  6873  //   A general service exception.
  6874  //
  6875  //   * InvalidInputException
  6876  //   Lightsail throws this exception when user input does not conform to the validation
  6877  //   rules of an input field.
  6878  //
  6879  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6880  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6881  //   view, or edit these resources.
  6882  //
  6883  //   * NotFoundException
  6884  //   Lightsail throws this exception when it cannot find a resource.
  6885  //
  6886  //   * OperationFailureException
  6887  //   Lightsail throws this exception when an operation fails to execute.
  6888  //
  6889  //   * AccessDeniedException
  6890  //   Lightsail throws this exception when the user cannot be authenticated or
  6891  //   uses invalid credentials to access a resource.
  6892  //
  6893  //   * AccountSetupInProgressException
  6894  //   Lightsail throws this exception when an account is still in the setup in
  6895  //   progress state.
  6896  //
  6897  //   * UnauthenticatedException
  6898  //   Lightsail throws this exception when the user has not been authenticated.
  6899  //
  6900  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
  6901  func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
  6902  	req, out := c.GetBlueprintsRequest(input)
  6903  	return out, req.Send()
  6904  }
  6905  
  6906  // GetBlueprintsWithContext is the same as GetBlueprints with the addition of
  6907  // the ability to pass a context and additional request options.
  6908  //
  6909  // See GetBlueprints for details on how to use this API operation.
  6910  //
  6911  // The context must be non-nil and will be used for request cancellation. If
  6912  // the context is nil a panic will occur. In the future the SDK may create
  6913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6914  // for more information on using Contexts.
  6915  func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
  6916  	req, out := c.GetBlueprintsRequest(input)
  6917  	req.SetContext(ctx)
  6918  	req.ApplyOptions(opts...)
  6919  	return out, req.Send()
  6920  }
  6921  
  6922  const opGetBucketAccessKeys = "GetBucketAccessKeys"
  6923  
  6924  // GetBucketAccessKeysRequest generates a "aws/request.Request" representing the
  6925  // client's request for the GetBucketAccessKeys operation. The "output" return
  6926  // value will be populated with the request's response once the request completes
  6927  // successfully.
  6928  //
  6929  // Use "Send" method on the returned Request to send the API call to the service.
  6930  // the "output" return value is not valid until after Send returns without error.
  6931  //
  6932  // See GetBucketAccessKeys for more information on using the GetBucketAccessKeys
  6933  // API call, and error handling.
  6934  //
  6935  // This method is useful when you want to inject custom logic or configuration
  6936  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6937  //
  6938  //
  6939  //    // Example sending a request using the GetBucketAccessKeysRequest method.
  6940  //    req, resp := client.GetBucketAccessKeysRequest(params)
  6941  //
  6942  //    err := req.Send()
  6943  //    if err == nil { // resp is now filled
  6944  //        fmt.Println(resp)
  6945  //    }
  6946  //
  6947  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketAccessKeys
  6948  func (c *Lightsail) GetBucketAccessKeysRequest(input *GetBucketAccessKeysInput) (req *request.Request, output *GetBucketAccessKeysOutput) {
  6949  	op := &request.Operation{
  6950  		Name:       opGetBucketAccessKeys,
  6951  		HTTPMethod: "POST",
  6952  		HTTPPath:   "/",
  6953  	}
  6954  
  6955  	if input == nil {
  6956  		input = &GetBucketAccessKeysInput{}
  6957  	}
  6958  
  6959  	output = &GetBucketAccessKeysOutput{}
  6960  	req = c.newRequest(op, input, output)
  6961  	return
  6962  }
  6963  
  6964  // GetBucketAccessKeys API operation for Amazon Lightsail.
  6965  //
  6966  // Returns the existing access key IDs for the specified Amazon Lightsail bucket.
  6967  //
  6968  // This action does not return the secret access key value of an access key.
  6969  // You can get a secret access key only when you create it from the response
  6970  // of the CreateBucketAccessKey action. If you lose the secret access key, you
  6971  // must create a new access key.
  6972  //
  6973  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6974  // with awserr.Error's Code and Message methods to get detailed information about
  6975  // the error.
  6976  //
  6977  // See the AWS API reference guide for Amazon Lightsail's
  6978  // API operation GetBucketAccessKeys for usage and error information.
  6979  //
  6980  // Returned Error Types:
  6981  //   * AccessDeniedException
  6982  //   Lightsail throws this exception when the user cannot be authenticated or
  6983  //   uses invalid credentials to access a resource.
  6984  //
  6985  //   * InvalidInputException
  6986  //   Lightsail throws this exception when user input does not conform to the validation
  6987  //   rules of an input field.
  6988  //
  6989  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  6990  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  6991  //   view, or edit these resources.
  6992  //
  6993  //   * NotFoundException
  6994  //   Lightsail throws this exception when it cannot find a resource.
  6995  //
  6996  //   * ServiceException
  6997  //   A general service exception.
  6998  //
  6999  //   * UnauthenticatedException
  7000  //   Lightsail throws this exception when the user has not been authenticated.
  7001  //
  7002  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketAccessKeys
  7003  func (c *Lightsail) GetBucketAccessKeys(input *GetBucketAccessKeysInput) (*GetBucketAccessKeysOutput, error) {
  7004  	req, out := c.GetBucketAccessKeysRequest(input)
  7005  	return out, req.Send()
  7006  }
  7007  
  7008  // GetBucketAccessKeysWithContext is the same as GetBucketAccessKeys with the addition of
  7009  // the ability to pass a context and additional request options.
  7010  //
  7011  // See GetBucketAccessKeys for details on how to use this API operation.
  7012  //
  7013  // The context must be non-nil and will be used for request cancellation. If
  7014  // the context is nil a panic will occur. In the future the SDK may create
  7015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7016  // for more information on using Contexts.
  7017  func (c *Lightsail) GetBucketAccessKeysWithContext(ctx aws.Context, input *GetBucketAccessKeysInput, opts ...request.Option) (*GetBucketAccessKeysOutput, error) {
  7018  	req, out := c.GetBucketAccessKeysRequest(input)
  7019  	req.SetContext(ctx)
  7020  	req.ApplyOptions(opts...)
  7021  	return out, req.Send()
  7022  }
  7023  
  7024  const opGetBucketBundles = "GetBucketBundles"
  7025  
  7026  // GetBucketBundlesRequest generates a "aws/request.Request" representing the
  7027  // client's request for the GetBucketBundles operation. The "output" return
  7028  // value will be populated with the request's response once the request completes
  7029  // successfully.
  7030  //
  7031  // Use "Send" method on the returned Request to send the API call to the service.
  7032  // the "output" return value is not valid until after Send returns without error.
  7033  //
  7034  // See GetBucketBundles for more information on using the GetBucketBundles
  7035  // API call, and error handling.
  7036  //
  7037  // This method is useful when you want to inject custom logic or configuration
  7038  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7039  //
  7040  //
  7041  //    // Example sending a request using the GetBucketBundlesRequest method.
  7042  //    req, resp := client.GetBucketBundlesRequest(params)
  7043  //
  7044  //    err := req.Send()
  7045  //    if err == nil { // resp is now filled
  7046  //        fmt.Println(resp)
  7047  //    }
  7048  //
  7049  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketBundles
  7050  func (c *Lightsail) GetBucketBundlesRequest(input *GetBucketBundlesInput) (req *request.Request, output *GetBucketBundlesOutput) {
  7051  	op := &request.Operation{
  7052  		Name:       opGetBucketBundles,
  7053  		HTTPMethod: "POST",
  7054  		HTTPPath:   "/",
  7055  	}
  7056  
  7057  	if input == nil {
  7058  		input = &GetBucketBundlesInput{}
  7059  	}
  7060  
  7061  	output = &GetBucketBundlesOutput{}
  7062  	req = c.newRequest(op, input, output)
  7063  	return
  7064  }
  7065  
  7066  // GetBucketBundles API operation for Amazon Lightsail.
  7067  //
  7068  // Returns the bundles that you can apply to a Amazon Lightsail bucket.
  7069  //
  7070  // The bucket bundle specifies the monthly cost, storage quota, and data transfer
  7071  // quota for a bucket.
  7072  //
  7073  // Use the UpdateBucketBundle action to update the bundle for a bucket.
  7074  //
  7075  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7076  // with awserr.Error's Code and Message methods to get detailed information about
  7077  // the error.
  7078  //
  7079  // See the AWS API reference guide for Amazon Lightsail's
  7080  // API operation GetBucketBundles for usage and error information.
  7081  //
  7082  // Returned Error Types:
  7083  //   * AccessDeniedException
  7084  //   Lightsail throws this exception when the user cannot be authenticated or
  7085  //   uses invalid credentials to access a resource.
  7086  //
  7087  //   * InvalidInputException
  7088  //   Lightsail throws this exception when user input does not conform to the validation
  7089  //   rules of an input field.
  7090  //
  7091  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7092  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7093  //   view, or edit these resources.
  7094  //
  7095  //   * ServiceException
  7096  //   A general service exception.
  7097  //
  7098  //   * UnauthenticatedException
  7099  //   Lightsail throws this exception when the user has not been authenticated.
  7100  //
  7101  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketBundles
  7102  func (c *Lightsail) GetBucketBundles(input *GetBucketBundlesInput) (*GetBucketBundlesOutput, error) {
  7103  	req, out := c.GetBucketBundlesRequest(input)
  7104  	return out, req.Send()
  7105  }
  7106  
  7107  // GetBucketBundlesWithContext is the same as GetBucketBundles with the addition of
  7108  // the ability to pass a context and additional request options.
  7109  //
  7110  // See GetBucketBundles for details on how to use this API operation.
  7111  //
  7112  // The context must be non-nil and will be used for request cancellation. If
  7113  // the context is nil a panic will occur. In the future the SDK may create
  7114  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7115  // for more information on using Contexts.
  7116  func (c *Lightsail) GetBucketBundlesWithContext(ctx aws.Context, input *GetBucketBundlesInput, opts ...request.Option) (*GetBucketBundlesOutput, error) {
  7117  	req, out := c.GetBucketBundlesRequest(input)
  7118  	req.SetContext(ctx)
  7119  	req.ApplyOptions(opts...)
  7120  	return out, req.Send()
  7121  }
  7122  
  7123  const opGetBucketMetricData = "GetBucketMetricData"
  7124  
  7125  // GetBucketMetricDataRequest generates a "aws/request.Request" representing the
  7126  // client's request for the GetBucketMetricData operation. The "output" return
  7127  // value will be populated with the request's response once the request completes
  7128  // successfully.
  7129  //
  7130  // Use "Send" method on the returned Request to send the API call to the service.
  7131  // the "output" return value is not valid until after Send returns without error.
  7132  //
  7133  // See GetBucketMetricData for more information on using the GetBucketMetricData
  7134  // API call, and error handling.
  7135  //
  7136  // This method is useful when you want to inject custom logic or configuration
  7137  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7138  //
  7139  //
  7140  //    // Example sending a request using the GetBucketMetricDataRequest method.
  7141  //    req, resp := client.GetBucketMetricDataRequest(params)
  7142  //
  7143  //    err := req.Send()
  7144  //    if err == nil { // resp is now filled
  7145  //        fmt.Println(resp)
  7146  //    }
  7147  //
  7148  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketMetricData
  7149  func (c *Lightsail) GetBucketMetricDataRequest(input *GetBucketMetricDataInput) (req *request.Request, output *GetBucketMetricDataOutput) {
  7150  	op := &request.Operation{
  7151  		Name:       opGetBucketMetricData,
  7152  		HTTPMethod: "POST",
  7153  		HTTPPath:   "/",
  7154  	}
  7155  
  7156  	if input == nil {
  7157  		input = &GetBucketMetricDataInput{}
  7158  	}
  7159  
  7160  	output = &GetBucketMetricDataOutput{}
  7161  	req = c.newRequest(op, input, output)
  7162  	return
  7163  }
  7164  
  7165  // GetBucketMetricData API operation for Amazon Lightsail.
  7166  //
  7167  // Returns the data points of a specific metric for an Amazon Lightsail bucket.
  7168  //
  7169  // Metrics report the utilization of a bucket. View and collect metric data
  7170  // regularly to monitor the number of objects stored in a bucket (including
  7171  // object versions) and the storage space used by those objects.
  7172  //
  7173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7174  // with awserr.Error's Code and Message methods to get detailed information about
  7175  // the error.
  7176  //
  7177  // See the AWS API reference guide for Amazon Lightsail's
  7178  // API operation GetBucketMetricData for usage and error information.
  7179  //
  7180  // Returned Error Types:
  7181  //   * AccessDeniedException
  7182  //   Lightsail throws this exception when the user cannot be authenticated or
  7183  //   uses invalid credentials to access a resource.
  7184  //
  7185  //   * InvalidInputException
  7186  //   Lightsail throws this exception when user input does not conform to the validation
  7187  //   rules of an input field.
  7188  //
  7189  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7190  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7191  //   view, or edit these resources.
  7192  //
  7193  //   * NotFoundException
  7194  //   Lightsail throws this exception when it cannot find a resource.
  7195  //
  7196  //   * ServiceException
  7197  //   A general service exception.
  7198  //
  7199  //   * UnauthenticatedException
  7200  //   Lightsail throws this exception when the user has not been authenticated.
  7201  //
  7202  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketMetricData
  7203  func (c *Lightsail) GetBucketMetricData(input *GetBucketMetricDataInput) (*GetBucketMetricDataOutput, error) {
  7204  	req, out := c.GetBucketMetricDataRequest(input)
  7205  	return out, req.Send()
  7206  }
  7207  
  7208  // GetBucketMetricDataWithContext is the same as GetBucketMetricData with the addition of
  7209  // the ability to pass a context and additional request options.
  7210  //
  7211  // See GetBucketMetricData for details on how to use this API operation.
  7212  //
  7213  // The context must be non-nil and will be used for request cancellation. If
  7214  // the context is nil a panic will occur. In the future the SDK may create
  7215  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7216  // for more information on using Contexts.
  7217  func (c *Lightsail) GetBucketMetricDataWithContext(ctx aws.Context, input *GetBucketMetricDataInput, opts ...request.Option) (*GetBucketMetricDataOutput, error) {
  7218  	req, out := c.GetBucketMetricDataRequest(input)
  7219  	req.SetContext(ctx)
  7220  	req.ApplyOptions(opts...)
  7221  	return out, req.Send()
  7222  }
  7223  
  7224  const opGetBuckets = "GetBuckets"
  7225  
  7226  // GetBucketsRequest generates a "aws/request.Request" representing the
  7227  // client's request for the GetBuckets operation. The "output" return
  7228  // value will be populated with the request's response once the request completes
  7229  // successfully.
  7230  //
  7231  // Use "Send" method on the returned Request to send the API call to the service.
  7232  // the "output" return value is not valid until after Send returns without error.
  7233  //
  7234  // See GetBuckets for more information on using the GetBuckets
  7235  // API call, and error handling.
  7236  //
  7237  // This method is useful when you want to inject custom logic or configuration
  7238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7239  //
  7240  //
  7241  //    // Example sending a request using the GetBucketsRequest method.
  7242  //    req, resp := client.GetBucketsRequest(params)
  7243  //
  7244  //    err := req.Send()
  7245  //    if err == nil { // resp is now filled
  7246  //        fmt.Println(resp)
  7247  //    }
  7248  //
  7249  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBuckets
  7250  func (c *Lightsail) GetBucketsRequest(input *GetBucketsInput) (req *request.Request, output *GetBucketsOutput) {
  7251  	op := &request.Operation{
  7252  		Name:       opGetBuckets,
  7253  		HTTPMethod: "POST",
  7254  		HTTPPath:   "/",
  7255  	}
  7256  
  7257  	if input == nil {
  7258  		input = &GetBucketsInput{}
  7259  	}
  7260  
  7261  	output = &GetBucketsOutput{}
  7262  	req = c.newRequest(op, input, output)
  7263  	return
  7264  }
  7265  
  7266  // GetBuckets API operation for Amazon Lightsail.
  7267  //
  7268  // Returns information about one or more Amazon Lightsail buckets.
  7269  //
  7270  // For more information about buckets, see Buckets in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/buckets-in-amazon-lightsail)
  7271  // in the Amazon Lightsail Developer Guide..
  7272  //
  7273  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7274  // with awserr.Error's Code and Message methods to get detailed information about
  7275  // the error.
  7276  //
  7277  // See the AWS API reference guide for Amazon Lightsail's
  7278  // API operation GetBuckets for usage and error information.
  7279  //
  7280  // Returned Error Types:
  7281  //   * AccessDeniedException
  7282  //   Lightsail throws this exception when the user cannot be authenticated or
  7283  //   uses invalid credentials to access a resource.
  7284  //
  7285  //   * InvalidInputException
  7286  //   Lightsail throws this exception when user input does not conform to the validation
  7287  //   rules of an input field.
  7288  //
  7289  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7290  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7291  //   view, or edit these resources.
  7292  //
  7293  //   * NotFoundException
  7294  //   Lightsail throws this exception when it cannot find a resource.
  7295  //
  7296  //   * ServiceException
  7297  //   A general service exception.
  7298  //
  7299  //   * UnauthenticatedException
  7300  //   Lightsail throws this exception when the user has not been authenticated.
  7301  //
  7302  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBuckets
  7303  func (c *Lightsail) GetBuckets(input *GetBucketsInput) (*GetBucketsOutput, error) {
  7304  	req, out := c.GetBucketsRequest(input)
  7305  	return out, req.Send()
  7306  }
  7307  
  7308  // GetBucketsWithContext is the same as GetBuckets with the addition of
  7309  // the ability to pass a context and additional request options.
  7310  //
  7311  // See GetBuckets for details on how to use this API operation.
  7312  //
  7313  // The context must be non-nil and will be used for request cancellation. If
  7314  // the context is nil a panic will occur. In the future the SDK may create
  7315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7316  // for more information on using Contexts.
  7317  func (c *Lightsail) GetBucketsWithContext(ctx aws.Context, input *GetBucketsInput, opts ...request.Option) (*GetBucketsOutput, error) {
  7318  	req, out := c.GetBucketsRequest(input)
  7319  	req.SetContext(ctx)
  7320  	req.ApplyOptions(opts...)
  7321  	return out, req.Send()
  7322  }
  7323  
  7324  const opGetBundles = "GetBundles"
  7325  
  7326  // GetBundlesRequest generates a "aws/request.Request" representing the
  7327  // client's request for the GetBundles operation. The "output" return
  7328  // value will be populated with the request's response once the request completes
  7329  // successfully.
  7330  //
  7331  // Use "Send" method on the returned Request to send the API call to the service.
  7332  // the "output" return value is not valid until after Send returns without error.
  7333  //
  7334  // See GetBundles for more information on using the GetBundles
  7335  // API call, and error handling.
  7336  //
  7337  // This method is useful when you want to inject custom logic or configuration
  7338  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7339  //
  7340  //
  7341  //    // Example sending a request using the GetBundlesRequest method.
  7342  //    req, resp := client.GetBundlesRequest(params)
  7343  //
  7344  //    err := req.Send()
  7345  //    if err == nil { // resp is now filled
  7346  //        fmt.Println(resp)
  7347  //    }
  7348  //
  7349  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
  7350  func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
  7351  	op := &request.Operation{
  7352  		Name:       opGetBundles,
  7353  		HTTPMethod: "POST",
  7354  		HTTPPath:   "/",
  7355  	}
  7356  
  7357  	if input == nil {
  7358  		input = &GetBundlesInput{}
  7359  	}
  7360  
  7361  	output = &GetBundlesOutput{}
  7362  	req = c.newRequest(op, input, output)
  7363  	return
  7364  }
  7365  
  7366  // GetBundles API operation for Amazon Lightsail.
  7367  //
  7368  // Returns the list of bundles that are available for purchase. A bundle describes
  7369  // the specs for your virtual private server (or instance).
  7370  //
  7371  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7372  // with awserr.Error's Code and Message methods to get detailed information about
  7373  // the error.
  7374  //
  7375  // See the AWS API reference guide for Amazon Lightsail's
  7376  // API operation GetBundles for usage and error information.
  7377  //
  7378  // Returned Error Types:
  7379  //   * ServiceException
  7380  //   A general service exception.
  7381  //
  7382  //   * InvalidInputException
  7383  //   Lightsail throws this exception when user input does not conform to the validation
  7384  //   rules of an input field.
  7385  //
  7386  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7387  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7388  //   view, or edit these resources.
  7389  //
  7390  //   * NotFoundException
  7391  //   Lightsail throws this exception when it cannot find a resource.
  7392  //
  7393  //   * OperationFailureException
  7394  //   Lightsail throws this exception when an operation fails to execute.
  7395  //
  7396  //   * AccessDeniedException
  7397  //   Lightsail throws this exception when the user cannot be authenticated or
  7398  //   uses invalid credentials to access a resource.
  7399  //
  7400  //   * AccountSetupInProgressException
  7401  //   Lightsail throws this exception when an account is still in the setup in
  7402  //   progress state.
  7403  //
  7404  //   * UnauthenticatedException
  7405  //   Lightsail throws this exception when the user has not been authenticated.
  7406  //
  7407  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
  7408  func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
  7409  	req, out := c.GetBundlesRequest(input)
  7410  	return out, req.Send()
  7411  }
  7412  
  7413  // GetBundlesWithContext is the same as GetBundles with the addition of
  7414  // the ability to pass a context and additional request options.
  7415  //
  7416  // See GetBundles for details on how to use this API operation.
  7417  //
  7418  // The context must be non-nil and will be used for request cancellation. If
  7419  // the context is nil a panic will occur. In the future the SDK may create
  7420  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7421  // for more information on using Contexts.
  7422  func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
  7423  	req, out := c.GetBundlesRequest(input)
  7424  	req.SetContext(ctx)
  7425  	req.ApplyOptions(opts...)
  7426  	return out, req.Send()
  7427  }
  7428  
  7429  const opGetCertificates = "GetCertificates"
  7430  
  7431  // GetCertificatesRequest generates a "aws/request.Request" representing the
  7432  // client's request for the GetCertificates operation. The "output" return
  7433  // value will be populated with the request's response once the request completes
  7434  // successfully.
  7435  //
  7436  // Use "Send" method on the returned Request to send the API call to the service.
  7437  // the "output" return value is not valid until after Send returns without error.
  7438  //
  7439  // See GetCertificates for more information on using the GetCertificates
  7440  // API call, and error handling.
  7441  //
  7442  // This method is useful when you want to inject custom logic or configuration
  7443  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7444  //
  7445  //
  7446  //    // Example sending a request using the GetCertificatesRequest method.
  7447  //    req, resp := client.GetCertificatesRequest(params)
  7448  //
  7449  //    err := req.Send()
  7450  //    if err == nil { // resp is now filled
  7451  //        fmt.Println(resp)
  7452  //    }
  7453  //
  7454  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
  7455  func (c *Lightsail) GetCertificatesRequest(input *GetCertificatesInput) (req *request.Request, output *GetCertificatesOutput) {
  7456  	op := &request.Operation{
  7457  		Name:       opGetCertificates,
  7458  		HTTPMethod: "POST",
  7459  		HTTPPath:   "/",
  7460  	}
  7461  
  7462  	if input == nil {
  7463  		input = &GetCertificatesInput{}
  7464  	}
  7465  
  7466  	output = &GetCertificatesOutput{}
  7467  	req = c.newRequest(op, input, output)
  7468  	return
  7469  }
  7470  
  7471  // GetCertificates API operation for Amazon Lightsail.
  7472  //
  7473  // Returns information about one or more Amazon Lightsail SSL/TLS certificates.
  7474  //
  7475  // To get a summary of a certificate, ommit includeCertificateDetails from your
  7476  // request. The response will include only the certificate Amazon Resource Name
  7477  // (ARN), certificate name, domain name, and tags.
  7478  //
  7479  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7480  // with awserr.Error's Code and Message methods to get detailed information about
  7481  // the error.
  7482  //
  7483  // See the AWS API reference guide for Amazon Lightsail's
  7484  // API operation GetCertificates for usage and error information.
  7485  //
  7486  // Returned Error Types:
  7487  //   * ServiceException
  7488  //   A general service exception.
  7489  //
  7490  //   * InvalidInputException
  7491  //   Lightsail throws this exception when user input does not conform to the validation
  7492  //   rules of an input field.
  7493  //
  7494  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7495  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7496  //   view, or edit these resources.
  7497  //
  7498  //   * NotFoundException
  7499  //   Lightsail throws this exception when it cannot find a resource.
  7500  //
  7501  //   * AccessDeniedException
  7502  //   Lightsail throws this exception when the user cannot be authenticated or
  7503  //   uses invalid credentials to access a resource.
  7504  //
  7505  //   * UnauthenticatedException
  7506  //   Lightsail throws this exception when the user has not been authenticated.
  7507  //
  7508  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
  7509  func (c *Lightsail) GetCertificates(input *GetCertificatesInput) (*GetCertificatesOutput, error) {
  7510  	req, out := c.GetCertificatesRequest(input)
  7511  	return out, req.Send()
  7512  }
  7513  
  7514  // GetCertificatesWithContext is the same as GetCertificates with the addition of
  7515  // the ability to pass a context and additional request options.
  7516  //
  7517  // See GetCertificates for details on how to use this API operation.
  7518  //
  7519  // The context must be non-nil and will be used for request cancellation. If
  7520  // the context is nil a panic will occur. In the future the SDK may create
  7521  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7522  // for more information on using Contexts.
  7523  func (c *Lightsail) GetCertificatesWithContext(ctx aws.Context, input *GetCertificatesInput, opts ...request.Option) (*GetCertificatesOutput, error) {
  7524  	req, out := c.GetCertificatesRequest(input)
  7525  	req.SetContext(ctx)
  7526  	req.ApplyOptions(opts...)
  7527  	return out, req.Send()
  7528  }
  7529  
  7530  const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
  7531  
  7532  // GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
  7533  // client's request for the GetCloudFormationStackRecords operation. The "output" return
  7534  // value will be populated with the request's response once the request completes
  7535  // successfully.
  7536  //
  7537  // Use "Send" method on the returned Request to send the API call to the service.
  7538  // the "output" return value is not valid until after Send returns without error.
  7539  //
  7540  // See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
  7541  // API call, and error handling.
  7542  //
  7543  // This method is useful when you want to inject custom logic or configuration
  7544  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7545  //
  7546  //
  7547  //    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
  7548  //    req, resp := client.GetCloudFormationStackRecordsRequest(params)
  7549  //
  7550  //    err := req.Send()
  7551  //    if err == nil { // resp is now filled
  7552  //        fmt.Println(resp)
  7553  //    }
  7554  //
  7555  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
  7556  func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
  7557  	op := &request.Operation{
  7558  		Name:       opGetCloudFormationStackRecords,
  7559  		HTTPMethod: "POST",
  7560  		HTTPPath:   "/",
  7561  	}
  7562  
  7563  	if input == nil {
  7564  		input = &GetCloudFormationStackRecordsInput{}
  7565  	}
  7566  
  7567  	output = &GetCloudFormationStackRecordsOutput{}
  7568  	req = c.newRequest(op, input, output)
  7569  	return
  7570  }
  7571  
  7572  // GetCloudFormationStackRecords API operation for Amazon Lightsail.
  7573  //
  7574  // Returns the CloudFormation stack record created as a result of the create
  7575  // cloud formation stack operation.
  7576  //
  7577  // An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
  7578  // an exported Lightsail snapshot.
  7579  //
  7580  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7581  // with awserr.Error's Code and Message methods to get detailed information about
  7582  // the error.
  7583  //
  7584  // See the AWS API reference guide for Amazon Lightsail's
  7585  // API operation GetCloudFormationStackRecords for usage and error information.
  7586  //
  7587  // Returned Error Types:
  7588  //   * ServiceException
  7589  //   A general service exception.
  7590  //
  7591  //   * InvalidInputException
  7592  //   Lightsail throws this exception when user input does not conform to the validation
  7593  //   rules of an input field.
  7594  //
  7595  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7596  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7597  //   view, or edit these resources.
  7598  //
  7599  //   * NotFoundException
  7600  //   Lightsail throws this exception when it cannot find a resource.
  7601  //
  7602  //   * OperationFailureException
  7603  //   Lightsail throws this exception when an operation fails to execute.
  7604  //
  7605  //   * AccessDeniedException
  7606  //   Lightsail throws this exception when the user cannot be authenticated or
  7607  //   uses invalid credentials to access a resource.
  7608  //
  7609  //   * AccountSetupInProgressException
  7610  //   Lightsail throws this exception when an account is still in the setup in
  7611  //   progress state.
  7612  //
  7613  //   * UnauthenticatedException
  7614  //   Lightsail throws this exception when the user has not been authenticated.
  7615  //
  7616  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
  7617  func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
  7618  	req, out := c.GetCloudFormationStackRecordsRequest(input)
  7619  	return out, req.Send()
  7620  }
  7621  
  7622  // GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
  7623  // the ability to pass a context and additional request options.
  7624  //
  7625  // See GetCloudFormationStackRecords for details on how to use this API operation.
  7626  //
  7627  // The context must be non-nil and will be used for request cancellation. If
  7628  // the context is nil a panic will occur. In the future the SDK may create
  7629  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7630  // for more information on using Contexts.
  7631  func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
  7632  	req, out := c.GetCloudFormationStackRecordsRequest(input)
  7633  	req.SetContext(ctx)
  7634  	req.ApplyOptions(opts...)
  7635  	return out, req.Send()
  7636  }
  7637  
  7638  const opGetContactMethods = "GetContactMethods"
  7639  
  7640  // GetContactMethodsRequest generates a "aws/request.Request" representing the
  7641  // client's request for the GetContactMethods operation. The "output" return
  7642  // value will be populated with the request's response once the request completes
  7643  // successfully.
  7644  //
  7645  // Use "Send" method on the returned Request to send the API call to the service.
  7646  // the "output" return value is not valid until after Send returns without error.
  7647  //
  7648  // See GetContactMethods for more information on using the GetContactMethods
  7649  // API call, and error handling.
  7650  //
  7651  // This method is useful when you want to inject custom logic or configuration
  7652  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7653  //
  7654  //
  7655  //    // Example sending a request using the GetContactMethodsRequest method.
  7656  //    req, resp := client.GetContactMethodsRequest(params)
  7657  //
  7658  //    err := req.Send()
  7659  //    if err == nil { // resp is now filled
  7660  //        fmt.Println(resp)
  7661  //    }
  7662  //
  7663  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
  7664  func (c *Lightsail) GetContactMethodsRequest(input *GetContactMethodsInput) (req *request.Request, output *GetContactMethodsOutput) {
  7665  	op := &request.Operation{
  7666  		Name:       opGetContactMethods,
  7667  		HTTPMethod: "POST",
  7668  		HTTPPath:   "/",
  7669  	}
  7670  
  7671  	if input == nil {
  7672  		input = &GetContactMethodsInput{}
  7673  	}
  7674  
  7675  	output = &GetContactMethodsOutput{}
  7676  	req = c.newRequest(op, input, output)
  7677  	return
  7678  }
  7679  
  7680  // GetContactMethods API operation for Amazon Lightsail.
  7681  //
  7682  // Returns information about the configured contact methods. Specify a protocol
  7683  // in your request to return information about a specific contact method.
  7684  //
  7685  // A contact method is used to send you notifications about your Amazon Lightsail
  7686  // resources. You can add one email address and one mobile phone number contact
  7687  // method in each AWS Region. However, SMS text messaging is not supported in
  7688  // some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
  7689  // For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
  7690  //
  7691  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7692  // with awserr.Error's Code and Message methods to get detailed information about
  7693  // the error.
  7694  //
  7695  // See the AWS API reference guide for Amazon Lightsail's
  7696  // API operation GetContactMethods for usage and error information.
  7697  //
  7698  // Returned Error Types:
  7699  //   * ServiceException
  7700  //   A general service exception.
  7701  //
  7702  //   * InvalidInputException
  7703  //   Lightsail throws this exception when user input does not conform to the validation
  7704  //   rules of an input field.
  7705  //
  7706  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7707  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7708  //   view, or edit these resources.
  7709  //
  7710  //   * NotFoundException
  7711  //   Lightsail throws this exception when it cannot find a resource.
  7712  //
  7713  //   * OperationFailureException
  7714  //   Lightsail throws this exception when an operation fails to execute.
  7715  //
  7716  //   * AccessDeniedException
  7717  //   Lightsail throws this exception when the user cannot be authenticated or
  7718  //   uses invalid credentials to access a resource.
  7719  //
  7720  //   * UnauthenticatedException
  7721  //   Lightsail throws this exception when the user has not been authenticated.
  7722  //
  7723  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
  7724  func (c *Lightsail) GetContactMethods(input *GetContactMethodsInput) (*GetContactMethodsOutput, error) {
  7725  	req, out := c.GetContactMethodsRequest(input)
  7726  	return out, req.Send()
  7727  }
  7728  
  7729  // GetContactMethodsWithContext is the same as GetContactMethods with the addition of
  7730  // the ability to pass a context and additional request options.
  7731  //
  7732  // See GetContactMethods for details on how to use this API operation.
  7733  //
  7734  // The context must be non-nil and will be used for request cancellation. If
  7735  // the context is nil a panic will occur. In the future the SDK may create
  7736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7737  // for more information on using Contexts.
  7738  func (c *Lightsail) GetContactMethodsWithContext(ctx aws.Context, input *GetContactMethodsInput, opts ...request.Option) (*GetContactMethodsOutput, error) {
  7739  	req, out := c.GetContactMethodsRequest(input)
  7740  	req.SetContext(ctx)
  7741  	req.ApplyOptions(opts...)
  7742  	return out, req.Send()
  7743  }
  7744  
  7745  const opGetContainerAPIMetadata = "GetContainerAPIMetadata"
  7746  
  7747  // GetContainerAPIMetadataRequest generates a "aws/request.Request" representing the
  7748  // client's request for the GetContainerAPIMetadata operation. The "output" return
  7749  // value will be populated with the request's response once the request completes
  7750  // successfully.
  7751  //
  7752  // Use "Send" method on the returned Request to send the API call to the service.
  7753  // the "output" return value is not valid until after Send returns without error.
  7754  //
  7755  // See GetContainerAPIMetadata for more information on using the GetContainerAPIMetadata
  7756  // API call, and error handling.
  7757  //
  7758  // This method is useful when you want to inject custom logic or configuration
  7759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7760  //
  7761  //
  7762  //    // Example sending a request using the GetContainerAPIMetadataRequest method.
  7763  //    req, resp := client.GetContainerAPIMetadataRequest(params)
  7764  //
  7765  //    err := req.Send()
  7766  //    if err == nil { // resp is now filled
  7767  //        fmt.Println(resp)
  7768  //    }
  7769  //
  7770  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerAPIMetadata
  7771  func (c *Lightsail) GetContainerAPIMetadataRequest(input *GetContainerAPIMetadataInput) (req *request.Request, output *GetContainerAPIMetadataOutput) {
  7772  	op := &request.Operation{
  7773  		Name:       opGetContainerAPIMetadata,
  7774  		HTTPMethod: "POST",
  7775  		HTTPPath:   "/",
  7776  	}
  7777  
  7778  	if input == nil {
  7779  		input = &GetContainerAPIMetadataInput{}
  7780  	}
  7781  
  7782  	output = &GetContainerAPIMetadataOutput{}
  7783  	req = c.newRequest(op, input, output)
  7784  	return
  7785  }
  7786  
  7787  // GetContainerAPIMetadata API operation for Amazon Lightsail.
  7788  //
  7789  // Returns information about Amazon Lightsail containers, such as the current
  7790  // version of the Lightsail Control (lightsailctl) plugin.
  7791  //
  7792  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7793  // with awserr.Error's Code and Message methods to get detailed information about
  7794  // the error.
  7795  //
  7796  // See the AWS API reference guide for Amazon Lightsail's
  7797  // API operation GetContainerAPIMetadata for usage and error information.
  7798  //
  7799  // Returned Error Types:
  7800  //   * ServiceException
  7801  //   A general service exception.
  7802  //
  7803  //   * AccessDeniedException
  7804  //   Lightsail throws this exception when the user cannot be authenticated or
  7805  //   uses invalid credentials to access a resource.
  7806  //
  7807  //   * UnauthenticatedException
  7808  //   Lightsail throws this exception when the user has not been authenticated.
  7809  //
  7810  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerAPIMetadata
  7811  func (c *Lightsail) GetContainerAPIMetadata(input *GetContainerAPIMetadataInput) (*GetContainerAPIMetadataOutput, error) {
  7812  	req, out := c.GetContainerAPIMetadataRequest(input)
  7813  	return out, req.Send()
  7814  }
  7815  
  7816  // GetContainerAPIMetadataWithContext is the same as GetContainerAPIMetadata with the addition of
  7817  // the ability to pass a context and additional request options.
  7818  //
  7819  // See GetContainerAPIMetadata for details on how to use this API operation.
  7820  //
  7821  // The context must be non-nil and will be used for request cancellation. If
  7822  // the context is nil a panic will occur. In the future the SDK may create
  7823  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7824  // for more information on using Contexts.
  7825  func (c *Lightsail) GetContainerAPIMetadataWithContext(ctx aws.Context, input *GetContainerAPIMetadataInput, opts ...request.Option) (*GetContainerAPIMetadataOutput, error) {
  7826  	req, out := c.GetContainerAPIMetadataRequest(input)
  7827  	req.SetContext(ctx)
  7828  	req.ApplyOptions(opts...)
  7829  	return out, req.Send()
  7830  }
  7831  
  7832  const opGetContainerImages = "GetContainerImages"
  7833  
  7834  // GetContainerImagesRequest generates a "aws/request.Request" representing the
  7835  // client's request for the GetContainerImages operation. The "output" return
  7836  // value will be populated with the request's response once the request completes
  7837  // successfully.
  7838  //
  7839  // Use "Send" method on the returned Request to send the API call to the service.
  7840  // the "output" return value is not valid until after Send returns without error.
  7841  //
  7842  // See GetContainerImages for more information on using the GetContainerImages
  7843  // API call, and error handling.
  7844  //
  7845  // This method is useful when you want to inject custom logic or configuration
  7846  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7847  //
  7848  //
  7849  //    // Example sending a request using the GetContainerImagesRequest method.
  7850  //    req, resp := client.GetContainerImagesRequest(params)
  7851  //
  7852  //    err := req.Send()
  7853  //    if err == nil { // resp is now filled
  7854  //        fmt.Println(resp)
  7855  //    }
  7856  //
  7857  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerImages
  7858  func (c *Lightsail) GetContainerImagesRequest(input *GetContainerImagesInput) (req *request.Request, output *GetContainerImagesOutput) {
  7859  	op := &request.Operation{
  7860  		Name:       opGetContainerImages,
  7861  		HTTPMethod: "POST",
  7862  		HTTPPath:   "/",
  7863  	}
  7864  
  7865  	if input == nil {
  7866  		input = &GetContainerImagesInput{}
  7867  	}
  7868  
  7869  	output = &GetContainerImagesOutput{}
  7870  	req = c.newRequest(op, input, output)
  7871  	return
  7872  }
  7873  
  7874  // GetContainerImages API operation for Amazon Lightsail.
  7875  //
  7876  // Returns the container images that are registered to your Amazon Lightsail
  7877  // container service.
  7878  //
  7879  // If you created a deployment on your Lightsail container service that uses
  7880  // container images from a public registry like Docker Hub, those images are
  7881  // not returned as part of this action. Those images are not registered to your
  7882  // Lightsail container service.
  7883  //
  7884  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7885  // with awserr.Error's Code and Message methods to get detailed information about
  7886  // the error.
  7887  //
  7888  // See the AWS API reference guide for Amazon Lightsail's
  7889  // API operation GetContainerImages for usage and error information.
  7890  //
  7891  // Returned Error Types:
  7892  //   * ServiceException
  7893  //   A general service exception.
  7894  //
  7895  //   * InvalidInputException
  7896  //   Lightsail throws this exception when user input does not conform to the validation
  7897  //   rules of an input field.
  7898  //
  7899  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  7900  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  7901  //   view, or edit these resources.
  7902  //
  7903  //   * NotFoundException
  7904  //   Lightsail throws this exception when it cannot find a resource.
  7905  //
  7906  //   * AccessDeniedException
  7907  //   Lightsail throws this exception when the user cannot be authenticated or
  7908  //   uses invalid credentials to access a resource.
  7909  //
  7910  //   * UnauthenticatedException
  7911  //   Lightsail throws this exception when the user has not been authenticated.
  7912  //
  7913  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerImages
  7914  func (c *Lightsail) GetContainerImages(input *GetContainerImagesInput) (*GetContainerImagesOutput, error) {
  7915  	req, out := c.GetContainerImagesRequest(input)
  7916  	return out, req.Send()
  7917  }
  7918  
  7919  // GetContainerImagesWithContext is the same as GetContainerImages with the addition of
  7920  // the ability to pass a context and additional request options.
  7921  //
  7922  // See GetContainerImages for details on how to use this API operation.
  7923  //
  7924  // The context must be non-nil and will be used for request cancellation. If
  7925  // the context is nil a panic will occur. In the future the SDK may create
  7926  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7927  // for more information on using Contexts.
  7928  func (c *Lightsail) GetContainerImagesWithContext(ctx aws.Context, input *GetContainerImagesInput, opts ...request.Option) (*GetContainerImagesOutput, error) {
  7929  	req, out := c.GetContainerImagesRequest(input)
  7930  	req.SetContext(ctx)
  7931  	req.ApplyOptions(opts...)
  7932  	return out, req.Send()
  7933  }
  7934  
  7935  const opGetContainerLog = "GetContainerLog"
  7936  
  7937  // GetContainerLogRequest generates a "aws/request.Request" representing the
  7938  // client's request for the GetContainerLog operation. The "output" return
  7939  // value will be populated with the request's response once the request completes
  7940  // successfully.
  7941  //
  7942  // Use "Send" method on the returned Request to send the API call to the service.
  7943  // the "output" return value is not valid until after Send returns without error.
  7944  //
  7945  // See GetContainerLog for more information on using the GetContainerLog
  7946  // API call, and error handling.
  7947  //
  7948  // This method is useful when you want to inject custom logic or configuration
  7949  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7950  //
  7951  //
  7952  //    // Example sending a request using the GetContainerLogRequest method.
  7953  //    req, resp := client.GetContainerLogRequest(params)
  7954  //
  7955  //    err := req.Send()
  7956  //    if err == nil { // resp is now filled
  7957  //        fmt.Println(resp)
  7958  //    }
  7959  //
  7960  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerLog
  7961  func (c *Lightsail) GetContainerLogRequest(input *GetContainerLogInput) (req *request.Request, output *GetContainerLogOutput) {
  7962  	op := &request.Operation{
  7963  		Name:       opGetContainerLog,
  7964  		HTTPMethod: "POST",
  7965  		HTTPPath:   "/",
  7966  	}
  7967  
  7968  	if input == nil {
  7969  		input = &GetContainerLogInput{}
  7970  	}
  7971  
  7972  	output = &GetContainerLogOutput{}
  7973  	req = c.newRequest(op, input, output)
  7974  	return
  7975  }
  7976  
  7977  // GetContainerLog API operation for Amazon Lightsail.
  7978  //
  7979  // Returns the log events of a container of your Amazon Lightsail container
  7980  // service.
  7981  //
  7982  // If your container service has more than one node (i.e., a scale greater than
  7983  // 1), then the log events that are returned for the specified container are
  7984  // merged from all nodes on your container service.
  7985  //
  7986  // Container logs are retained for a certain amount of time. For more information,
  7987  // see Amazon Lightsail endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html)
  7988  // in the AWS General Reference.
  7989  //
  7990  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7991  // with awserr.Error's Code and Message methods to get detailed information about
  7992  // the error.
  7993  //
  7994  // See the AWS API reference guide for Amazon Lightsail's
  7995  // API operation GetContainerLog for usage and error information.
  7996  //
  7997  // Returned Error Types:
  7998  //   * ServiceException
  7999  //   A general service exception.
  8000  //
  8001  //   * InvalidInputException
  8002  //   Lightsail throws this exception when user input does not conform to the validation
  8003  //   rules of an input field.
  8004  //
  8005  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8006  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8007  //   view, or edit these resources.
  8008  //
  8009  //   * NotFoundException
  8010  //   Lightsail throws this exception when it cannot find a resource.
  8011  //
  8012  //   * AccessDeniedException
  8013  //   Lightsail throws this exception when the user cannot be authenticated or
  8014  //   uses invalid credentials to access a resource.
  8015  //
  8016  //   * UnauthenticatedException
  8017  //   Lightsail throws this exception when the user has not been authenticated.
  8018  //
  8019  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerLog
  8020  func (c *Lightsail) GetContainerLog(input *GetContainerLogInput) (*GetContainerLogOutput, error) {
  8021  	req, out := c.GetContainerLogRequest(input)
  8022  	return out, req.Send()
  8023  }
  8024  
  8025  // GetContainerLogWithContext is the same as GetContainerLog with the addition of
  8026  // the ability to pass a context and additional request options.
  8027  //
  8028  // See GetContainerLog for details on how to use this API operation.
  8029  //
  8030  // The context must be non-nil and will be used for request cancellation. If
  8031  // the context is nil a panic will occur. In the future the SDK may create
  8032  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8033  // for more information on using Contexts.
  8034  func (c *Lightsail) GetContainerLogWithContext(ctx aws.Context, input *GetContainerLogInput, opts ...request.Option) (*GetContainerLogOutput, error) {
  8035  	req, out := c.GetContainerLogRequest(input)
  8036  	req.SetContext(ctx)
  8037  	req.ApplyOptions(opts...)
  8038  	return out, req.Send()
  8039  }
  8040  
  8041  const opGetContainerServiceDeployments = "GetContainerServiceDeployments"
  8042  
  8043  // GetContainerServiceDeploymentsRequest generates a "aws/request.Request" representing the
  8044  // client's request for the GetContainerServiceDeployments operation. The "output" return
  8045  // value will be populated with the request's response once the request completes
  8046  // successfully.
  8047  //
  8048  // Use "Send" method on the returned Request to send the API call to the service.
  8049  // the "output" return value is not valid until after Send returns without error.
  8050  //
  8051  // See GetContainerServiceDeployments for more information on using the GetContainerServiceDeployments
  8052  // API call, and error handling.
  8053  //
  8054  // This method is useful when you want to inject custom logic or configuration
  8055  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8056  //
  8057  //
  8058  //    // Example sending a request using the GetContainerServiceDeploymentsRequest method.
  8059  //    req, resp := client.GetContainerServiceDeploymentsRequest(params)
  8060  //
  8061  //    err := req.Send()
  8062  //    if err == nil { // resp is now filled
  8063  //        fmt.Println(resp)
  8064  //    }
  8065  //
  8066  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceDeployments
  8067  func (c *Lightsail) GetContainerServiceDeploymentsRequest(input *GetContainerServiceDeploymentsInput) (req *request.Request, output *GetContainerServiceDeploymentsOutput) {
  8068  	op := &request.Operation{
  8069  		Name:       opGetContainerServiceDeployments,
  8070  		HTTPMethod: "POST",
  8071  		HTTPPath:   "/",
  8072  	}
  8073  
  8074  	if input == nil {
  8075  		input = &GetContainerServiceDeploymentsInput{}
  8076  	}
  8077  
  8078  	output = &GetContainerServiceDeploymentsOutput{}
  8079  	req = c.newRequest(op, input, output)
  8080  	return
  8081  }
  8082  
  8083  // GetContainerServiceDeployments API operation for Amazon Lightsail.
  8084  //
  8085  // Returns the deployments for your Amazon Lightsail container service
  8086  //
  8087  // A deployment specifies the settings, such as the ports and launch command,
  8088  // of containers that are deployed to your container service.
  8089  //
  8090  // The deployments are ordered by version in ascending order. The newest version
  8091  // is listed at the top of the response.
  8092  //
  8093  // A set number of deployments are kept before the oldest one is replaced with
  8094  // the newest one. For more information, see Amazon Lightsail endpoints and
  8095  // quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html) in
  8096  // the AWS General Reference.
  8097  //
  8098  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8099  // with awserr.Error's Code and Message methods to get detailed information about
  8100  // the error.
  8101  //
  8102  // See the AWS API reference guide for Amazon Lightsail's
  8103  // API operation GetContainerServiceDeployments for usage and error information.
  8104  //
  8105  // Returned Error Types:
  8106  //   * ServiceException
  8107  //   A general service exception.
  8108  //
  8109  //   * InvalidInputException
  8110  //   Lightsail throws this exception when user input does not conform to the validation
  8111  //   rules of an input field.
  8112  //
  8113  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8114  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8115  //   view, or edit these resources.
  8116  //
  8117  //   * NotFoundException
  8118  //   Lightsail throws this exception when it cannot find a resource.
  8119  //
  8120  //   * AccessDeniedException
  8121  //   Lightsail throws this exception when the user cannot be authenticated or
  8122  //   uses invalid credentials to access a resource.
  8123  //
  8124  //   * UnauthenticatedException
  8125  //   Lightsail throws this exception when the user has not been authenticated.
  8126  //
  8127  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceDeployments
  8128  func (c *Lightsail) GetContainerServiceDeployments(input *GetContainerServiceDeploymentsInput) (*GetContainerServiceDeploymentsOutput, error) {
  8129  	req, out := c.GetContainerServiceDeploymentsRequest(input)
  8130  	return out, req.Send()
  8131  }
  8132  
  8133  // GetContainerServiceDeploymentsWithContext is the same as GetContainerServiceDeployments with the addition of
  8134  // the ability to pass a context and additional request options.
  8135  //
  8136  // See GetContainerServiceDeployments for details on how to use this API operation.
  8137  //
  8138  // The context must be non-nil and will be used for request cancellation. If
  8139  // the context is nil a panic will occur. In the future the SDK may create
  8140  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8141  // for more information on using Contexts.
  8142  func (c *Lightsail) GetContainerServiceDeploymentsWithContext(ctx aws.Context, input *GetContainerServiceDeploymentsInput, opts ...request.Option) (*GetContainerServiceDeploymentsOutput, error) {
  8143  	req, out := c.GetContainerServiceDeploymentsRequest(input)
  8144  	req.SetContext(ctx)
  8145  	req.ApplyOptions(opts...)
  8146  	return out, req.Send()
  8147  }
  8148  
  8149  const opGetContainerServiceMetricData = "GetContainerServiceMetricData"
  8150  
  8151  // GetContainerServiceMetricDataRequest generates a "aws/request.Request" representing the
  8152  // client's request for the GetContainerServiceMetricData operation. The "output" return
  8153  // value will be populated with the request's response once the request completes
  8154  // successfully.
  8155  //
  8156  // Use "Send" method on the returned Request to send the API call to the service.
  8157  // the "output" return value is not valid until after Send returns without error.
  8158  //
  8159  // See GetContainerServiceMetricData for more information on using the GetContainerServiceMetricData
  8160  // API call, and error handling.
  8161  //
  8162  // This method is useful when you want to inject custom logic or configuration
  8163  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8164  //
  8165  //
  8166  //    // Example sending a request using the GetContainerServiceMetricDataRequest method.
  8167  //    req, resp := client.GetContainerServiceMetricDataRequest(params)
  8168  //
  8169  //    err := req.Send()
  8170  //    if err == nil { // resp is now filled
  8171  //        fmt.Println(resp)
  8172  //    }
  8173  //
  8174  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceMetricData
  8175  func (c *Lightsail) GetContainerServiceMetricDataRequest(input *GetContainerServiceMetricDataInput) (req *request.Request, output *GetContainerServiceMetricDataOutput) {
  8176  	op := &request.Operation{
  8177  		Name:       opGetContainerServiceMetricData,
  8178  		HTTPMethod: "POST",
  8179  		HTTPPath:   "/",
  8180  	}
  8181  
  8182  	if input == nil {
  8183  		input = &GetContainerServiceMetricDataInput{}
  8184  	}
  8185  
  8186  	output = &GetContainerServiceMetricDataOutput{}
  8187  	req = c.newRequest(op, input, output)
  8188  	return
  8189  }
  8190  
  8191  // GetContainerServiceMetricData API operation for Amazon Lightsail.
  8192  //
  8193  // Returns the data points of a specific metric of your Amazon Lightsail container
  8194  // service.
  8195  //
  8196  // Metrics report the utilization of your resources. Monitor and collect metric
  8197  // data regularly to maintain the reliability, availability, and performance
  8198  // of your resources.
  8199  //
  8200  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8201  // with awserr.Error's Code and Message methods to get detailed information about
  8202  // the error.
  8203  //
  8204  // See the AWS API reference guide for Amazon Lightsail's
  8205  // API operation GetContainerServiceMetricData for usage and error information.
  8206  //
  8207  // Returned Error Types:
  8208  //   * ServiceException
  8209  //   A general service exception.
  8210  //
  8211  //   * InvalidInputException
  8212  //   Lightsail throws this exception when user input does not conform to the validation
  8213  //   rules of an input field.
  8214  //
  8215  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8216  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8217  //   view, or edit these resources.
  8218  //
  8219  //   * NotFoundException
  8220  //   Lightsail throws this exception when it cannot find a resource.
  8221  //
  8222  //   * AccessDeniedException
  8223  //   Lightsail throws this exception when the user cannot be authenticated or
  8224  //   uses invalid credentials to access a resource.
  8225  //
  8226  //   * UnauthenticatedException
  8227  //   Lightsail throws this exception when the user has not been authenticated.
  8228  //
  8229  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceMetricData
  8230  func (c *Lightsail) GetContainerServiceMetricData(input *GetContainerServiceMetricDataInput) (*GetContainerServiceMetricDataOutput, error) {
  8231  	req, out := c.GetContainerServiceMetricDataRequest(input)
  8232  	return out, req.Send()
  8233  }
  8234  
  8235  // GetContainerServiceMetricDataWithContext is the same as GetContainerServiceMetricData with the addition of
  8236  // the ability to pass a context and additional request options.
  8237  //
  8238  // See GetContainerServiceMetricData for details on how to use this API operation.
  8239  //
  8240  // The context must be non-nil and will be used for request cancellation. If
  8241  // the context is nil a panic will occur. In the future the SDK may create
  8242  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8243  // for more information on using Contexts.
  8244  func (c *Lightsail) GetContainerServiceMetricDataWithContext(ctx aws.Context, input *GetContainerServiceMetricDataInput, opts ...request.Option) (*GetContainerServiceMetricDataOutput, error) {
  8245  	req, out := c.GetContainerServiceMetricDataRequest(input)
  8246  	req.SetContext(ctx)
  8247  	req.ApplyOptions(opts...)
  8248  	return out, req.Send()
  8249  }
  8250  
  8251  const opGetContainerServicePowers = "GetContainerServicePowers"
  8252  
  8253  // GetContainerServicePowersRequest generates a "aws/request.Request" representing the
  8254  // client's request for the GetContainerServicePowers operation. The "output" return
  8255  // value will be populated with the request's response once the request completes
  8256  // successfully.
  8257  //
  8258  // Use "Send" method on the returned Request to send the API call to the service.
  8259  // the "output" return value is not valid until after Send returns without error.
  8260  //
  8261  // See GetContainerServicePowers for more information on using the GetContainerServicePowers
  8262  // API call, and error handling.
  8263  //
  8264  // This method is useful when you want to inject custom logic or configuration
  8265  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8266  //
  8267  //
  8268  //    // Example sending a request using the GetContainerServicePowersRequest method.
  8269  //    req, resp := client.GetContainerServicePowersRequest(params)
  8270  //
  8271  //    err := req.Send()
  8272  //    if err == nil { // resp is now filled
  8273  //        fmt.Println(resp)
  8274  //    }
  8275  //
  8276  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServicePowers
  8277  func (c *Lightsail) GetContainerServicePowersRequest(input *GetContainerServicePowersInput) (req *request.Request, output *GetContainerServicePowersOutput) {
  8278  	op := &request.Operation{
  8279  		Name:       opGetContainerServicePowers,
  8280  		HTTPMethod: "POST",
  8281  		HTTPPath:   "/",
  8282  	}
  8283  
  8284  	if input == nil {
  8285  		input = &GetContainerServicePowersInput{}
  8286  	}
  8287  
  8288  	output = &GetContainerServicePowersOutput{}
  8289  	req = c.newRequest(op, input, output)
  8290  	return
  8291  }
  8292  
  8293  // GetContainerServicePowers API operation for Amazon Lightsail.
  8294  //
  8295  // Returns the list of powers that can be specified for your Amazon Lightsail
  8296  // container services.
  8297  //
  8298  // The power specifies the amount of memory, the number of vCPUs, and the base
  8299  // price of the container service.
  8300  //
  8301  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8302  // with awserr.Error's Code and Message methods to get detailed information about
  8303  // the error.
  8304  //
  8305  // See the AWS API reference guide for Amazon Lightsail's
  8306  // API operation GetContainerServicePowers for usage and error information.
  8307  //
  8308  // Returned Error Types:
  8309  //   * ServiceException
  8310  //   A general service exception.
  8311  //
  8312  //   * InvalidInputException
  8313  //   Lightsail throws this exception when user input does not conform to the validation
  8314  //   rules of an input field.
  8315  //
  8316  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8317  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8318  //   view, or edit these resources.
  8319  //
  8320  //   * NotFoundException
  8321  //   Lightsail throws this exception when it cannot find a resource.
  8322  //
  8323  //   * AccessDeniedException
  8324  //   Lightsail throws this exception when the user cannot be authenticated or
  8325  //   uses invalid credentials to access a resource.
  8326  //
  8327  //   * UnauthenticatedException
  8328  //   Lightsail throws this exception when the user has not been authenticated.
  8329  //
  8330  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServicePowers
  8331  func (c *Lightsail) GetContainerServicePowers(input *GetContainerServicePowersInput) (*GetContainerServicePowersOutput, error) {
  8332  	req, out := c.GetContainerServicePowersRequest(input)
  8333  	return out, req.Send()
  8334  }
  8335  
  8336  // GetContainerServicePowersWithContext is the same as GetContainerServicePowers with the addition of
  8337  // the ability to pass a context and additional request options.
  8338  //
  8339  // See GetContainerServicePowers for details on how to use this API operation.
  8340  //
  8341  // The context must be non-nil and will be used for request cancellation. If
  8342  // the context is nil a panic will occur. In the future the SDK may create
  8343  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8344  // for more information on using Contexts.
  8345  func (c *Lightsail) GetContainerServicePowersWithContext(ctx aws.Context, input *GetContainerServicePowersInput, opts ...request.Option) (*GetContainerServicePowersOutput, error) {
  8346  	req, out := c.GetContainerServicePowersRequest(input)
  8347  	req.SetContext(ctx)
  8348  	req.ApplyOptions(opts...)
  8349  	return out, req.Send()
  8350  }
  8351  
  8352  const opGetContainerServices = "GetContainerServices"
  8353  
  8354  // GetContainerServicesRequest generates a "aws/request.Request" representing the
  8355  // client's request for the GetContainerServices operation. The "output" return
  8356  // value will be populated with the request's response once the request completes
  8357  // successfully.
  8358  //
  8359  // Use "Send" method on the returned Request to send the API call to the service.
  8360  // the "output" return value is not valid until after Send returns without error.
  8361  //
  8362  // See GetContainerServices for more information on using the GetContainerServices
  8363  // API call, and error handling.
  8364  //
  8365  // This method is useful when you want to inject custom logic or configuration
  8366  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8367  //
  8368  //
  8369  //    // Example sending a request using the GetContainerServicesRequest method.
  8370  //    req, resp := client.GetContainerServicesRequest(params)
  8371  //
  8372  //    err := req.Send()
  8373  //    if err == nil { // resp is now filled
  8374  //        fmt.Println(resp)
  8375  //    }
  8376  //
  8377  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServices
  8378  func (c *Lightsail) GetContainerServicesRequest(input *GetContainerServicesInput) (req *request.Request, output *GetContainerServicesOutput) {
  8379  	op := &request.Operation{
  8380  		Name:       opGetContainerServices,
  8381  		HTTPMethod: "POST",
  8382  		HTTPPath:   "/",
  8383  	}
  8384  
  8385  	if input == nil {
  8386  		input = &GetContainerServicesInput{}
  8387  	}
  8388  
  8389  	output = &GetContainerServicesOutput{}
  8390  	req = c.newRequest(op, input, output)
  8391  	return
  8392  }
  8393  
  8394  // GetContainerServices API operation for Amazon Lightsail.
  8395  //
  8396  // Returns information about one or more of your Amazon Lightsail container
  8397  // services.
  8398  //
  8399  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8400  // with awserr.Error's Code and Message methods to get detailed information about
  8401  // the error.
  8402  //
  8403  // See the AWS API reference guide for Amazon Lightsail's
  8404  // API operation GetContainerServices for usage and error information.
  8405  //
  8406  // Returned Error Types:
  8407  //   * ServiceException
  8408  //   A general service exception.
  8409  //
  8410  //   * InvalidInputException
  8411  //   Lightsail throws this exception when user input does not conform to the validation
  8412  //   rules of an input field.
  8413  //
  8414  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8415  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8416  //   view, or edit these resources.
  8417  //
  8418  //   * NotFoundException
  8419  //   Lightsail throws this exception when it cannot find a resource.
  8420  //
  8421  //   * AccessDeniedException
  8422  //   Lightsail throws this exception when the user cannot be authenticated or
  8423  //   uses invalid credentials to access a resource.
  8424  //
  8425  //   * UnauthenticatedException
  8426  //   Lightsail throws this exception when the user has not been authenticated.
  8427  //
  8428  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServices
  8429  func (c *Lightsail) GetContainerServices(input *GetContainerServicesInput) (*GetContainerServicesOutput, error) {
  8430  	req, out := c.GetContainerServicesRequest(input)
  8431  	return out, req.Send()
  8432  }
  8433  
  8434  // GetContainerServicesWithContext is the same as GetContainerServices with the addition of
  8435  // the ability to pass a context and additional request options.
  8436  //
  8437  // See GetContainerServices for details on how to use this API operation.
  8438  //
  8439  // The context must be non-nil and will be used for request cancellation. If
  8440  // the context is nil a panic will occur. In the future the SDK may create
  8441  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8442  // for more information on using Contexts.
  8443  func (c *Lightsail) GetContainerServicesWithContext(ctx aws.Context, input *GetContainerServicesInput, opts ...request.Option) (*GetContainerServicesOutput, error) {
  8444  	req, out := c.GetContainerServicesRequest(input)
  8445  	req.SetContext(ctx)
  8446  	req.ApplyOptions(opts...)
  8447  	return out, req.Send()
  8448  }
  8449  
  8450  const opGetDisk = "GetDisk"
  8451  
  8452  // GetDiskRequest generates a "aws/request.Request" representing the
  8453  // client's request for the GetDisk operation. The "output" return
  8454  // value will be populated with the request's response once the request completes
  8455  // successfully.
  8456  //
  8457  // Use "Send" method on the returned Request to send the API call to the service.
  8458  // the "output" return value is not valid until after Send returns without error.
  8459  //
  8460  // See GetDisk for more information on using the GetDisk
  8461  // API call, and error handling.
  8462  //
  8463  // This method is useful when you want to inject custom logic or configuration
  8464  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8465  //
  8466  //
  8467  //    // Example sending a request using the GetDiskRequest method.
  8468  //    req, resp := client.GetDiskRequest(params)
  8469  //
  8470  //    err := req.Send()
  8471  //    if err == nil { // resp is now filled
  8472  //        fmt.Println(resp)
  8473  //    }
  8474  //
  8475  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
  8476  func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
  8477  	op := &request.Operation{
  8478  		Name:       opGetDisk,
  8479  		HTTPMethod: "POST",
  8480  		HTTPPath:   "/",
  8481  	}
  8482  
  8483  	if input == nil {
  8484  		input = &GetDiskInput{}
  8485  	}
  8486  
  8487  	output = &GetDiskOutput{}
  8488  	req = c.newRequest(op, input, output)
  8489  	return
  8490  }
  8491  
  8492  // GetDisk API operation for Amazon Lightsail.
  8493  //
  8494  // Returns information about a specific block storage disk.
  8495  //
  8496  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8497  // with awserr.Error's Code and Message methods to get detailed information about
  8498  // the error.
  8499  //
  8500  // See the AWS API reference guide for Amazon Lightsail's
  8501  // API operation GetDisk for usage and error information.
  8502  //
  8503  // Returned Error Types:
  8504  //   * ServiceException
  8505  //   A general service exception.
  8506  //
  8507  //   * InvalidInputException
  8508  //   Lightsail throws this exception when user input does not conform to the validation
  8509  //   rules of an input field.
  8510  //
  8511  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8512  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8513  //   view, or edit these resources.
  8514  //
  8515  //   * NotFoundException
  8516  //   Lightsail throws this exception when it cannot find a resource.
  8517  //
  8518  //   * OperationFailureException
  8519  //   Lightsail throws this exception when an operation fails to execute.
  8520  //
  8521  //   * AccessDeniedException
  8522  //   Lightsail throws this exception when the user cannot be authenticated or
  8523  //   uses invalid credentials to access a resource.
  8524  //
  8525  //   * AccountSetupInProgressException
  8526  //   Lightsail throws this exception when an account is still in the setup in
  8527  //   progress state.
  8528  //
  8529  //   * UnauthenticatedException
  8530  //   Lightsail throws this exception when the user has not been authenticated.
  8531  //
  8532  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
  8533  func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
  8534  	req, out := c.GetDiskRequest(input)
  8535  	return out, req.Send()
  8536  }
  8537  
  8538  // GetDiskWithContext is the same as GetDisk with the addition of
  8539  // the ability to pass a context and additional request options.
  8540  //
  8541  // See GetDisk for details on how to use this API operation.
  8542  //
  8543  // The context must be non-nil and will be used for request cancellation. If
  8544  // the context is nil a panic will occur. In the future the SDK may create
  8545  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8546  // for more information on using Contexts.
  8547  func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
  8548  	req, out := c.GetDiskRequest(input)
  8549  	req.SetContext(ctx)
  8550  	req.ApplyOptions(opts...)
  8551  	return out, req.Send()
  8552  }
  8553  
  8554  const opGetDiskSnapshot = "GetDiskSnapshot"
  8555  
  8556  // GetDiskSnapshotRequest generates a "aws/request.Request" representing the
  8557  // client's request for the GetDiskSnapshot operation. The "output" return
  8558  // value will be populated with the request's response once the request completes
  8559  // successfully.
  8560  //
  8561  // Use "Send" method on the returned Request to send the API call to the service.
  8562  // the "output" return value is not valid until after Send returns without error.
  8563  //
  8564  // See GetDiskSnapshot for more information on using the GetDiskSnapshot
  8565  // API call, and error handling.
  8566  //
  8567  // This method is useful when you want to inject custom logic or configuration
  8568  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8569  //
  8570  //
  8571  //    // Example sending a request using the GetDiskSnapshotRequest method.
  8572  //    req, resp := client.GetDiskSnapshotRequest(params)
  8573  //
  8574  //    err := req.Send()
  8575  //    if err == nil { // resp is now filled
  8576  //        fmt.Println(resp)
  8577  //    }
  8578  //
  8579  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
  8580  func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
  8581  	op := &request.Operation{
  8582  		Name:       opGetDiskSnapshot,
  8583  		HTTPMethod: "POST",
  8584  		HTTPPath:   "/",
  8585  	}
  8586  
  8587  	if input == nil {
  8588  		input = &GetDiskSnapshotInput{}
  8589  	}
  8590  
  8591  	output = &GetDiskSnapshotOutput{}
  8592  	req = c.newRequest(op, input, output)
  8593  	return
  8594  }
  8595  
  8596  // GetDiskSnapshot API operation for Amazon Lightsail.
  8597  //
  8598  // Returns information about a specific block storage disk snapshot.
  8599  //
  8600  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8601  // with awserr.Error's Code and Message methods to get detailed information about
  8602  // the error.
  8603  //
  8604  // See the AWS API reference guide for Amazon Lightsail's
  8605  // API operation GetDiskSnapshot for usage and error information.
  8606  //
  8607  // Returned Error Types:
  8608  //   * ServiceException
  8609  //   A general service exception.
  8610  //
  8611  //   * InvalidInputException
  8612  //   Lightsail throws this exception when user input does not conform to the validation
  8613  //   rules of an input field.
  8614  //
  8615  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8616  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8617  //   view, or edit these resources.
  8618  //
  8619  //   * NotFoundException
  8620  //   Lightsail throws this exception when it cannot find a resource.
  8621  //
  8622  //   * OperationFailureException
  8623  //   Lightsail throws this exception when an operation fails to execute.
  8624  //
  8625  //   * AccessDeniedException
  8626  //   Lightsail throws this exception when the user cannot be authenticated or
  8627  //   uses invalid credentials to access a resource.
  8628  //
  8629  //   * AccountSetupInProgressException
  8630  //   Lightsail throws this exception when an account is still in the setup in
  8631  //   progress state.
  8632  //
  8633  //   * UnauthenticatedException
  8634  //   Lightsail throws this exception when the user has not been authenticated.
  8635  //
  8636  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
  8637  func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
  8638  	req, out := c.GetDiskSnapshotRequest(input)
  8639  	return out, req.Send()
  8640  }
  8641  
  8642  // GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
  8643  // the ability to pass a context and additional request options.
  8644  //
  8645  // See GetDiskSnapshot for details on how to use this API operation.
  8646  //
  8647  // The context must be non-nil and will be used for request cancellation. If
  8648  // the context is nil a panic will occur. In the future the SDK may create
  8649  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8650  // for more information on using Contexts.
  8651  func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
  8652  	req, out := c.GetDiskSnapshotRequest(input)
  8653  	req.SetContext(ctx)
  8654  	req.ApplyOptions(opts...)
  8655  	return out, req.Send()
  8656  }
  8657  
  8658  const opGetDiskSnapshots = "GetDiskSnapshots"
  8659  
  8660  // GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
  8661  // client's request for the GetDiskSnapshots operation. The "output" return
  8662  // value will be populated with the request's response once the request completes
  8663  // successfully.
  8664  //
  8665  // Use "Send" method on the returned Request to send the API call to the service.
  8666  // the "output" return value is not valid until after Send returns without error.
  8667  //
  8668  // See GetDiskSnapshots for more information on using the GetDiskSnapshots
  8669  // API call, and error handling.
  8670  //
  8671  // This method is useful when you want to inject custom logic or configuration
  8672  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8673  //
  8674  //
  8675  //    // Example sending a request using the GetDiskSnapshotsRequest method.
  8676  //    req, resp := client.GetDiskSnapshotsRequest(params)
  8677  //
  8678  //    err := req.Send()
  8679  //    if err == nil { // resp is now filled
  8680  //        fmt.Println(resp)
  8681  //    }
  8682  //
  8683  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
  8684  func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
  8685  	op := &request.Operation{
  8686  		Name:       opGetDiskSnapshots,
  8687  		HTTPMethod: "POST",
  8688  		HTTPPath:   "/",
  8689  	}
  8690  
  8691  	if input == nil {
  8692  		input = &GetDiskSnapshotsInput{}
  8693  	}
  8694  
  8695  	output = &GetDiskSnapshotsOutput{}
  8696  	req = c.newRequest(op, input, output)
  8697  	return
  8698  }
  8699  
  8700  // GetDiskSnapshots API operation for Amazon Lightsail.
  8701  //
  8702  // Returns information about all block storage disk snapshots in your AWS account
  8703  // and region.
  8704  //
  8705  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8706  // with awserr.Error's Code and Message methods to get detailed information about
  8707  // the error.
  8708  //
  8709  // See the AWS API reference guide for Amazon Lightsail's
  8710  // API operation GetDiskSnapshots for usage and error information.
  8711  //
  8712  // Returned Error Types:
  8713  //   * ServiceException
  8714  //   A general service exception.
  8715  //
  8716  //   * InvalidInputException
  8717  //   Lightsail throws this exception when user input does not conform to the validation
  8718  //   rules of an input field.
  8719  //
  8720  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8721  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8722  //   view, or edit these resources.
  8723  //
  8724  //   * NotFoundException
  8725  //   Lightsail throws this exception when it cannot find a resource.
  8726  //
  8727  //   * OperationFailureException
  8728  //   Lightsail throws this exception when an operation fails to execute.
  8729  //
  8730  //   * AccessDeniedException
  8731  //   Lightsail throws this exception when the user cannot be authenticated or
  8732  //   uses invalid credentials to access a resource.
  8733  //
  8734  //   * AccountSetupInProgressException
  8735  //   Lightsail throws this exception when an account is still in the setup in
  8736  //   progress state.
  8737  //
  8738  //   * UnauthenticatedException
  8739  //   Lightsail throws this exception when the user has not been authenticated.
  8740  //
  8741  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
  8742  func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
  8743  	req, out := c.GetDiskSnapshotsRequest(input)
  8744  	return out, req.Send()
  8745  }
  8746  
  8747  // GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
  8748  // the ability to pass a context and additional request options.
  8749  //
  8750  // See GetDiskSnapshots for details on how to use this API operation.
  8751  //
  8752  // The context must be non-nil and will be used for request cancellation. If
  8753  // the context is nil a panic will occur. In the future the SDK may create
  8754  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8755  // for more information on using Contexts.
  8756  func (c *Lightsail) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
  8757  	req, out := c.GetDiskSnapshotsRequest(input)
  8758  	req.SetContext(ctx)
  8759  	req.ApplyOptions(opts...)
  8760  	return out, req.Send()
  8761  }
  8762  
  8763  const opGetDisks = "GetDisks"
  8764  
  8765  // GetDisksRequest generates a "aws/request.Request" representing the
  8766  // client's request for the GetDisks operation. The "output" return
  8767  // value will be populated with the request's response once the request completes
  8768  // successfully.
  8769  //
  8770  // Use "Send" method on the returned Request to send the API call to the service.
  8771  // the "output" return value is not valid until after Send returns without error.
  8772  //
  8773  // See GetDisks for more information on using the GetDisks
  8774  // API call, and error handling.
  8775  //
  8776  // This method is useful when you want to inject custom logic or configuration
  8777  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8778  //
  8779  //
  8780  //    // Example sending a request using the GetDisksRequest method.
  8781  //    req, resp := client.GetDisksRequest(params)
  8782  //
  8783  //    err := req.Send()
  8784  //    if err == nil { // resp is now filled
  8785  //        fmt.Println(resp)
  8786  //    }
  8787  //
  8788  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
  8789  func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
  8790  	op := &request.Operation{
  8791  		Name:       opGetDisks,
  8792  		HTTPMethod: "POST",
  8793  		HTTPPath:   "/",
  8794  	}
  8795  
  8796  	if input == nil {
  8797  		input = &GetDisksInput{}
  8798  	}
  8799  
  8800  	output = &GetDisksOutput{}
  8801  	req = c.newRequest(op, input, output)
  8802  	return
  8803  }
  8804  
  8805  // GetDisks API operation for Amazon Lightsail.
  8806  //
  8807  // Returns information about all block storage disks in your AWS account and
  8808  // region.
  8809  //
  8810  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8811  // with awserr.Error's Code and Message methods to get detailed information about
  8812  // the error.
  8813  //
  8814  // See the AWS API reference guide for Amazon Lightsail's
  8815  // API operation GetDisks for usage and error information.
  8816  //
  8817  // Returned Error Types:
  8818  //   * ServiceException
  8819  //   A general service exception.
  8820  //
  8821  //   * InvalidInputException
  8822  //   Lightsail throws this exception when user input does not conform to the validation
  8823  //   rules of an input field.
  8824  //
  8825  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8826  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8827  //   view, or edit these resources.
  8828  //
  8829  //   * NotFoundException
  8830  //   Lightsail throws this exception when it cannot find a resource.
  8831  //
  8832  //   * OperationFailureException
  8833  //   Lightsail throws this exception when an operation fails to execute.
  8834  //
  8835  //   * AccessDeniedException
  8836  //   Lightsail throws this exception when the user cannot be authenticated or
  8837  //   uses invalid credentials to access a resource.
  8838  //
  8839  //   * AccountSetupInProgressException
  8840  //   Lightsail throws this exception when an account is still in the setup in
  8841  //   progress state.
  8842  //
  8843  //   * UnauthenticatedException
  8844  //   Lightsail throws this exception when the user has not been authenticated.
  8845  //
  8846  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
  8847  func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
  8848  	req, out := c.GetDisksRequest(input)
  8849  	return out, req.Send()
  8850  }
  8851  
  8852  // GetDisksWithContext is the same as GetDisks with the addition of
  8853  // the ability to pass a context and additional request options.
  8854  //
  8855  // See GetDisks for details on how to use this API operation.
  8856  //
  8857  // The context must be non-nil and will be used for request cancellation. If
  8858  // the context is nil a panic will occur. In the future the SDK may create
  8859  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8860  // for more information on using Contexts.
  8861  func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
  8862  	req, out := c.GetDisksRequest(input)
  8863  	req.SetContext(ctx)
  8864  	req.ApplyOptions(opts...)
  8865  	return out, req.Send()
  8866  }
  8867  
  8868  const opGetDistributionBundles = "GetDistributionBundles"
  8869  
  8870  // GetDistributionBundlesRequest generates a "aws/request.Request" representing the
  8871  // client's request for the GetDistributionBundles operation. The "output" return
  8872  // value will be populated with the request's response once the request completes
  8873  // successfully.
  8874  //
  8875  // Use "Send" method on the returned Request to send the API call to the service.
  8876  // the "output" return value is not valid until after Send returns without error.
  8877  //
  8878  // See GetDistributionBundles for more information on using the GetDistributionBundles
  8879  // API call, and error handling.
  8880  //
  8881  // This method is useful when you want to inject custom logic or configuration
  8882  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8883  //
  8884  //
  8885  //    // Example sending a request using the GetDistributionBundlesRequest method.
  8886  //    req, resp := client.GetDistributionBundlesRequest(params)
  8887  //
  8888  //    err := req.Send()
  8889  //    if err == nil { // resp is now filled
  8890  //        fmt.Println(resp)
  8891  //    }
  8892  //
  8893  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
  8894  func (c *Lightsail) GetDistributionBundlesRequest(input *GetDistributionBundlesInput) (req *request.Request, output *GetDistributionBundlesOutput) {
  8895  	op := &request.Operation{
  8896  		Name:       opGetDistributionBundles,
  8897  		HTTPMethod: "POST",
  8898  		HTTPPath:   "/",
  8899  	}
  8900  
  8901  	if input == nil {
  8902  		input = &GetDistributionBundlesInput{}
  8903  	}
  8904  
  8905  	output = &GetDistributionBundlesOutput{}
  8906  	req = c.newRequest(op, input, output)
  8907  	return
  8908  }
  8909  
  8910  // GetDistributionBundles API operation for Amazon Lightsail.
  8911  //
  8912  // Returns the bundles that can be applied to your Amazon Lightsail content
  8913  // delivery network (CDN) distributions.
  8914  //
  8915  // A distribution bundle specifies the monthly network transfer quota and monthly
  8916  // cost of your dsitribution.
  8917  //
  8918  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8919  // with awserr.Error's Code and Message methods to get detailed information about
  8920  // the error.
  8921  //
  8922  // See the AWS API reference guide for Amazon Lightsail's
  8923  // API operation GetDistributionBundles for usage and error information.
  8924  //
  8925  // Returned Error Types:
  8926  //   * ServiceException
  8927  //   A general service exception.
  8928  //
  8929  //   * InvalidInputException
  8930  //   Lightsail throws this exception when user input does not conform to the validation
  8931  //   rules of an input field.
  8932  //
  8933  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  8934  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  8935  //   view, or edit these resources.
  8936  //
  8937  //   * NotFoundException
  8938  //   Lightsail throws this exception when it cannot find a resource.
  8939  //
  8940  //   * OperationFailureException
  8941  //   Lightsail throws this exception when an operation fails to execute.
  8942  //
  8943  //   * AccessDeniedException
  8944  //   Lightsail throws this exception when the user cannot be authenticated or
  8945  //   uses invalid credentials to access a resource.
  8946  //
  8947  //   * UnauthenticatedException
  8948  //   Lightsail throws this exception when the user has not been authenticated.
  8949  //
  8950  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
  8951  func (c *Lightsail) GetDistributionBundles(input *GetDistributionBundlesInput) (*GetDistributionBundlesOutput, error) {
  8952  	req, out := c.GetDistributionBundlesRequest(input)
  8953  	return out, req.Send()
  8954  }
  8955  
  8956  // GetDistributionBundlesWithContext is the same as GetDistributionBundles with the addition of
  8957  // the ability to pass a context and additional request options.
  8958  //
  8959  // See GetDistributionBundles for details on how to use this API operation.
  8960  //
  8961  // The context must be non-nil and will be used for request cancellation. If
  8962  // the context is nil a panic will occur. In the future the SDK may create
  8963  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8964  // for more information on using Contexts.
  8965  func (c *Lightsail) GetDistributionBundlesWithContext(ctx aws.Context, input *GetDistributionBundlesInput, opts ...request.Option) (*GetDistributionBundlesOutput, error) {
  8966  	req, out := c.GetDistributionBundlesRequest(input)
  8967  	req.SetContext(ctx)
  8968  	req.ApplyOptions(opts...)
  8969  	return out, req.Send()
  8970  }
  8971  
  8972  const opGetDistributionLatestCacheReset = "GetDistributionLatestCacheReset"
  8973  
  8974  // GetDistributionLatestCacheResetRequest generates a "aws/request.Request" representing the
  8975  // client's request for the GetDistributionLatestCacheReset operation. The "output" return
  8976  // value will be populated with the request's response once the request completes
  8977  // successfully.
  8978  //
  8979  // Use "Send" method on the returned Request to send the API call to the service.
  8980  // the "output" return value is not valid until after Send returns without error.
  8981  //
  8982  // See GetDistributionLatestCacheReset for more information on using the GetDistributionLatestCacheReset
  8983  // API call, and error handling.
  8984  //
  8985  // This method is useful when you want to inject custom logic or configuration
  8986  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8987  //
  8988  //
  8989  //    // Example sending a request using the GetDistributionLatestCacheResetRequest method.
  8990  //    req, resp := client.GetDistributionLatestCacheResetRequest(params)
  8991  //
  8992  //    err := req.Send()
  8993  //    if err == nil { // resp is now filled
  8994  //        fmt.Println(resp)
  8995  //    }
  8996  //
  8997  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
  8998  func (c *Lightsail) GetDistributionLatestCacheResetRequest(input *GetDistributionLatestCacheResetInput) (req *request.Request, output *GetDistributionLatestCacheResetOutput) {
  8999  	op := &request.Operation{
  9000  		Name:       opGetDistributionLatestCacheReset,
  9001  		HTTPMethod: "POST",
  9002  		HTTPPath:   "/",
  9003  	}
  9004  
  9005  	if input == nil {
  9006  		input = &GetDistributionLatestCacheResetInput{}
  9007  	}
  9008  
  9009  	output = &GetDistributionLatestCacheResetOutput{}
  9010  	req = c.newRequest(op, input, output)
  9011  	return
  9012  }
  9013  
  9014  // GetDistributionLatestCacheReset API operation for Amazon Lightsail.
  9015  //
  9016  // Returns the timestamp and status of the last cache reset of a specific Amazon
  9017  // Lightsail content delivery network (CDN) distribution.
  9018  //
  9019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9020  // with awserr.Error's Code and Message methods to get detailed information about
  9021  // the error.
  9022  //
  9023  // See the AWS API reference guide for Amazon Lightsail's
  9024  // API operation GetDistributionLatestCacheReset for usage and error information.
  9025  //
  9026  // Returned Error Types:
  9027  //   * ServiceException
  9028  //   A general service exception.
  9029  //
  9030  //   * InvalidInputException
  9031  //   Lightsail throws this exception when user input does not conform to the validation
  9032  //   rules of an input field.
  9033  //
  9034  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9035  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9036  //   view, or edit these resources.
  9037  //
  9038  //   * NotFoundException
  9039  //   Lightsail throws this exception when it cannot find a resource.
  9040  //
  9041  //   * OperationFailureException
  9042  //   Lightsail throws this exception when an operation fails to execute.
  9043  //
  9044  //   * AccessDeniedException
  9045  //   Lightsail throws this exception when the user cannot be authenticated or
  9046  //   uses invalid credentials to access a resource.
  9047  //
  9048  //   * UnauthenticatedException
  9049  //   Lightsail throws this exception when the user has not been authenticated.
  9050  //
  9051  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
  9052  func (c *Lightsail) GetDistributionLatestCacheReset(input *GetDistributionLatestCacheResetInput) (*GetDistributionLatestCacheResetOutput, error) {
  9053  	req, out := c.GetDistributionLatestCacheResetRequest(input)
  9054  	return out, req.Send()
  9055  }
  9056  
  9057  // GetDistributionLatestCacheResetWithContext is the same as GetDistributionLatestCacheReset with the addition of
  9058  // the ability to pass a context and additional request options.
  9059  //
  9060  // See GetDistributionLatestCacheReset for details on how to use this API operation.
  9061  //
  9062  // The context must be non-nil and will be used for request cancellation. If
  9063  // the context is nil a panic will occur. In the future the SDK may create
  9064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9065  // for more information on using Contexts.
  9066  func (c *Lightsail) GetDistributionLatestCacheResetWithContext(ctx aws.Context, input *GetDistributionLatestCacheResetInput, opts ...request.Option) (*GetDistributionLatestCacheResetOutput, error) {
  9067  	req, out := c.GetDistributionLatestCacheResetRequest(input)
  9068  	req.SetContext(ctx)
  9069  	req.ApplyOptions(opts...)
  9070  	return out, req.Send()
  9071  }
  9072  
  9073  const opGetDistributionMetricData = "GetDistributionMetricData"
  9074  
  9075  // GetDistributionMetricDataRequest generates a "aws/request.Request" representing the
  9076  // client's request for the GetDistributionMetricData operation. The "output" return
  9077  // value will be populated with the request's response once the request completes
  9078  // successfully.
  9079  //
  9080  // Use "Send" method on the returned Request to send the API call to the service.
  9081  // the "output" return value is not valid until after Send returns without error.
  9082  //
  9083  // See GetDistributionMetricData for more information on using the GetDistributionMetricData
  9084  // API call, and error handling.
  9085  //
  9086  // This method is useful when you want to inject custom logic or configuration
  9087  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9088  //
  9089  //
  9090  //    // Example sending a request using the GetDistributionMetricDataRequest method.
  9091  //    req, resp := client.GetDistributionMetricDataRequest(params)
  9092  //
  9093  //    err := req.Send()
  9094  //    if err == nil { // resp is now filled
  9095  //        fmt.Println(resp)
  9096  //    }
  9097  //
  9098  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
  9099  func (c *Lightsail) GetDistributionMetricDataRequest(input *GetDistributionMetricDataInput) (req *request.Request, output *GetDistributionMetricDataOutput) {
  9100  	op := &request.Operation{
  9101  		Name:       opGetDistributionMetricData,
  9102  		HTTPMethod: "POST",
  9103  		HTTPPath:   "/",
  9104  	}
  9105  
  9106  	if input == nil {
  9107  		input = &GetDistributionMetricDataInput{}
  9108  	}
  9109  
  9110  	output = &GetDistributionMetricDataOutput{}
  9111  	req = c.newRequest(op, input, output)
  9112  	return
  9113  }
  9114  
  9115  // GetDistributionMetricData API operation for Amazon Lightsail.
  9116  //
  9117  // Returns the data points of a specific metric for an Amazon Lightsail content
  9118  // delivery network (CDN) distribution.
  9119  //
  9120  // Metrics report the utilization of your resources, and the error counts generated
  9121  // by them. Monitor and collect metric data regularly to maintain the reliability,
  9122  // availability, and performance of your resources.
  9123  //
  9124  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9125  // with awserr.Error's Code and Message methods to get detailed information about
  9126  // the error.
  9127  //
  9128  // See the AWS API reference guide for Amazon Lightsail's
  9129  // API operation GetDistributionMetricData for usage and error information.
  9130  //
  9131  // Returned Error Types:
  9132  //   * ServiceException
  9133  //   A general service exception.
  9134  //
  9135  //   * InvalidInputException
  9136  //   Lightsail throws this exception when user input does not conform to the validation
  9137  //   rules of an input field.
  9138  //
  9139  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9140  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9141  //   view, or edit these resources.
  9142  //
  9143  //   * NotFoundException
  9144  //   Lightsail throws this exception when it cannot find a resource.
  9145  //
  9146  //   * OperationFailureException
  9147  //   Lightsail throws this exception when an operation fails to execute.
  9148  //
  9149  //   * AccessDeniedException
  9150  //   Lightsail throws this exception when the user cannot be authenticated or
  9151  //   uses invalid credentials to access a resource.
  9152  //
  9153  //   * UnauthenticatedException
  9154  //   Lightsail throws this exception when the user has not been authenticated.
  9155  //
  9156  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
  9157  func (c *Lightsail) GetDistributionMetricData(input *GetDistributionMetricDataInput) (*GetDistributionMetricDataOutput, error) {
  9158  	req, out := c.GetDistributionMetricDataRequest(input)
  9159  	return out, req.Send()
  9160  }
  9161  
  9162  // GetDistributionMetricDataWithContext is the same as GetDistributionMetricData with the addition of
  9163  // the ability to pass a context and additional request options.
  9164  //
  9165  // See GetDistributionMetricData for details on how to use this API operation.
  9166  //
  9167  // The context must be non-nil and will be used for request cancellation. If
  9168  // the context is nil a panic will occur. In the future the SDK may create
  9169  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9170  // for more information on using Contexts.
  9171  func (c *Lightsail) GetDistributionMetricDataWithContext(ctx aws.Context, input *GetDistributionMetricDataInput, opts ...request.Option) (*GetDistributionMetricDataOutput, error) {
  9172  	req, out := c.GetDistributionMetricDataRequest(input)
  9173  	req.SetContext(ctx)
  9174  	req.ApplyOptions(opts...)
  9175  	return out, req.Send()
  9176  }
  9177  
  9178  const opGetDistributions = "GetDistributions"
  9179  
  9180  // GetDistributionsRequest generates a "aws/request.Request" representing the
  9181  // client's request for the GetDistributions operation. The "output" return
  9182  // value will be populated with the request's response once the request completes
  9183  // successfully.
  9184  //
  9185  // Use "Send" method on the returned Request to send the API call to the service.
  9186  // the "output" return value is not valid until after Send returns without error.
  9187  //
  9188  // See GetDistributions for more information on using the GetDistributions
  9189  // API call, and error handling.
  9190  //
  9191  // This method is useful when you want to inject custom logic or configuration
  9192  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9193  //
  9194  //
  9195  //    // Example sending a request using the GetDistributionsRequest method.
  9196  //    req, resp := client.GetDistributionsRequest(params)
  9197  //
  9198  //    err := req.Send()
  9199  //    if err == nil { // resp is now filled
  9200  //        fmt.Println(resp)
  9201  //    }
  9202  //
  9203  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
  9204  func (c *Lightsail) GetDistributionsRequest(input *GetDistributionsInput) (req *request.Request, output *GetDistributionsOutput) {
  9205  	op := &request.Operation{
  9206  		Name:       opGetDistributions,
  9207  		HTTPMethod: "POST",
  9208  		HTTPPath:   "/",
  9209  	}
  9210  
  9211  	if input == nil {
  9212  		input = &GetDistributionsInput{}
  9213  	}
  9214  
  9215  	output = &GetDistributionsOutput{}
  9216  	req = c.newRequest(op, input, output)
  9217  	return
  9218  }
  9219  
  9220  // GetDistributions API operation for Amazon Lightsail.
  9221  //
  9222  // Returns information about one or more of your Amazon Lightsail content delivery
  9223  // network (CDN) distributions.
  9224  //
  9225  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9226  // with awserr.Error's Code and Message methods to get detailed information about
  9227  // the error.
  9228  //
  9229  // See the AWS API reference guide for Amazon Lightsail's
  9230  // API operation GetDistributions for usage and error information.
  9231  //
  9232  // Returned Error Types:
  9233  //   * ServiceException
  9234  //   A general service exception.
  9235  //
  9236  //   * InvalidInputException
  9237  //   Lightsail throws this exception when user input does not conform to the validation
  9238  //   rules of an input field.
  9239  //
  9240  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9241  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9242  //   view, or edit these resources.
  9243  //
  9244  //   * NotFoundException
  9245  //   Lightsail throws this exception when it cannot find a resource.
  9246  //
  9247  //   * OperationFailureException
  9248  //   Lightsail throws this exception when an operation fails to execute.
  9249  //
  9250  //   * AccessDeniedException
  9251  //   Lightsail throws this exception when the user cannot be authenticated or
  9252  //   uses invalid credentials to access a resource.
  9253  //
  9254  //   * UnauthenticatedException
  9255  //   Lightsail throws this exception when the user has not been authenticated.
  9256  //
  9257  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
  9258  func (c *Lightsail) GetDistributions(input *GetDistributionsInput) (*GetDistributionsOutput, error) {
  9259  	req, out := c.GetDistributionsRequest(input)
  9260  	return out, req.Send()
  9261  }
  9262  
  9263  // GetDistributionsWithContext is the same as GetDistributions with the addition of
  9264  // the ability to pass a context and additional request options.
  9265  //
  9266  // See GetDistributions for details on how to use this API operation.
  9267  //
  9268  // The context must be non-nil and will be used for request cancellation. If
  9269  // the context is nil a panic will occur. In the future the SDK may create
  9270  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9271  // for more information on using Contexts.
  9272  func (c *Lightsail) GetDistributionsWithContext(ctx aws.Context, input *GetDistributionsInput, opts ...request.Option) (*GetDistributionsOutput, error) {
  9273  	req, out := c.GetDistributionsRequest(input)
  9274  	req.SetContext(ctx)
  9275  	req.ApplyOptions(opts...)
  9276  	return out, req.Send()
  9277  }
  9278  
  9279  const opGetDomain = "GetDomain"
  9280  
  9281  // GetDomainRequest generates a "aws/request.Request" representing the
  9282  // client's request for the GetDomain operation. The "output" return
  9283  // value will be populated with the request's response once the request completes
  9284  // successfully.
  9285  //
  9286  // Use "Send" method on the returned Request to send the API call to the service.
  9287  // the "output" return value is not valid until after Send returns without error.
  9288  //
  9289  // See GetDomain for more information on using the GetDomain
  9290  // API call, and error handling.
  9291  //
  9292  // This method is useful when you want to inject custom logic or configuration
  9293  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9294  //
  9295  //
  9296  //    // Example sending a request using the GetDomainRequest method.
  9297  //    req, resp := client.GetDomainRequest(params)
  9298  //
  9299  //    err := req.Send()
  9300  //    if err == nil { // resp is now filled
  9301  //        fmt.Println(resp)
  9302  //    }
  9303  //
  9304  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
  9305  func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
  9306  	op := &request.Operation{
  9307  		Name:       opGetDomain,
  9308  		HTTPMethod: "POST",
  9309  		HTTPPath:   "/",
  9310  	}
  9311  
  9312  	if input == nil {
  9313  		input = &GetDomainInput{}
  9314  	}
  9315  
  9316  	output = &GetDomainOutput{}
  9317  	req = c.newRequest(op, input, output)
  9318  	return
  9319  }
  9320  
  9321  // GetDomain API operation for Amazon Lightsail.
  9322  //
  9323  // Returns information about a specific domain recordset.
  9324  //
  9325  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9326  // with awserr.Error's Code and Message methods to get detailed information about
  9327  // the error.
  9328  //
  9329  // See the AWS API reference guide for Amazon Lightsail's
  9330  // API operation GetDomain for usage and error information.
  9331  //
  9332  // Returned Error Types:
  9333  //   * ServiceException
  9334  //   A general service exception.
  9335  //
  9336  //   * InvalidInputException
  9337  //   Lightsail throws this exception when user input does not conform to the validation
  9338  //   rules of an input field.
  9339  //
  9340  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9341  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9342  //   view, or edit these resources.
  9343  //
  9344  //   * NotFoundException
  9345  //   Lightsail throws this exception when it cannot find a resource.
  9346  //
  9347  //   * OperationFailureException
  9348  //   Lightsail throws this exception when an operation fails to execute.
  9349  //
  9350  //   * AccessDeniedException
  9351  //   Lightsail throws this exception when the user cannot be authenticated or
  9352  //   uses invalid credentials to access a resource.
  9353  //
  9354  //   * AccountSetupInProgressException
  9355  //   Lightsail throws this exception when an account is still in the setup in
  9356  //   progress state.
  9357  //
  9358  //   * UnauthenticatedException
  9359  //   Lightsail throws this exception when the user has not been authenticated.
  9360  //
  9361  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
  9362  func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
  9363  	req, out := c.GetDomainRequest(input)
  9364  	return out, req.Send()
  9365  }
  9366  
  9367  // GetDomainWithContext is the same as GetDomain with the addition of
  9368  // the ability to pass a context and additional request options.
  9369  //
  9370  // See GetDomain for details on how to use this API operation.
  9371  //
  9372  // The context must be non-nil and will be used for request cancellation. If
  9373  // the context is nil a panic will occur. In the future the SDK may create
  9374  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9375  // for more information on using Contexts.
  9376  func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
  9377  	req, out := c.GetDomainRequest(input)
  9378  	req.SetContext(ctx)
  9379  	req.ApplyOptions(opts...)
  9380  	return out, req.Send()
  9381  }
  9382  
  9383  const opGetDomains = "GetDomains"
  9384  
  9385  // GetDomainsRequest generates a "aws/request.Request" representing the
  9386  // client's request for the GetDomains operation. The "output" return
  9387  // value will be populated with the request's response once the request completes
  9388  // successfully.
  9389  //
  9390  // Use "Send" method on the returned Request to send the API call to the service.
  9391  // the "output" return value is not valid until after Send returns without error.
  9392  //
  9393  // See GetDomains for more information on using the GetDomains
  9394  // API call, and error handling.
  9395  //
  9396  // This method is useful when you want to inject custom logic or configuration
  9397  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9398  //
  9399  //
  9400  //    // Example sending a request using the GetDomainsRequest method.
  9401  //    req, resp := client.GetDomainsRequest(params)
  9402  //
  9403  //    err := req.Send()
  9404  //    if err == nil { // resp is now filled
  9405  //        fmt.Println(resp)
  9406  //    }
  9407  //
  9408  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
  9409  func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
  9410  	op := &request.Operation{
  9411  		Name:       opGetDomains,
  9412  		HTTPMethod: "POST",
  9413  		HTTPPath:   "/",
  9414  	}
  9415  
  9416  	if input == nil {
  9417  		input = &GetDomainsInput{}
  9418  	}
  9419  
  9420  	output = &GetDomainsOutput{}
  9421  	req = c.newRequest(op, input, output)
  9422  	return
  9423  }
  9424  
  9425  // GetDomains API operation for Amazon Lightsail.
  9426  //
  9427  // Returns a list of all domains in the user's account.
  9428  //
  9429  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9430  // with awserr.Error's Code and Message methods to get detailed information about
  9431  // the error.
  9432  //
  9433  // See the AWS API reference guide for Amazon Lightsail's
  9434  // API operation GetDomains for usage and error information.
  9435  //
  9436  // Returned Error Types:
  9437  //   * ServiceException
  9438  //   A general service exception.
  9439  //
  9440  //   * InvalidInputException
  9441  //   Lightsail throws this exception when user input does not conform to the validation
  9442  //   rules of an input field.
  9443  //
  9444  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9445  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9446  //   view, or edit these resources.
  9447  //
  9448  //   * NotFoundException
  9449  //   Lightsail throws this exception when it cannot find a resource.
  9450  //
  9451  //   * OperationFailureException
  9452  //   Lightsail throws this exception when an operation fails to execute.
  9453  //
  9454  //   * AccessDeniedException
  9455  //   Lightsail throws this exception when the user cannot be authenticated or
  9456  //   uses invalid credentials to access a resource.
  9457  //
  9458  //   * AccountSetupInProgressException
  9459  //   Lightsail throws this exception when an account is still in the setup in
  9460  //   progress state.
  9461  //
  9462  //   * UnauthenticatedException
  9463  //   Lightsail throws this exception when the user has not been authenticated.
  9464  //
  9465  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
  9466  func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
  9467  	req, out := c.GetDomainsRequest(input)
  9468  	return out, req.Send()
  9469  }
  9470  
  9471  // GetDomainsWithContext is the same as GetDomains with the addition of
  9472  // the ability to pass a context and additional request options.
  9473  //
  9474  // See GetDomains for details on how to use this API operation.
  9475  //
  9476  // The context must be non-nil and will be used for request cancellation. If
  9477  // the context is nil a panic will occur. In the future the SDK may create
  9478  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9479  // for more information on using Contexts.
  9480  func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
  9481  	req, out := c.GetDomainsRequest(input)
  9482  	req.SetContext(ctx)
  9483  	req.ApplyOptions(opts...)
  9484  	return out, req.Send()
  9485  }
  9486  
  9487  const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
  9488  
  9489  // GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
  9490  // client's request for the GetExportSnapshotRecords operation. The "output" return
  9491  // value will be populated with the request's response once the request completes
  9492  // successfully.
  9493  //
  9494  // Use "Send" method on the returned Request to send the API call to the service.
  9495  // the "output" return value is not valid until after Send returns without error.
  9496  //
  9497  // See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
  9498  // API call, and error handling.
  9499  //
  9500  // This method is useful when you want to inject custom logic or configuration
  9501  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9502  //
  9503  //
  9504  //    // Example sending a request using the GetExportSnapshotRecordsRequest method.
  9505  //    req, resp := client.GetExportSnapshotRecordsRequest(params)
  9506  //
  9507  //    err := req.Send()
  9508  //    if err == nil { // resp is now filled
  9509  //        fmt.Println(resp)
  9510  //    }
  9511  //
  9512  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
  9513  func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
  9514  	op := &request.Operation{
  9515  		Name:       opGetExportSnapshotRecords,
  9516  		HTTPMethod: "POST",
  9517  		HTTPPath:   "/",
  9518  	}
  9519  
  9520  	if input == nil {
  9521  		input = &GetExportSnapshotRecordsInput{}
  9522  	}
  9523  
  9524  	output = &GetExportSnapshotRecordsOutput{}
  9525  	req = c.newRequest(op, input, output)
  9526  	return
  9527  }
  9528  
  9529  // GetExportSnapshotRecords API operation for Amazon Lightsail.
  9530  //
  9531  // Returns all export snapshot records created as a result of the export snapshot
  9532  // operation.
  9533  //
  9534  // An export snapshot record can be used to create a new Amazon EC2 instance
  9535  // and its related resources with the CreateCloudFormationStack action.
  9536  //
  9537  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9538  // with awserr.Error's Code and Message methods to get detailed information about
  9539  // the error.
  9540  //
  9541  // See the AWS API reference guide for Amazon Lightsail's
  9542  // API operation GetExportSnapshotRecords for usage and error information.
  9543  //
  9544  // Returned Error Types:
  9545  //   * ServiceException
  9546  //   A general service exception.
  9547  //
  9548  //   * InvalidInputException
  9549  //   Lightsail throws this exception when user input does not conform to the validation
  9550  //   rules of an input field.
  9551  //
  9552  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9553  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9554  //   view, or edit these resources.
  9555  //
  9556  //   * NotFoundException
  9557  //   Lightsail throws this exception when it cannot find a resource.
  9558  //
  9559  //   * OperationFailureException
  9560  //   Lightsail throws this exception when an operation fails to execute.
  9561  //
  9562  //   * AccessDeniedException
  9563  //   Lightsail throws this exception when the user cannot be authenticated or
  9564  //   uses invalid credentials to access a resource.
  9565  //
  9566  //   * AccountSetupInProgressException
  9567  //   Lightsail throws this exception when an account is still in the setup in
  9568  //   progress state.
  9569  //
  9570  //   * UnauthenticatedException
  9571  //   Lightsail throws this exception when the user has not been authenticated.
  9572  //
  9573  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
  9574  func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
  9575  	req, out := c.GetExportSnapshotRecordsRequest(input)
  9576  	return out, req.Send()
  9577  }
  9578  
  9579  // GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
  9580  // the ability to pass a context and additional request options.
  9581  //
  9582  // See GetExportSnapshotRecords for details on how to use this API operation.
  9583  //
  9584  // The context must be non-nil and will be used for request cancellation. If
  9585  // the context is nil a panic will occur. In the future the SDK may create
  9586  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9587  // for more information on using Contexts.
  9588  func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
  9589  	req, out := c.GetExportSnapshotRecordsRequest(input)
  9590  	req.SetContext(ctx)
  9591  	req.ApplyOptions(opts...)
  9592  	return out, req.Send()
  9593  }
  9594  
  9595  const opGetInstance = "GetInstance"
  9596  
  9597  // GetInstanceRequest generates a "aws/request.Request" representing the
  9598  // client's request for the GetInstance operation. The "output" return
  9599  // value will be populated with the request's response once the request completes
  9600  // successfully.
  9601  //
  9602  // Use "Send" method on the returned Request to send the API call to the service.
  9603  // the "output" return value is not valid until after Send returns without error.
  9604  //
  9605  // See GetInstance for more information on using the GetInstance
  9606  // API call, and error handling.
  9607  //
  9608  // This method is useful when you want to inject custom logic or configuration
  9609  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9610  //
  9611  //
  9612  //    // Example sending a request using the GetInstanceRequest method.
  9613  //    req, resp := client.GetInstanceRequest(params)
  9614  //
  9615  //    err := req.Send()
  9616  //    if err == nil { // resp is now filled
  9617  //        fmt.Println(resp)
  9618  //    }
  9619  //
  9620  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
  9621  func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
  9622  	op := &request.Operation{
  9623  		Name:       opGetInstance,
  9624  		HTTPMethod: "POST",
  9625  		HTTPPath:   "/",
  9626  	}
  9627  
  9628  	if input == nil {
  9629  		input = &GetInstanceInput{}
  9630  	}
  9631  
  9632  	output = &GetInstanceOutput{}
  9633  	req = c.newRequest(op, input, output)
  9634  	return
  9635  }
  9636  
  9637  // GetInstance API operation for Amazon Lightsail.
  9638  //
  9639  // Returns information about a specific Amazon Lightsail instance, which is
  9640  // a virtual private server.
  9641  //
  9642  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9643  // with awserr.Error's Code and Message methods to get detailed information about
  9644  // the error.
  9645  //
  9646  // See the AWS API reference guide for Amazon Lightsail's
  9647  // API operation GetInstance for usage and error information.
  9648  //
  9649  // Returned Error Types:
  9650  //   * ServiceException
  9651  //   A general service exception.
  9652  //
  9653  //   * InvalidInputException
  9654  //   Lightsail throws this exception when user input does not conform to the validation
  9655  //   rules of an input field.
  9656  //
  9657  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9658  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9659  //   view, or edit these resources.
  9660  //
  9661  //   * NotFoundException
  9662  //   Lightsail throws this exception when it cannot find a resource.
  9663  //
  9664  //   * OperationFailureException
  9665  //   Lightsail throws this exception when an operation fails to execute.
  9666  //
  9667  //   * AccessDeniedException
  9668  //   Lightsail throws this exception when the user cannot be authenticated or
  9669  //   uses invalid credentials to access a resource.
  9670  //
  9671  //   * AccountSetupInProgressException
  9672  //   Lightsail throws this exception when an account is still in the setup in
  9673  //   progress state.
  9674  //
  9675  //   * UnauthenticatedException
  9676  //   Lightsail throws this exception when the user has not been authenticated.
  9677  //
  9678  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
  9679  func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
  9680  	req, out := c.GetInstanceRequest(input)
  9681  	return out, req.Send()
  9682  }
  9683  
  9684  // GetInstanceWithContext is the same as GetInstance with the addition of
  9685  // the ability to pass a context and additional request options.
  9686  //
  9687  // See GetInstance for details on how to use this API operation.
  9688  //
  9689  // The context must be non-nil and will be used for request cancellation. If
  9690  // the context is nil a panic will occur. In the future the SDK may create
  9691  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9692  // for more information on using Contexts.
  9693  func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
  9694  	req, out := c.GetInstanceRequest(input)
  9695  	req.SetContext(ctx)
  9696  	req.ApplyOptions(opts...)
  9697  	return out, req.Send()
  9698  }
  9699  
  9700  const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
  9701  
  9702  // GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
  9703  // client's request for the GetInstanceAccessDetails operation. The "output" return
  9704  // value will be populated with the request's response once the request completes
  9705  // successfully.
  9706  //
  9707  // Use "Send" method on the returned Request to send the API call to the service.
  9708  // the "output" return value is not valid until after Send returns without error.
  9709  //
  9710  // See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
  9711  // API call, and error handling.
  9712  //
  9713  // This method is useful when you want to inject custom logic or configuration
  9714  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9715  //
  9716  //
  9717  //    // Example sending a request using the GetInstanceAccessDetailsRequest method.
  9718  //    req, resp := client.GetInstanceAccessDetailsRequest(params)
  9719  //
  9720  //    err := req.Send()
  9721  //    if err == nil { // resp is now filled
  9722  //        fmt.Println(resp)
  9723  //    }
  9724  //
  9725  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
  9726  func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
  9727  	op := &request.Operation{
  9728  		Name:       opGetInstanceAccessDetails,
  9729  		HTTPMethod: "POST",
  9730  		HTTPPath:   "/",
  9731  	}
  9732  
  9733  	if input == nil {
  9734  		input = &GetInstanceAccessDetailsInput{}
  9735  	}
  9736  
  9737  	output = &GetInstanceAccessDetailsOutput{}
  9738  	req = c.newRequest(op, input, output)
  9739  	return
  9740  }
  9741  
  9742  // GetInstanceAccessDetails API operation for Amazon Lightsail.
  9743  //
  9744  // Returns temporary SSH keys you can use to connect to a specific virtual private
  9745  // server, or instance.
  9746  //
  9747  // The get instance access details operation supports tag-based access control
  9748  // via resource tags applied to the resource identified by instance name. For
  9749  // more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
  9750  //
  9751  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9752  // with awserr.Error's Code and Message methods to get detailed information about
  9753  // the error.
  9754  //
  9755  // See the AWS API reference guide for Amazon Lightsail's
  9756  // API operation GetInstanceAccessDetails for usage and error information.
  9757  //
  9758  // Returned Error Types:
  9759  //   * ServiceException
  9760  //   A general service exception.
  9761  //
  9762  //   * InvalidInputException
  9763  //   Lightsail throws this exception when user input does not conform to the validation
  9764  //   rules of an input field.
  9765  //
  9766  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9767  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9768  //   view, or edit these resources.
  9769  //
  9770  //   * NotFoundException
  9771  //   Lightsail throws this exception when it cannot find a resource.
  9772  //
  9773  //   * OperationFailureException
  9774  //   Lightsail throws this exception when an operation fails to execute.
  9775  //
  9776  //   * AccessDeniedException
  9777  //   Lightsail throws this exception when the user cannot be authenticated or
  9778  //   uses invalid credentials to access a resource.
  9779  //
  9780  //   * AccountSetupInProgressException
  9781  //   Lightsail throws this exception when an account is still in the setup in
  9782  //   progress state.
  9783  //
  9784  //   * UnauthenticatedException
  9785  //   Lightsail throws this exception when the user has not been authenticated.
  9786  //
  9787  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
  9788  func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
  9789  	req, out := c.GetInstanceAccessDetailsRequest(input)
  9790  	return out, req.Send()
  9791  }
  9792  
  9793  // GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
  9794  // the ability to pass a context and additional request options.
  9795  //
  9796  // See GetInstanceAccessDetails for details on how to use this API operation.
  9797  //
  9798  // The context must be non-nil and will be used for request cancellation. If
  9799  // the context is nil a panic will occur. In the future the SDK may create
  9800  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9801  // for more information on using Contexts.
  9802  func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
  9803  	req, out := c.GetInstanceAccessDetailsRequest(input)
  9804  	req.SetContext(ctx)
  9805  	req.ApplyOptions(opts...)
  9806  	return out, req.Send()
  9807  }
  9808  
  9809  const opGetInstanceMetricData = "GetInstanceMetricData"
  9810  
  9811  // GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
  9812  // client's request for the GetInstanceMetricData operation. The "output" return
  9813  // value will be populated with the request's response once the request completes
  9814  // successfully.
  9815  //
  9816  // Use "Send" method on the returned Request to send the API call to the service.
  9817  // the "output" return value is not valid until after Send returns without error.
  9818  //
  9819  // See GetInstanceMetricData for more information on using the GetInstanceMetricData
  9820  // API call, and error handling.
  9821  //
  9822  // This method is useful when you want to inject custom logic or configuration
  9823  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9824  //
  9825  //
  9826  //    // Example sending a request using the GetInstanceMetricDataRequest method.
  9827  //    req, resp := client.GetInstanceMetricDataRequest(params)
  9828  //
  9829  //    err := req.Send()
  9830  //    if err == nil { // resp is now filled
  9831  //        fmt.Println(resp)
  9832  //    }
  9833  //
  9834  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
  9835  func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
  9836  	op := &request.Operation{
  9837  		Name:       opGetInstanceMetricData,
  9838  		HTTPMethod: "POST",
  9839  		HTTPPath:   "/",
  9840  	}
  9841  
  9842  	if input == nil {
  9843  		input = &GetInstanceMetricDataInput{}
  9844  	}
  9845  
  9846  	output = &GetInstanceMetricDataOutput{}
  9847  	req = c.newRequest(op, input, output)
  9848  	return
  9849  }
  9850  
  9851  // GetInstanceMetricData API operation for Amazon Lightsail.
  9852  //
  9853  // Returns the data points for the specified Amazon Lightsail instance metric,
  9854  // given an instance name.
  9855  //
  9856  // Metrics report the utilization of your resources, and the error counts generated
  9857  // by them. Monitor and collect metric data regularly to maintain the reliability,
  9858  // availability, and performance of your resources.
  9859  //
  9860  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9861  // with awserr.Error's Code and Message methods to get detailed information about
  9862  // the error.
  9863  //
  9864  // See the AWS API reference guide for Amazon Lightsail's
  9865  // API operation GetInstanceMetricData for usage and error information.
  9866  //
  9867  // Returned Error Types:
  9868  //   * ServiceException
  9869  //   A general service exception.
  9870  //
  9871  //   * InvalidInputException
  9872  //   Lightsail throws this exception when user input does not conform to the validation
  9873  //   rules of an input field.
  9874  //
  9875  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9876  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9877  //   view, or edit these resources.
  9878  //
  9879  //   * NotFoundException
  9880  //   Lightsail throws this exception when it cannot find a resource.
  9881  //
  9882  //   * OperationFailureException
  9883  //   Lightsail throws this exception when an operation fails to execute.
  9884  //
  9885  //   * AccessDeniedException
  9886  //   Lightsail throws this exception when the user cannot be authenticated or
  9887  //   uses invalid credentials to access a resource.
  9888  //
  9889  //   * AccountSetupInProgressException
  9890  //   Lightsail throws this exception when an account is still in the setup in
  9891  //   progress state.
  9892  //
  9893  //   * UnauthenticatedException
  9894  //   Lightsail throws this exception when the user has not been authenticated.
  9895  //
  9896  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
  9897  func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
  9898  	req, out := c.GetInstanceMetricDataRequest(input)
  9899  	return out, req.Send()
  9900  }
  9901  
  9902  // GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
  9903  // the ability to pass a context and additional request options.
  9904  //
  9905  // See GetInstanceMetricData for details on how to use this API operation.
  9906  //
  9907  // The context must be non-nil and will be used for request cancellation. If
  9908  // the context is nil a panic will occur. In the future the SDK may create
  9909  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9910  // for more information on using Contexts.
  9911  func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
  9912  	req, out := c.GetInstanceMetricDataRequest(input)
  9913  	req.SetContext(ctx)
  9914  	req.ApplyOptions(opts...)
  9915  	return out, req.Send()
  9916  }
  9917  
  9918  const opGetInstancePortStates = "GetInstancePortStates"
  9919  
  9920  // GetInstancePortStatesRequest generates a "aws/request.Request" representing the
  9921  // client's request for the GetInstancePortStates operation. The "output" return
  9922  // value will be populated with the request's response once the request completes
  9923  // successfully.
  9924  //
  9925  // Use "Send" method on the returned Request to send the API call to the service.
  9926  // the "output" return value is not valid until after Send returns without error.
  9927  //
  9928  // See GetInstancePortStates for more information on using the GetInstancePortStates
  9929  // API call, and error handling.
  9930  //
  9931  // This method is useful when you want to inject custom logic or configuration
  9932  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9933  //
  9934  //
  9935  //    // Example sending a request using the GetInstancePortStatesRequest method.
  9936  //    req, resp := client.GetInstancePortStatesRequest(params)
  9937  //
  9938  //    err := req.Send()
  9939  //    if err == nil { // resp is now filled
  9940  //        fmt.Println(resp)
  9941  //    }
  9942  //
  9943  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
  9944  func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
  9945  	op := &request.Operation{
  9946  		Name:       opGetInstancePortStates,
  9947  		HTTPMethod: "POST",
  9948  		HTTPPath:   "/",
  9949  	}
  9950  
  9951  	if input == nil {
  9952  		input = &GetInstancePortStatesInput{}
  9953  	}
  9954  
  9955  	output = &GetInstancePortStatesOutput{}
  9956  	req = c.newRequest(op, input, output)
  9957  	return
  9958  }
  9959  
  9960  // GetInstancePortStates API operation for Amazon Lightsail.
  9961  //
  9962  // Returns the firewall port states for a specific Amazon Lightsail instance,
  9963  // the IP addresses allowed to connect to the instance through the ports, and
  9964  // the protocol.
  9965  //
  9966  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9967  // with awserr.Error's Code and Message methods to get detailed information about
  9968  // the error.
  9969  //
  9970  // See the AWS API reference guide for Amazon Lightsail's
  9971  // API operation GetInstancePortStates for usage and error information.
  9972  //
  9973  // Returned Error Types:
  9974  //   * ServiceException
  9975  //   A general service exception.
  9976  //
  9977  //   * InvalidInputException
  9978  //   Lightsail throws this exception when user input does not conform to the validation
  9979  //   rules of an input field.
  9980  //
  9981  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
  9982  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
  9983  //   view, or edit these resources.
  9984  //
  9985  //   * NotFoundException
  9986  //   Lightsail throws this exception when it cannot find a resource.
  9987  //
  9988  //   * OperationFailureException
  9989  //   Lightsail throws this exception when an operation fails to execute.
  9990  //
  9991  //   * AccessDeniedException
  9992  //   Lightsail throws this exception when the user cannot be authenticated or
  9993  //   uses invalid credentials to access a resource.
  9994  //
  9995  //   * AccountSetupInProgressException
  9996  //   Lightsail throws this exception when an account is still in the setup in
  9997  //   progress state.
  9998  //
  9999  //   * UnauthenticatedException
 10000  //   Lightsail throws this exception when the user has not been authenticated.
 10001  //
 10002  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
 10003  func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
 10004  	req, out := c.GetInstancePortStatesRequest(input)
 10005  	return out, req.Send()
 10006  }
 10007  
 10008  // GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
 10009  // the ability to pass a context and additional request options.
 10010  //
 10011  // See GetInstancePortStates for details on how to use this API operation.
 10012  //
 10013  // The context must be non-nil and will be used for request cancellation. If
 10014  // the context is nil a panic will occur. In the future the SDK may create
 10015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10016  // for more information on using Contexts.
 10017  func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
 10018  	req, out := c.GetInstancePortStatesRequest(input)
 10019  	req.SetContext(ctx)
 10020  	req.ApplyOptions(opts...)
 10021  	return out, req.Send()
 10022  }
 10023  
 10024  const opGetInstanceSnapshot = "GetInstanceSnapshot"
 10025  
 10026  // GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
 10027  // client's request for the GetInstanceSnapshot operation. The "output" return
 10028  // value will be populated with the request's response once the request completes
 10029  // successfully.
 10030  //
 10031  // Use "Send" method on the returned Request to send the API call to the service.
 10032  // the "output" return value is not valid until after Send returns without error.
 10033  //
 10034  // See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
 10035  // API call, and error handling.
 10036  //
 10037  // This method is useful when you want to inject custom logic or configuration
 10038  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10039  //
 10040  //
 10041  //    // Example sending a request using the GetInstanceSnapshotRequest method.
 10042  //    req, resp := client.GetInstanceSnapshotRequest(params)
 10043  //
 10044  //    err := req.Send()
 10045  //    if err == nil { // resp is now filled
 10046  //        fmt.Println(resp)
 10047  //    }
 10048  //
 10049  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
 10050  func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
 10051  	op := &request.Operation{
 10052  		Name:       opGetInstanceSnapshot,
 10053  		HTTPMethod: "POST",
 10054  		HTTPPath:   "/",
 10055  	}
 10056  
 10057  	if input == nil {
 10058  		input = &GetInstanceSnapshotInput{}
 10059  	}
 10060  
 10061  	output = &GetInstanceSnapshotOutput{}
 10062  	req = c.newRequest(op, input, output)
 10063  	return
 10064  }
 10065  
 10066  // GetInstanceSnapshot API operation for Amazon Lightsail.
 10067  //
 10068  // Returns information about a specific instance snapshot.
 10069  //
 10070  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10071  // with awserr.Error's Code and Message methods to get detailed information about
 10072  // the error.
 10073  //
 10074  // See the AWS API reference guide for Amazon Lightsail's
 10075  // API operation GetInstanceSnapshot for usage and error information.
 10076  //
 10077  // Returned Error Types:
 10078  //   * ServiceException
 10079  //   A general service exception.
 10080  //
 10081  //   * InvalidInputException
 10082  //   Lightsail throws this exception when user input does not conform to the validation
 10083  //   rules of an input field.
 10084  //
 10085  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10086  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10087  //   view, or edit these resources.
 10088  //
 10089  //   * NotFoundException
 10090  //   Lightsail throws this exception when it cannot find a resource.
 10091  //
 10092  //   * OperationFailureException
 10093  //   Lightsail throws this exception when an operation fails to execute.
 10094  //
 10095  //   * AccessDeniedException
 10096  //   Lightsail throws this exception when the user cannot be authenticated or
 10097  //   uses invalid credentials to access a resource.
 10098  //
 10099  //   * AccountSetupInProgressException
 10100  //   Lightsail throws this exception when an account is still in the setup in
 10101  //   progress state.
 10102  //
 10103  //   * UnauthenticatedException
 10104  //   Lightsail throws this exception when the user has not been authenticated.
 10105  //
 10106  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
 10107  func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
 10108  	req, out := c.GetInstanceSnapshotRequest(input)
 10109  	return out, req.Send()
 10110  }
 10111  
 10112  // GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
 10113  // the ability to pass a context and additional request options.
 10114  //
 10115  // See GetInstanceSnapshot for details on how to use this API operation.
 10116  //
 10117  // The context must be non-nil and will be used for request cancellation. If
 10118  // the context is nil a panic will occur. In the future the SDK may create
 10119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10120  // for more information on using Contexts.
 10121  func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
 10122  	req, out := c.GetInstanceSnapshotRequest(input)
 10123  	req.SetContext(ctx)
 10124  	req.ApplyOptions(opts...)
 10125  	return out, req.Send()
 10126  }
 10127  
 10128  const opGetInstanceSnapshots = "GetInstanceSnapshots"
 10129  
 10130  // GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
 10131  // client's request for the GetInstanceSnapshots operation. The "output" return
 10132  // value will be populated with the request's response once the request completes
 10133  // successfully.
 10134  //
 10135  // Use "Send" method on the returned Request to send the API call to the service.
 10136  // the "output" return value is not valid until after Send returns without error.
 10137  //
 10138  // See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
 10139  // API call, and error handling.
 10140  //
 10141  // This method is useful when you want to inject custom logic or configuration
 10142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10143  //
 10144  //
 10145  //    // Example sending a request using the GetInstanceSnapshotsRequest method.
 10146  //    req, resp := client.GetInstanceSnapshotsRequest(params)
 10147  //
 10148  //    err := req.Send()
 10149  //    if err == nil { // resp is now filled
 10150  //        fmt.Println(resp)
 10151  //    }
 10152  //
 10153  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
 10154  func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
 10155  	op := &request.Operation{
 10156  		Name:       opGetInstanceSnapshots,
 10157  		HTTPMethod: "POST",
 10158  		HTTPPath:   "/",
 10159  	}
 10160  
 10161  	if input == nil {
 10162  		input = &GetInstanceSnapshotsInput{}
 10163  	}
 10164  
 10165  	output = &GetInstanceSnapshotsOutput{}
 10166  	req = c.newRequest(op, input, output)
 10167  	return
 10168  }
 10169  
 10170  // GetInstanceSnapshots API operation for Amazon Lightsail.
 10171  //
 10172  // Returns all instance snapshots for the user's account.
 10173  //
 10174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10175  // with awserr.Error's Code and Message methods to get detailed information about
 10176  // the error.
 10177  //
 10178  // See the AWS API reference guide for Amazon Lightsail's
 10179  // API operation GetInstanceSnapshots for usage and error information.
 10180  //
 10181  // Returned Error Types:
 10182  //   * ServiceException
 10183  //   A general service exception.
 10184  //
 10185  //   * InvalidInputException
 10186  //   Lightsail throws this exception when user input does not conform to the validation
 10187  //   rules of an input field.
 10188  //
 10189  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10190  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10191  //   view, or edit these resources.
 10192  //
 10193  //   * NotFoundException
 10194  //   Lightsail throws this exception when it cannot find a resource.
 10195  //
 10196  //   * OperationFailureException
 10197  //   Lightsail throws this exception when an operation fails to execute.
 10198  //
 10199  //   * AccessDeniedException
 10200  //   Lightsail throws this exception when the user cannot be authenticated or
 10201  //   uses invalid credentials to access a resource.
 10202  //
 10203  //   * AccountSetupInProgressException
 10204  //   Lightsail throws this exception when an account is still in the setup in
 10205  //   progress state.
 10206  //
 10207  //   * UnauthenticatedException
 10208  //   Lightsail throws this exception when the user has not been authenticated.
 10209  //
 10210  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
 10211  func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
 10212  	req, out := c.GetInstanceSnapshotsRequest(input)
 10213  	return out, req.Send()
 10214  }
 10215  
 10216  // GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
 10217  // the ability to pass a context and additional request options.
 10218  //
 10219  // See GetInstanceSnapshots for details on how to use this API operation.
 10220  //
 10221  // The context must be non-nil and will be used for request cancellation. If
 10222  // the context is nil a panic will occur. In the future the SDK may create
 10223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10224  // for more information on using Contexts.
 10225  func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
 10226  	req, out := c.GetInstanceSnapshotsRequest(input)
 10227  	req.SetContext(ctx)
 10228  	req.ApplyOptions(opts...)
 10229  	return out, req.Send()
 10230  }
 10231  
 10232  const opGetInstanceState = "GetInstanceState"
 10233  
 10234  // GetInstanceStateRequest generates a "aws/request.Request" representing the
 10235  // client's request for the GetInstanceState operation. The "output" return
 10236  // value will be populated with the request's response once the request completes
 10237  // successfully.
 10238  //
 10239  // Use "Send" method on the returned Request to send the API call to the service.
 10240  // the "output" return value is not valid until after Send returns without error.
 10241  //
 10242  // See GetInstanceState for more information on using the GetInstanceState
 10243  // API call, and error handling.
 10244  //
 10245  // This method is useful when you want to inject custom logic or configuration
 10246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10247  //
 10248  //
 10249  //    // Example sending a request using the GetInstanceStateRequest method.
 10250  //    req, resp := client.GetInstanceStateRequest(params)
 10251  //
 10252  //    err := req.Send()
 10253  //    if err == nil { // resp is now filled
 10254  //        fmt.Println(resp)
 10255  //    }
 10256  //
 10257  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
 10258  func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
 10259  	op := &request.Operation{
 10260  		Name:       opGetInstanceState,
 10261  		HTTPMethod: "POST",
 10262  		HTTPPath:   "/",
 10263  	}
 10264  
 10265  	if input == nil {
 10266  		input = &GetInstanceStateInput{}
 10267  	}
 10268  
 10269  	output = &GetInstanceStateOutput{}
 10270  	req = c.newRequest(op, input, output)
 10271  	return
 10272  }
 10273  
 10274  // GetInstanceState API operation for Amazon Lightsail.
 10275  //
 10276  // Returns the state of a specific instance. Works on one instance at a time.
 10277  //
 10278  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10279  // with awserr.Error's Code and Message methods to get detailed information about
 10280  // the error.
 10281  //
 10282  // See the AWS API reference guide for Amazon Lightsail's
 10283  // API operation GetInstanceState for usage and error information.
 10284  //
 10285  // Returned Error Types:
 10286  //   * ServiceException
 10287  //   A general service exception.
 10288  //
 10289  //   * InvalidInputException
 10290  //   Lightsail throws this exception when user input does not conform to the validation
 10291  //   rules of an input field.
 10292  //
 10293  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10294  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10295  //   view, or edit these resources.
 10296  //
 10297  //   * NotFoundException
 10298  //   Lightsail throws this exception when it cannot find a resource.
 10299  //
 10300  //   * OperationFailureException
 10301  //   Lightsail throws this exception when an operation fails to execute.
 10302  //
 10303  //   * AccessDeniedException
 10304  //   Lightsail throws this exception when the user cannot be authenticated or
 10305  //   uses invalid credentials to access a resource.
 10306  //
 10307  //   * AccountSetupInProgressException
 10308  //   Lightsail throws this exception when an account is still in the setup in
 10309  //   progress state.
 10310  //
 10311  //   * UnauthenticatedException
 10312  //   Lightsail throws this exception when the user has not been authenticated.
 10313  //
 10314  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
 10315  func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
 10316  	req, out := c.GetInstanceStateRequest(input)
 10317  	return out, req.Send()
 10318  }
 10319  
 10320  // GetInstanceStateWithContext is the same as GetInstanceState with the addition of
 10321  // the ability to pass a context and additional request options.
 10322  //
 10323  // See GetInstanceState for details on how to use this API operation.
 10324  //
 10325  // The context must be non-nil and will be used for request cancellation. If
 10326  // the context is nil a panic will occur. In the future the SDK may create
 10327  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10328  // for more information on using Contexts.
 10329  func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
 10330  	req, out := c.GetInstanceStateRequest(input)
 10331  	req.SetContext(ctx)
 10332  	req.ApplyOptions(opts...)
 10333  	return out, req.Send()
 10334  }
 10335  
 10336  const opGetInstances = "GetInstances"
 10337  
 10338  // GetInstancesRequest generates a "aws/request.Request" representing the
 10339  // client's request for the GetInstances operation. The "output" return
 10340  // value will be populated with the request's response once the request completes
 10341  // successfully.
 10342  //
 10343  // Use "Send" method on the returned Request to send the API call to the service.
 10344  // the "output" return value is not valid until after Send returns without error.
 10345  //
 10346  // See GetInstances for more information on using the GetInstances
 10347  // API call, and error handling.
 10348  //
 10349  // This method is useful when you want to inject custom logic or configuration
 10350  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10351  //
 10352  //
 10353  //    // Example sending a request using the GetInstancesRequest method.
 10354  //    req, resp := client.GetInstancesRequest(params)
 10355  //
 10356  //    err := req.Send()
 10357  //    if err == nil { // resp is now filled
 10358  //        fmt.Println(resp)
 10359  //    }
 10360  //
 10361  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
 10362  func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
 10363  	op := &request.Operation{
 10364  		Name:       opGetInstances,
 10365  		HTTPMethod: "POST",
 10366  		HTTPPath:   "/",
 10367  	}
 10368  
 10369  	if input == nil {
 10370  		input = &GetInstancesInput{}
 10371  	}
 10372  
 10373  	output = &GetInstancesOutput{}
 10374  	req = c.newRequest(op, input, output)
 10375  	return
 10376  }
 10377  
 10378  // GetInstances API operation for Amazon Lightsail.
 10379  //
 10380  // Returns information about all Amazon Lightsail virtual private servers, or
 10381  // instances.
 10382  //
 10383  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10384  // with awserr.Error's Code and Message methods to get detailed information about
 10385  // the error.
 10386  //
 10387  // See the AWS API reference guide for Amazon Lightsail's
 10388  // API operation GetInstances for usage and error information.
 10389  //
 10390  // Returned Error Types:
 10391  //   * ServiceException
 10392  //   A general service exception.
 10393  //
 10394  //   * InvalidInputException
 10395  //   Lightsail throws this exception when user input does not conform to the validation
 10396  //   rules of an input field.
 10397  //
 10398  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10399  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10400  //   view, or edit these resources.
 10401  //
 10402  //   * NotFoundException
 10403  //   Lightsail throws this exception when it cannot find a resource.
 10404  //
 10405  //   * OperationFailureException
 10406  //   Lightsail throws this exception when an operation fails to execute.
 10407  //
 10408  //   * AccessDeniedException
 10409  //   Lightsail throws this exception when the user cannot be authenticated or
 10410  //   uses invalid credentials to access a resource.
 10411  //
 10412  //   * AccountSetupInProgressException
 10413  //   Lightsail throws this exception when an account is still in the setup in
 10414  //   progress state.
 10415  //
 10416  //   * UnauthenticatedException
 10417  //   Lightsail throws this exception when the user has not been authenticated.
 10418  //
 10419  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
 10420  func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
 10421  	req, out := c.GetInstancesRequest(input)
 10422  	return out, req.Send()
 10423  }
 10424  
 10425  // GetInstancesWithContext is the same as GetInstances with the addition of
 10426  // the ability to pass a context and additional request options.
 10427  //
 10428  // See GetInstances for details on how to use this API operation.
 10429  //
 10430  // The context must be non-nil and will be used for request cancellation. If
 10431  // the context is nil a panic will occur. In the future the SDK may create
 10432  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10433  // for more information on using Contexts.
 10434  func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
 10435  	req, out := c.GetInstancesRequest(input)
 10436  	req.SetContext(ctx)
 10437  	req.ApplyOptions(opts...)
 10438  	return out, req.Send()
 10439  }
 10440  
 10441  const opGetKeyPair = "GetKeyPair"
 10442  
 10443  // GetKeyPairRequest generates a "aws/request.Request" representing the
 10444  // client's request for the GetKeyPair operation. The "output" return
 10445  // value will be populated with the request's response once the request completes
 10446  // successfully.
 10447  //
 10448  // Use "Send" method on the returned Request to send the API call to the service.
 10449  // the "output" return value is not valid until after Send returns without error.
 10450  //
 10451  // See GetKeyPair for more information on using the GetKeyPair
 10452  // API call, and error handling.
 10453  //
 10454  // This method is useful when you want to inject custom logic or configuration
 10455  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10456  //
 10457  //
 10458  //    // Example sending a request using the GetKeyPairRequest method.
 10459  //    req, resp := client.GetKeyPairRequest(params)
 10460  //
 10461  //    err := req.Send()
 10462  //    if err == nil { // resp is now filled
 10463  //        fmt.Println(resp)
 10464  //    }
 10465  //
 10466  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
 10467  func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
 10468  	op := &request.Operation{
 10469  		Name:       opGetKeyPair,
 10470  		HTTPMethod: "POST",
 10471  		HTTPPath:   "/",
 10472  	}
 10473  
 10474  	if input == nil {
 10475  		input = &GetKeyPairInput{}
 10476  	}
 10477  
 10478  	output = &GetKeyPairOutput{}
 10479  	req = c.newRequest(op, input, output)
 10480  	return
 10481  }
 10482  
 10483  // GetKeyPair API operation for Amazon Lightsail.
 10484  //
 10485  // Returns information about a specific key pair.
 10486  //
 10487  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10488  // with awserr.Error's Code and Message methods to get detailed information about
 10489  // the error.
 10490  //
 10491  // See the AWS API reference guide for Amazon Lightsail's
 10492  // API operation GetKeyPair for usage and error information.
 10493  //
 10494  // Returned Error Types:
 10495  //   * ServiceException
 10496  //   A general service exception.
 10497  //
 10498  //   * InvalidInputException
 10499  //   Lightsail throws this exception when user input does not conform to the validation
 10500  //   rules of an input field.
 10501  //
 10502  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10503  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10504  //   view, or edit these resources.
 10505  //
 10506  //   * NotFoundException
 10507  //   Lightsail throws this exception when it cannot find a resource.
 10508  //
 10509  //   * OperationFailureException
 10510  //   Lightsail throws this exception when an operation fails to execute.
 10511  //
 10512  //   * AccessDeniedException
 10513  //   Lightsail throws this exception when the user cannot be authenticated or
 10514  //   uses invalid credentials to access a resource.
 10515  //
 10516  //   * AccountSetupInProgressException
 10517  //   Lightsail throws this exception when an account is still in the setup in
 10518  //   progress state.
 10519  //
 10520  //   * UnauthenticatedException
 10521  //   Lightsail throws this exception when the user has not been authenticated.
 10522  //
 10523  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
 10524  func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
 10525  	req, out := c.GetKeyPairRequest(input)
 10526  	return out, req.Send()
 10527  }
 10528  
 10529  // GetKeyPairWithContext is the same as GetKeyPair with the addition of
 10530  // the ability to pass a context and additional request options.
 10531  //
 10532  // See GetKeyPair for details on how to use this API operation.
 10533  //
 10534  // The context must be non-nil and will be used for request cancellation. If
 10535  // the context is nil a panic will occur. In the future the SDK may create
 10536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10537  // for more information on using Contexts.
 10538  func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
 10539  	req, out := c.GetKeyPairRequest(input)
 10540  	req.SetContext(ctx)
 10541  	req.ApplyOptions(opts...)
 10542  	return out, req.Send()
 10543  }
 10544  
 10545  const opGetKeyPairs = "GetKeyPairs"
 10546  
 10547  // GetKeyPairsRequest generates a "aws/request.Request" representing the
 10548  // client's request for the GetKeyPairs operation. The "output" return
 10549  // value will be populated with the request's response once the request completes
 10550  // successfully.
 10551  //
 10552  // Use "Send" method on the returned Request to send the API call to the service.
 10553  // the "output" return value is not valid until after Send returns without error.
 10554  //
 10555  // See GetKeyPairs for more information on using the GetKeyPairs
 10556  // API call, and error handling.
 10557  //
 10558  // This method is useful when you want to inject custom logic or configuration
 10559  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10560  //
 10561  //
 10562  //    // Example sending a request using the GetKeyPairsRequest method.
 10563  //    req, resp := client.GetKeyPairsRequest(params)
 10564  //
 10565  //    err := req.Send()
 10566  //    if err == nil { // resp is now filled
 10567  //        fmt.Println(resp)
 10568  //    }
 10569  //
 10570  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
 10571  func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
 10572  	op := &request.Operation{
 10573  		Name:       opGetKeyPairs,
 10574  		HTTPMethod: "POST",
 10575  		HTTPPath:   "/",
 10576  	}
 10577  
 10578  	if input == nil {
 10579  		input = &GetKeyPairsInput{}
 10580  	}
 10581  
 10582  	output = &GetKeyPairsOutput{}
 10583  	req = c.newRequest(op, input, output)
 10584  	return
 10585  }
 10586  
 10587  // GetKeyPairs API operation for Amazon Lightsail.
 10588  //
 10589  // Returns information about all key pairs in the user's account.
 10590  //
 10591  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10592  // with awserr.Error's Code and Message methods to get detailed information about
 10593  // the error.
 10594  //
 10595  // See the AWS API reference guide for Amazon Lightsail's
 10596  // API operation GetKeyPairs for usage and error information.
 10597  //
 10598  // Returned Error Types:
 10599  //   * ServiceException
 10600  //   A general service exception.
 10601  //
 10602  //   * InvalidInputException
 10603  //   Lightsail throws this exception when user input does not conform to the validation
 10604  //   rules of an input field.
 10605  //
 10606  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10607  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10608  //   view, or edit these resources.
 10609  //
 10610  //   * NotFoundException
 10611  //   Lightsail throws this exception when it cannot find a resource.
 10612  //
 10613  //   * OperationFailureException
 10614  //   Lightsail throws this exception when an operation fails to execute.
 10615  //
 10616  //   * AccessDeniedException
 10617  //   Lightsail throws this exception when the user cannot be authenticated or
 10618  //   uses invalid credentials to access a resource.
 10619  //
 10620  //   * AccountSetupInProgressException
 10621  //   Lightsail throws this exception when an account is still in the setup in
 10622  //   progress state.
 10623  //
 10624  //   * UnauthenticatedException
 10625  //   Lightsail throws this exception when the user has not been authenticated.
 10626  //
 10627  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
 10628  func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
 10629  	req, out := c.GetKeyPairsRequest(input)
 10630  	return out, req.Send()
 10631  }
 10632  
 10633  // GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
 10634  // the ability to pass a context and additional request options.
 10635  //
 10636  // See GetKeyPairs for details on how to use this API operation.
 10637  //
 10638  // The context must be non-nil and will be used for request cancellation. If
 10639  // the context is nil a panic will occur. In the future the SDK may create
 10640  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10641  // for more information on using Contexts.
 10642  func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
 10643  	req, out := c.GetKeyPairsRequest(input)
 10644  	req.SetContext(ctx)
 10645  	req.ApplyOptions(opts...)
 10646  	return out, req.Send()
 10647  }
 10648  
 10649  const opGetLoadBalancer = "GetLoadBalancer"
 10650  
 10651  // GetLoadBalancerRequest generates a "aws/request.Request" representing the
 10652  // client's request for the GetLoadBalancer operation. The "output" return
 10653  // value will be populated with the request's response once the request completes
 10654  // successfully.
 10655  //
 10656  // Use "Send" method on the returned Request to send the API call to the service.
 10657  // the "output" return value is not valid until after Send returns without error.
 10658  //
 10659  // See GetLoadBalancer for more information on using the GetLoadBalancer
 10660  // API call, and error handling.
 10661  //
 10662  // This method is useful when you want to inject custom logic or configuration
 10663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10664  //
 10665  //
 10666  //    // Example sending a request using the GetLoadBalancerRequest method.
 10667  //    req, resp := client.GetLoadBalancerRequest(params)
 10668  //
 10669  //    err := req.Send()
 10670  //    if err == nil { // resp is now filled
 10671  //        fmt.Println(resp)
 10672  //    }
 10673  //
 10674  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
 10675  func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
 10676  	op := &request.Operation{
 10677  		Name:       opGetLoadBalancer,
 10678  		HTTPMethod: "POST",
 10679  		HTTPPath:   "/",
 10680  	}
 10681  
 10682  	if input == nil {
 10683  		input = &GetLoadBalancerInput{}
 10684  	}
 10685  
 10686  	output = &GetLoadBalancerOutput{}
 10687  	req = c.newRequest(op, input, output)
 10688  	return
 10689  }
 10690  
 10691  // GetLoadBalancer API operation for Amazon Lightsail.
 10692  //
 10693  // Returns information about the specified Lightsail load balancer.
 10694  //
 10695  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10696  // with awserr.Error's Code and Message methods to get detailed information about
 10697  // the error.
 10698  //
 10699  // See the AWS API reference guide for Amazon Lightsail's
 10700  // API operation GetLoadBalancer for usage and error information.
 10701  //
 10702  // Returned Error Types:
 10703  //   * ServiceException
 10704  //   A general service exception.
 10705  //
 10706  //   * InvalidInputException
 10707  //   Lightsail throws this exception when user input does not conform to the validation
 10708  //   rules of an input field.
 10709  //
 10710  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10711  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10712  //   view, or edit these resources.
 10713  //
 10714  //   * NotFoundException
 10715  //   Lightsail throws this exception when it cannot find a resource.
 10716  //
 10717  //   * OperationFailureException
 10718  //   Lightsail throws this exception when an operation fails to execute.
 10719  //
 10720  //   * AccessDeniedException
 10721  //   Lightsail throws this exception when the user cannot be authenticated or
 10722  //   uses invalid credentials to access a resource.
 10723  //
 10724  //   * AccountSetupInProgressException
 10725  //   Lightsail throws this exception when an account is still in the setup in
 10726  //   progress state.
 10727  //
 10728  //   * UnauthenticatedException
 10729  //   Lightsail throws this exception when the user has not been authenticated.
 10730  //
 10731  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
 10732  func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
 10733  	req, out := c.GetLoadBalancerRequest(input)
 10734  	return out, req.Send()
 10735  }
 10736  
 10737  // GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
 10738  // the ability to pass a context and additional request options.
 10739  //
 10740  // See GetLoadBalancer for details on how to use this API operation.
 10741  //
 10742  // The context must be non-nil and will be used for request cancellation. If
 10743  // the context is nil a panic will occur. In the future the SDK may create
 10744  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10745  // for more information on using Contexts.
 10746  func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
 10747  	req, out := c.GetLoadBalancerRequest(input)
 10748  	req.SetContext(ctx)
 10749  	req.ApplyOptions(opts...)
 10750  	return out, req.Send()
 10751  }
 10752  
 10753  const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
 10754  
 10755  // GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
 10756  // client's request for the GetLoadBalancerMetricData operation. The "output" return
 10757  // value will be populated with the request's response once the request completes
 10758  // successfully.
 10759  //
 10760  // Use "Send" method on the returned Request to send the API call to the service.
 10761  // the "output" return value is not valid until after Send returns without error.
 10762  //
 10763  // See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
 10764  // API call, and error handling.
 10765  //
 10766  // This method is useful when you want to inject custom logic or configuration
 10767  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10768  //
 10769  //
 10770  //    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
 10771  //    req, resp := client.GetLoadBalancerMetricDataRequest(params)
 10772  //
 10773  //    err := req.Send()
 10774  //    if err == nil { // resp is now filled
 10775  //        fmt.Println(resp)
 10776  //    }
 10777  //
 10778  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
 10779  func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
 10780  	op := &request.Operation{
 10781  		Name:       opGetLoadBalancerMetricData,
 10782  		HTTPMethod: "POST",
 10783  		HTTPPath:   "/",
 10784  	}
 10785  
 10786  	if input == nil {
 10787  		input = &GetLoadBalancerMetricDataInput{}
 10788  	}
 10789  
 10790  	output = &GetLoadBalancerMetricDataOutput{}
 10791  	req = c.newRequest(op, input, output)
 10792  	return
 10793  }
 10794  
 10795  // GetLoadBalancerMetricData API operation for Amazon Lightsail.
 10796  //
 10797  // Returns information about health metrics for your Lightsail load balancer.
 10798  //
 10799  // Metrics report the utilization of your resources, and the error counts generated
 10800  // by them. Monitor and collect metric data regularly to maintain the reliability,
 10801  // availability, and performance of your resources.
 10802  //
 10803  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10804  // with awserr.Error's Code and Message methods to get detailed information about
 10805  // the error.
 10806  //
 10807  // See the AWS API reference guide for Amazon Lightsail's
 10808  // API operation GetLoadBalancerMetricData for usage and error information.
 10809  //
 10810  // Returned Error Types:
 10811  //   * ServiceException
 10812  //   A general service exception.
 10813  //
 10814  //   * InvalidInputException
 10815  //   Lightsail throws this exception when user input does not conform to the validation
 10816  //   rules of an input field.
 10817  //
 10818  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10819  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10820  //   view, or edit these resources.
 10821  //
 10822  //   * NotFoundException
 10823  //   Lightsail throws this exception when it cannot find a resource.
 10824  //
 10825  //   * OperationFailureException
 10826  //   Lightsail throws this exception when an operation fails to execute.
 10827  //
 10828  //   * AccessDeniedException
 10829  //   Lightsail throws this exception when the user cannot be authenticated or
 10830  //   uses invalid credentials to access a resource.
 10831  //
 10832  //   * AccountSetupInProgressException
 10833  //   Lightsail throws this exception when an account is still in the setup in
 10834  //   progress state.
 10835  //
 10836  //   * UnauthenticatedException
 10837  //   Lightsail throws this exception when the user has not been authenticated.
 10838  //
 10839  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
 10840  func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
 10841  	req, out := c.GetLoadBalancerMetricDataRequest(input)
 10842  	return out, req.Send()
 10843  }
 10844  
 10845  // GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
 10846  // the ability to pass a context and additional request options.
 10847  //
 10848  // See GetLoadBalancerMetricData for details on how to use this API operation.
 10849  //
 10850  // The context must be non-nil and will be used for request cancellation. If
 10851  // the context is nil a panic will occur. In the future the SDK may create
 10852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10853  // for more information on using Contexts.
 10854  func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
 10855  	req, out := c.GetLoadBalancerMetricDataRequest(input)
 10856  	req.SetContext(ctx)
 10857  	req.ApplyOptions(opts...)
 10858  	return out, req.Send()
 10859  }
 10860  
 10861  const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
 10862  
 10863  // GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
 10864  // client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
 10865  // value will be populated with the request's response once the request completes
 10866  // successfully.
 10867  //
 10868  // Use "Send" method on the returned Request to send the API call to the service.
 10869  // the "output" return value is not valid until after Send returns without error.
 10870  //
 10871  // See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
 10872  // API call, and error handling.
 10873  //
 10874  // This method is useful when you want to inject custom logic or configuration
 10875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10876  //
 10877  //
 10878  //    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
 10879  //    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
 10880  //
 10881  //    err := req.Send()
 10882  //    if err == nil { // resp is now filled
 10883  //        fmt.Println(resp)
 10884  //    }
 10885  //
 10886  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
 10887  func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
 10888  	op := &request.Operation{
 10889  		Name:       opGetLoadBalancerTlsCertificates,
 10890  		HTTPMethod: "POST",
 10891  		HTTPPath:   "/",
 10892  	}
 10893  
 10894  	if input == nil {
 10895  		input = &GetLoadBalancerTlsCertificatesInput{}
 10896  	}
 10897  
 10898  	output = &GetLoadBalancerTlsCertificatesOutput{}
 10899  	req = c.newRequest(op, input, output)
 10900  	return
 10901  }
 10902  
 10903  // GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
 10904  //
 10905  // Returns information about the TLS certificates that are associated with the
 10906  // specified Lightsail load balancer.
 10907  //
 10908  // TLS is just an updated, more secure version of Secure Socket Layer (SSL).
 10909  //
 10910  // You can have a maximum of 2 certificates associated with a Lightsail load
 10911  // balancer. One is active and the other is inactive.
 10912  //
 10913  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10914  // with awserr.Error's Code and Message methods to get detailed information about
 10915  // the error.
 10916  //
 10917  // See the AWS API reference guide for Amazon Lightsail's
 10918  // API operation GetLoadBalancerTlsCertificates for usage and error information.
 10919  //
 10920  // Returned Error Types:
 10921  //   * ServiceException
 10922  //   A general service exception.
 10923  //
 10924  //   * InvalidInputException
 10925  //   Lightsail throws this exception when user input does not conform to the validation
 10926  //   rules of an input field.
 10927  //
 10928  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 10929  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 10930  //   view, or edit these resources.
 10931  //
 10932  //   * NotFoundException
 10933  //   Lightsail throws this exception when it cannot find a resource.
 10934  //
 10935  //   * OperationFailureException
 10936  //   Lightsail throws this exception when an operation fails to execute.
 10937  //
 10938  //   * AccessDeniedException
 10939  //   Lightsail throws this exception when the user cannot be authenticated or
 10940  //   uses invalid credentials to access a resource.
 10941  //
 10942  //   * AccountSetupInProgressException
 10943  //   Lightsail throws this exception when an account is still in the setup in
 10944  //   progress state.
 10945  //
 10946  //   * UnauthenticatedException
 10947  //   Lightsail throws this exception when the user has not been authenticated.
 10948  //
 10949  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
 10950  func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
 10951  	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
 10952  	return out, req.Send()
 10953  }
 10954  
 10955  // GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
 10956  // the ability to pass a context and additional request options.
 10957  //
 10958  // See GetLoadBalancerTlsCertificates for details on how to use this API operation.
 10959  //
 10960  // The context must be non-nil and will be used for request cancellation. If
 10961  // the context is nil a panic will occur. In the future the SDK may create
 10962  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10963  // for more information on using Contexts.
 10964  func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
 10965  	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
 10966  	req.SetContext(ctx)
 10967  	req.ApplyOptions(opts...)
 10968  	return out, req.Send()
 10969  }
 10970  
 10971  const opGetLoadBalancers = "GetLoadBalancers"
 10972  
 10973  // GetLoadBalancersRequest generates a "aws/request.Request" representing the
 10974  // client's request for the GetLoadBalancers operation. The "output" return
 10975  // value will be populated with the request's response once the request completes
 10976  // successfully.
 10977  //
 10978  // Use "Send" method on the returned Request to send the API call to the service.
 10979  // the "output" return value is not valid until after Send returns without error.
 10980  //
 10981  // See GetLoadBalancers for more information on using the GetLoadBalancers
 10982  // API call, and error handling.
 10983  //
 10984  // This method is useful when you want to inject custom logic or configuration
 10985  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10986  //
 10987  //
 10988  //    // Example sending a request using the GetLoadBalancersRequest method.
 10989  //    req, resp := client.GetLoadBalancersRequest(params)
 10990  //
 10991  //    err := req.Send()
 10992  //    if err == nil { // resp is now filled
 10993  //        fmt.Println(resp)
 10994  //    }
 10995  //
 10996  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
 10997  func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
 10998  	op := &request.Operation{
 10999  		Name:       opGetLoadBalancers,
 11000  		HTTPMethod: "POST",
 11001  		HTTPPath:   "/",
 11002  	}
 11003  
 11004  	if input == nil {
 11005  		input = &GetLoadBalancersInput{}
 11006  	}
 11007  
 11008  	output = &GetLoadBalancersOutput{}
 11009  	req = c.newRequest(op, input, output)
 11010  	return
 11011  }
 11012  
 11013  // GetLoadBalancers API operation for Amazon Lightsail.
 11014  //
 11015  // Returns information about all load balancers in an account.
 11016  //
 11017  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11018  // with awserr.Error's Code and Message methods to get detailed information about
 11019  // the error.
 11020  //
 11021  // See the AWS API reference guide for Amazon Lightsail's
 11022  // API operation GetLoadBalancers for usage and error information.
 11023  //
 11024  // Returned Error Types:
 11025  //   * ServiceException
 11026  //   A general service exception.
 11027  //
 11028  //   * InvalidInputException
 11029  //   Lightsail throws this exception when user input does not conform to the validation
 11030  //   rules of an input field.
 11031  //
 11032  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11033  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11034  //   view, or edit these resources.
 11035  //
 11036  //   * NotFoundException
 11037  //   Lightsail throws this exception when it cannot find a resource.
 11038  //
 11039  //   * OperationFailureException
 11040  //   Lightsail throws this exception when an operation fails to execute.
 11041  //
 11042  //   * AccessDeniedException
 11043  //   Lightsail throws this exception when the user cannot be authenticated or
 11044  //   uses invalid credentials to access a resource.
 11045  //
 11046  //   * AccountSetupInProgressException
 11047  //   Lightsail throws this exception when an account is still in the setup in
 11048  //   progress state.
 11049  //
 11050  //   * UnauthenticatedException
 11051  //   Lightsail throws this exception when the user has not been authenticated.
 11052  //
 11053  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
 11054  func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
 11055  	req, out := c.GetLoadBalancersRequest(input)
 11056  	return out, req.Send()
 11057  }
 11058  
 11059  // GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
 11060  // the ability to pass a context and additional request options.
 11061  //
 11062  // See GetLoadBalancers for details on how to use this API operation.
 11063  //
 11064  // The context must be non-nil and will be used for request cancellation. If
 11065  // the context is nil a panic will occur. In the future the SDK may create
 11066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11067  // for more information on using Contexts.
 11068  func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
 11069  	req, out := c.GetLoadBalancersRequest(input)
 11070  	req.SetContext(ctx)
 11071  	req.ApplyOptions(opts...)
 11072  	return out, req.Send()
 11073  }
 11074  
 11075  const opGetOperation = "GetOperation"
 11076  
 11077  // GetOperationRequest generates a "aws/request.Request" representing the
 11078  // client's request for the GetOperation operation. The "output" return
 11079  // value will be populated with the request's response once the request completes
 11080  // successfully.
 11081  //
 11082  // Use "Send" method on the returned Request to send the API call to the service.
 11083  // the "output" return value is not valid until after Send returns without error.
 11084  //
 11085  // See GetOperation for more information on using the GetOperation
 11086  // API call, and error handling.
 11087  //
 11088  // This method is useful when you want to inject custom logic or configuration
 11089  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11090  //
 11091  //
 11092  //    // Example sending a request using the GetOperationRequest method.
 11093  //    req, resp := client.GetOperationRequest(params)
 11094  //
 11095  //    err := req.Send()
 11096  //    if err == nil { // resp is now filled
 11097  //        fmt.Println(resp)
 11098  //    }
 11099  //
 11100  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
 11101  func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
 11102  	op := &request.Operation{
 11103  		Name:       opGetOperation,
 11104  		HTTPMethod: "POST",
 11105  		HTTPPath:   "/",
 11106  	}
 11107  
 11108  	if input == nil {
 11109  		input = &GetOperationInput{}
 11110  	}
 11111  
 11112  	output = &GetOperationOutput{}
 11113  	req = c.newRequest(op, input, output)
 11114  	return
 11115  }
 11116  
 11117  // GetOperation API operation for Amazon Lightsail.
 11118  //
 11119  // Returns information about a specific operation. Operations include events
 11120  // such as when you create an instance, allocate a static IP, attach a static
 11121  // IP, and so on.
 11122  //
 11123  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11124  // with awserr.Error's Code and Message methods to get detailed information about
 11125  // the error.
 11126  //
 11127  // See the AWS API reference guide for Amazon Lightsail's
 11128  // API operation GetOperation for usage and error information.
 11129  //
 11130  // Returned Error Types:
 11131  //   * ServiceException
 11132  //   A general service exception.
 11133  //
 11134  //   * InvalidInputException
 11135  //   Lightsail throws this exception when user input does not conform to the validation
 11136  //   rules of an input field.
 11137  //
 11138  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11139  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11140  //   view, or edit these resources.
 11141  //
 11142  //   * NotFoundException
 11143  //   Lightsail throws this exception when it cannot find a resource.
 11144  //
 11145  //   * OperationFailureException
 11146  //   Lightsail throws this exception when an operation fails to execute.
 11147  //
 11148  //   * AccessDeniedException
 11149  //   Lightsail throws this exception when the user cannot be authenticated or
 11150  //   uses invalid credentials to access a resource.
 11151  //
 11152  //   * AccountSetupInProgressException
 11153  //   Lightsail throws this exception when an account is still in the setup in
 11154  //   progress state.
 11155  //
 11156  //   * UnauthenticatedException
 11157  //   Lightsail throws this exception when the user has not been authenticated.
 11158  //
 11159  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
 11160  func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
 11161  	req, out := c.GetOperationRequest(input)
 11162  	return out, req.Send()
 11163  }
 11164  
 11165  // GetOperationWithContext is the same as GetOperation with the addition of
 11166  // the ability to pass a context and additional request options.
 11167  //
 11168  // See GetOperation for details on how to use this API operation.
 11169  //
 11170  // The context must be non-nil and will be used for request cancellation. If
 11171  // the context is nil a panic will occur. In the future the SDK may create
 11172  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11173  // for more information on using Contexts.
 11174  func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
 11175  	req, out := c.GetOperationRequest(input)
 11176  	req.SetContext(ctx)
 11177  	req.ApplyOptions(opts...)
 11178  	return out, req.Send()
 11179  }
 11180  
 11181  const opGetOperations = "GetOperations"
 11182  
 11183  // GetOperationsRequest generates a "aws/request.Request" representing the
 11184  // client's request for the GetOperations operation. The "output" return
 11185  // value will be populated with the request's response once the request completes
 11186  // successfully.
 11187  //
 11188  // Use "Send" method on the returned Request to send the API call to the service.
 11189  // the "output" return value is not valid until after Send returns without error.
 11190  //
 11191  // See GetOperations for more information on using the GetOperations
 11192  // API call, and error handling.
 11193  //
 11194  // This method is useful when you want to inject custom logic or configuration
 11195  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11196  //
 11197  //
 11198  //    // Example sending a request using the GetOperationsRequest method.
 11199  //    req, resp := client.GetOperationsRequest(params)
 11200  //
 11201  //    err := req.Send()
 11202  //    if err == nil { // resp is now filled
 11203  //        fmt.Println(resp)
 11204  //    }
 11205  //
 11206  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
 11207  func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
 11208  	op := &request.Operation{
 11209  		Name:       opGetOperations,
 11210  		HTTPMethod: "POST",
 11211  		HTTPPath:   "/",
 11212  	}
 11213  
 11214  	if input == nil {
 11215  		input = &GetOperationsInput{}
 11216  	}
 11217  
 11218  	output = &GetOperationsOutput{}
 11219  	req = c.newRequest(op, input, output)
 11220  	return
 11221  }
 11222  
 11223  // GetOperations API operation for Amazon Lightsail.
 11224  //
 11225  // Returns information about all operations.
 11226  //
 11227  // Results are returned from oldest to newest, up to a maximum of 200. Results
 11228  // can be paged by making each subsequent call to GetOperations use the maximum
 11229  // (last) statusChangedAt value from the previous request.
 11230  //
 11231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11232  // with awserr.Error's Code and Message methods to get detailed information about
 11233  // the error.
 11234  //
 11235  // See the AWS API reference guide for Amazon Lightsail's
 11236  // API operation GetOperations for usage and error information.
 11237  //
 11238  // Returned Error Types:
 11239  //   * ServiceException
 11240  //   A general service exception.
 11241  //
 11242  //   * InvalidInputException
 11243  //   Lightsail throws this exception when user input does not conform to the validation
 11244  //   rules of an input field.
 11245  //
 11246  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11247  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11248  //   view, or edit these resources.
 11249  //
 11250  //   * NotFoundException
 11251  //   Lightsail throws this exception when it cannot find a resource.
 11252  //
 11253  //   * OperationFailureException
 11254  //   Lightsail throws this exception when an operation fails to execute.
 11255  //
 11256  //   * AccessDeniedException
 11257  //   Lightsail throws this exception when the user cannot be authenticated or
 11258  //   uses invalid credentials to access a resource.
 11259  //
 11260  //   * AccountSetupInProgressException
 11261  //   Lightsail throws this exception when an account is still in the setup in
 11262  //   progress state.
 11263  //
 11264  //   * UnauthenticatedException
 11265  //   Lightsail throws this exception when the user has not been authenticated.
 11266  //
 11267  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
 11268  func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
 11269  	req, out := c.GetOperationsRequest(input)
 11270  	return out, req.Send()
 11271  }
 11272  
 11273  // GetOperationsWithContext is the same as GetOperations with the addition of
 11274  // the ability to pass a context and additional request options.
 11275  //
 11276  // See GetOperations for details on how to use this API operation.
 11277  //
 11278  // The context must be non-nil and will be used for request cancellation. If
 11279  // the context is nil a panic will occur. In the future the SDK may create
 11280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11281  // for more information on using Contexts.
 11282  func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
 11283  	req, out := c.GetOperationsRequest(input)
 11284  	req.SetContext(ctx)
 11285  	req.ApplyOptions(opts...)
 11286  	return out, req.Send()
 11287  }
 11288  
 11289  const opGetOperationsForResource = "GetOperationsForResource"
 11290  
 11291  // GetOperationsForResourceRequest generates a "aws/request.Request" representing the
 11292  // client's request for the GetOperationsForResource operation. The "output" return
 11293  // value will be populated with the request's response once the request completes
 11294  // successfully.
 11295  //
 11296  // Use "Send" method on the returned Request to send the API call to the service.
 11297  // the "output" return value is not valid until after Send returns without error.
 11298  //
 11299  // See GetOperationsForResource for more information on using the GetOperationsForResource
 11300  // API call, and error handling.
 11301  //
 11302  // This method is useful when you want to inject custom logic or configuration
 11303  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11304  //
 11305  //
 11306  //    // Example sending a request using the GetOperationsForResourceRequest method.
 11307  //    req, resp := client.GetOperationsForResourceRequest(params)
 11308  //
 11309  //    err := req.Send()
 11310  //    if err == nil { // resp is now filled
 11311  //        fmt.Println(resp)
 11312  //    }
 11313  //
 11314  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
 11315  func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
 11316  	op := &request.Operation{
 11317  		Name:       opGetOperationsForResource,
 11318  		HTTPMethod: "POST",
 11319  		HTTPPath:   "/",
 11320  	}
 11321  
 11322  	if input == nil {
 11323  		input = &GetOperationsForResourceInput{}
 11324  	}
 11325  
 11326  	output = &GetOperationsForResourceOutput{}
 11327  	req = c.newRequest(op, input, output)
 11328  	return
 11329  }
 11330  
 11331  // GetOperationsForResource API operation for Amazon Lightsail.
 11332  //
 11333  // Gets operations for a specific resource (e.g., an instance or a static IP).
 11334  //
 11335  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11336  // with awserr.Error's Code and Message methods to get detailed information about
 11337  // the error.
 11338  //
 11339  // See the AWS API reference guide for Amazon Lightsail's
 11340  // API operation GetOperationsForResource for usage and error information.
 11341  //
 11342  // Returned Error Types:
 11343  //   * ServiceException
 11344  //   A general service exception.
 11345  //
 11346  //   * InvalidInputException
 11347  //   Lightsail throws this exception when user input does not conform to the validation
 11348  //   rules of an input field.
 11349  //
 11350  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11351  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11352  //   view, or edit these resources.
 11353  //
 11354  //   * NotFoundException
 11355  //   Lightsail throws this exception when it cannot find a resource.
 11356  //
 11357  //   * OperationFailureException
 11358  //   Lightsail throws this exception when an operation fails to execute.
 11359  //
 11360  //   * AccessDeniedException
 11361  //   Lightsail throws this exception when the user cannot be authenticated or
 11362  //   uses invalid credentials to access a resource.
 11363  //
 11364  //   * AccountSetupInProgressException
 11365  //   Lightsail throws this exception when an account is still in the setup in
 11366  //   progress state.
 11367  //
 11368  //   * UnauthenticatedException
 11369  //   Lightsail throws this exception when the user has not been authenticated.
 11370  //
 11371  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
 11372  func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
 11373  	req, out := c.GetOperationsForResourceRequest(input)
 11374  	return out, req.Send()
 11375  }
 11376  
 11377  // GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
 11378  // the ability to pass a context and additional request options.
 11379  //
 11380  // See GetOperationsForResource for details on how to use this API operation.
 11381  //
 11382  // The context must be non-nil and will be used for request cancellation. If
 11383  // the context is nil a panic will occur. In the future the SDK may create
 11384  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11385  // for more information on using Contexts.
 11386  func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
 11387  	req, out := c.GetOperationsForResourceRequest(input)
 11388  	req.SetContext(ctx)
 11389  	req.ApplyOptions(opts...)
 11390  	return out, req.Send()
 11391  }
 11392  
 11393  const opGetRegions = "GetRegions"
 11394  
 11395  // GetRegionsRequest generates a "aws/request.Request" representing the
 11396  // client's request for the GetRegions operation. The "output" return
 11397  // value will be populated with the request's response once the request completes
 11398  // successfully.
 11399  //
 11400  // Use "Send" method on the returned Request to send the API call to the service.
 11401  // the "output" return value is not valid until after Send returns without error.
 11402  //
 11403  // See GetRegions for more information on using the GetRegions
 11404  // API call, and error handling.
 11405  //
 11406  // This method is useful when you want to inject custom logic or configuration
 11407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11408  //
 11409  //
 11410  //    // Example sending a request using the GetRegionsRequest method.
 11411  //    req, resp := client.GetRegionsRequest(params)
 11412  //
 11413  //    err := req.Send()
 11414  //    if err == nil { // resp is now filled
 11415  //        fmt.Println(resp)
 11416  //    }
 11417  //
 11418  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
 11419  func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
 11420  	op := &request.Operation{
 11421  		Name:       opGetRegions,
 11422  		HTTPMethod: "POST",
 11423  		HTTPPath:   "/",
 11424  	}
 11425  
 11426  	if input == nil {
 11427  		input = &GetRegionsInput{}
 11428  	}
 11429  
 11430  	output = &GetRegionsOutput{}
 11431  	req = c.newRequest(op, input, output)
 11432  	return
 11433  }
 11434  
 11435  // GetRegions API operation for Amazon Lightsail.
 11436  //
 11437  // Returns a list of all valid regions for Amazon Lightsail. Use the include
 11438  // availability zones parameter to also return the Availability Zones in a region.
 11439  //
 11440  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11441  // with awserr.Error's Code and Message methods to get detailed information about
 11442  // the error.
 11443  //
 11444  // See the AWS API reference guide for Amazon Lightsail's
 11445  // API operation GetRegions for usage and error information.
 11446  //
 11447  // Returned Error Types:
 11448  //   * ServiceException
 11449  //   A general service exception.
 11450  //
 11451  //   * InvalidInputException
 11452  //   Lightsail throws this exception when user input does not conform to the validation
 11453  //   rules of an input field.
 11454  //
 11455  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11456  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11457  //   view, or edit these resources.
 11458  //
 11459  //   * NotFoundException
 11460  //   Lightsail throws this exception when it cannot find a resource.
 11461  //
 11462  //   * OperationFailureException
 11463  //   Lightsail throws this exception when an operation fails to execute.
 11464  //
 11465  //   * AccessDeniedException
 11466  //   Lightsail throws this exception when the user cannot be authenticated or
 11467  //   uses invalid credentials to access a resource.
 11468  //
 11469  //   * AccountSetupInProgressException
 11470  //   Lightsail throws this exception when an account is still in the setup in
 11471  //   progress state.
 11472  //
 11473  //   * UnauthenticatedException
 11474  //   Lightsail throws this exception when the user has not been authenticated.
 11475  //
 11476  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
 11477  func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
 11478  	req, out := c.GetRegionsRequest(input)
 11479  	return out, req.Send()
 11480  }
 11481  
 11482  // GetRegionsWithContext is the same as GetRegions with the addition of
 11483  // the ability to pass a context and additional request options.
 11484  //
 11485  // See GetRegions for details on how to use this API operation.
 11486  //
 11487  // The context must be non-nil and will be used for request cancellation. If
 11488  // the context is nil a panic will occur. In the future the SDK may create
 11489  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11490  // for more information on using Contexts.
 11491  func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
 11492  	req, out := c.GetRegionsRequest(input)
 11493  	req.SetContext(ctx)
 11494  	req.ApplyOptions(opts...)
 11495  	return out, req.Send()
 11496  }
 11497  
 11498  const opGetRelationalDatabase = "GetRelationalDatabase"
 11499  
 11500  // GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
 11501  // client's request for the GetRelationalDatabase operation. The "output" return
 11502  // value will be populated with the request's response once the request completes
 11503  // successfully.
 11504  //
 11505  // Use "Send" method on the returned Request to send the API call to the service.
 11506  // the "output" return value is not valid until after Send returns without error.
 11507  //
 11508  // See GetRelationalDatabase for more information on using the GetRelationalDatabase
 11509  // API call, and error handling.
 11510  //
 11511  // This method is useful when you want to inject custom logic or configuration
 11512  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11513  //
 11514  //
 11515  //    // Example sending a request using the GetRelationalDatabaseRequest method.
 11516  //    req, resp := client.GetRelationalDatabaseRequest(params)
 11517  //
 11518  //    err := req.Send()
 11519  //    if err == nil { // resp is now filled
 11520  //        fmt.Println(resp)
 11521  //    }
 11522  //
 11523  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
 11524  func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
 11525  	op := &request.Operation{
 11526  		Name:       opGetRelationalDatabase,
 11527  		HTTPMethod: "POST",
 11528  		HTTPPath:   "/",
 11529  	}
 11530  
 11531  	if input == nil {
 11532  		input = &GetRelationalDatabaseInput{}
 11533  	}
 11534  
 11535  	output = &GetRelationalDatabaseOutput{}
 11536  	req = c.newRequest(op, input, output)
 11537  	return
 11538  }
 11539  
 11540  // GetRelationalDatabase API operation for Amazon Lightsail.
 11541  //
 11542  // Returns information about a specific database in Amazon Lightsail.
 11543  //
 11544  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11545  // with awserr.Error's Code and Message methods to get detailed information about
 11546  // the error.
 11547  //
 11548  // See the AWS API reference guide for Amazon Lightsail's
 11549  // API operation GetRelationalDatabase for usage and error information.
 11550  //
 11551  // Returned Error Types:
 11552  //   * ServiceException
 11553  //   A general service exception.
 11554  //
 11555  //   * InvalidInputException
 11556  //   Lightsail throws this exception when user input does not conform to the validation
 11557  //   rules of an input field.
 11558  //
 11559  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11560  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11561  //   view, or edit these resources.
 11562  //
 11563  //   * NotFoundException
 11564  //   Lightsail throws this exception when it cannot find a resource.
 11565  //
 11566  //   * OperationFailureException
 11567  //   Lightsail throws this exception when an operation fails to execute.
 11568  //
 11569  //   * AccessDeniedException
 11570  //   Lightsail throws this exception when the user cannot be authenticated or
 11571  //   uses invalid credentials to access a resource.
 11572  //
 11573  //   * AccountSetupInProgressException
 11574  //   Lightsail throws this exception when an account is still in the setup in
 11575  //   progress state.
 11576  //
 11577  //   * UnauthenticatedException
 11578  //   Lightsail throws this exception when the user has not been authenticated.
 11579  //
 11580  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
 11581  func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
 11582  	req, out := c.GetRelationalDatabaseRequest(input)
 11583  	return out, req.Send()
 11584  }
 11585  
 11586  // GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
 11587  // the ability to pass a context and additional request options.
 11588  //
 11589  // See GetRelationalDatabase for details on how to use this API operation.
 11590  //
 11591  // The context must be non-nil and will be used for request cancellation. If
 11592  // the context is nil a panic will occur. In the future the SDK may create
 11593  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11594  // for more information on using Contexts.
 11595  func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
 11596  	req, out := c.GetRelationalDatabaseRequest(input)
 11597  	req.SetContext(ctx)
 11598  	req.ApplyOptions(opts...)
 11599  	return out, req.Send()
 11600  }
 11601  
 11602  const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
 11603  
 11604  // GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
 11605  // client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
 11606  // value will be populated with the request's response once the request completes
 11607  // successfully.
 11608  //
 11609  // Use "Send" method on the returned Request to send the API call to the service.
 11610  // the "output" return value is not valid until after Send returns without error.
 11611  //
 11612  // See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
 11613  // API call, and error handling.
 11614  //
 11615  // This method is useful when you want to inject custom logic or configuration
 11616  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11617  //
 11618  //
 11619  //    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
 11620  //    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
 11621  //
 11622  //    err := req.Send()
 11623  //    if err == nil { // resp is now filled
 11624  //        fmt.Println(resp)
 11625  //    }
 11626  //
 11627  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
 11628  func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
 11629  	op := &request.Operation{
 11630  		Name:       opGetRelationalDatabaseBlueprints,
 11631  		HTTPMethod: "POST",
 11632  		HTTPPath:   "/",
 11633  	}
 11634  
 11635  	if input == nil {
 11636  		input = &GetRelationalDatabaseBlueprintsInput{}
 11637  	}
 11638  
 11639  	output = &GetRelationalDatabaseBlueprintsOutput{}
 11640  	req = c.newRequest(op, input, output)
 11641  	return
 11642  }
 11643  
 11644  // GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
 11645  //
 11646  // Returns a list of available database blueprints in Amazon Lightsail. A blueprint
 11647  // describes the major engine version of a database.
 11648  //
 11649  // You can use a blueprint ID to create a new database that runs a specific
 11650  // database engine.
 11651  //
 11652  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11653  // with awserr.Error's Code and Message methods to get detailed information about
 11654  // the error.
 11655  //
 11656  // See the AWS API reference guide for Amazon Lightsail's
 11657  // API operation GetRelationalDatabaseBlueprints for usage and error information.
 11658  //
 11659  // Returned Error Types:
 11660  //   * ServiceException
 11661  //   A general service exception.
 11662  //
 11663  //   * InvalidInputException
 11664  //   Lightsail throws this exception when user input does not conform to the validation
 11665  //   rules of an input field.
 11666  //
 11667  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11668  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11669  //   view, or edit these resources.
 11670  //
 11671  //   * NotFoundException
 11672  //   Lightsail throws this exception when it cannot find a resource.
 11673  //
 11674  //   * OperationFailureException
 11675  //   Lightsail throws this exception when an operation fails to execute.
 11676  //
 11677  //   * AccessDeniedException
 11678  //   Lightsail throws this exception when the user cannot be authenticated or
 11679  //   uses invalid credentials to access a resource.
 11680  //
 11681  //   * AccountSetupInProgressException
 11682  //   Lightsail throws this exception when an account is still in the setup in
 11683  //   progress state.
 11684  //
 11685  //   * UnauthenticatedException
 11686  //   Lightsail throws this exception when the user has not been authenticated.
 11687  //
 11688  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
 11689  func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
 11690  	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
 11691  	return out, req.Send()
 11692  }
 11693  
 11694  // GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
 11695  // the ability to pass a context and additional request options.
 11696  //
 11697  // See GetRelationalDatabaseBlueprints for details on how to use this API operation.
 11698  //
 11699  // The context must be non-nil and will be used for request cancellation. If
 11700  // the context is nil a panic will occur. In the future the SDK may create
 11701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11702  // for more information on using Contexts.
 11703  func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
 11704  	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
 11705  	req.SetContext(ctx)
 11706  	req.ApplyOptions(opts...)
 11707  	return out, req.Send()
 11708  }
 11709  
 11710  const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
 11711  
 11712  // GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
 11713  // client's request for the GetRelationalDatabaseBundles operation. The "output" return
 11714  // value will be populated with the request's response once the request completes
 11715  // successfully.
 11716  //
 11717  // Use "Send" method on the returned Request to send the API call to the service.
 11718  // the "output" return value is not valid until after Send returns without error.
 11719  //
 11720  // See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
 11721  // API call, and error handling.
 11722  //
 11723  // This method is useful when you want to inject custom logic or configuration
 11724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11725  //
 11726  //
 11727  //    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
 11728  //    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
 11729  //
 11730  //    err := req.Send()
 11731  //    if err == nil { // resp is now filled
 11732  //        fmt.Println(resp)
 11733  //    }
 11734  //
 11735  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
 11736  func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
 11737  	op := &request.Operation{
 11738  		Name:       opGetRelationalDatabaseBundles,
 11739  		HTTPMethod: "POST",
 11740  		HTTPPath:   "/",
 11741  	}
 11742  
 11743  	if input == nil {
 11744  		input = &GetRelationalDatabaseBundlesInput{}
 11745  	}
 11746  
 11747  	output = &GetRelationalDatabaseBundlesOutput{}
 11748  	req = c.newRequest(op, input, output)
 11749  	return
 11750  }
 11751  
 11752  // GetRelationalDatabaseBundles API operation for Amazon Lightsail.
 11753  //
 11754  // Returns the list of bundles that are available in Amazon Lightsail. A bundle
 11755  // describes the performance specifications for a database.
 11756  //
 11757  // You can use a bundle ID to create a new database with explicit performance
 11758  // specifications.
 11759  //
 11760  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11761  // with awserr.Error's Code and Message methods to get detailed information about
 11762  // the error.
 11763  //
 11764  // See the AWS API reference guide for Amazon Lightsail's
 11765  // API operation GetRelationalDatabaseBundles for usage and error information.
 11766  //
 11767  // Returned Error Types:
 11768  //   * ServiceException
 11769  //   A general service exception.
 11770  //
 11771  //   * InvalidInputException
 11772  //   Lightsail throws this exception when user input does not conform to the validation
 11773  //   rules of an input field.
 11774  //
 11775  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11776  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11777  //   view, or edit these resources.
 11778  //
 11779  //   * NotFoundException
 11780  //   Lightsail throws this exception when it cannot find a resource.
 11781  //
 11782  //   * OperationFailureException
 11783  //   Lightsail throws this exception when an operation fails to execute.
 11784  //
 11785  //   * AccessDeniedException
 11786  //   Lightsail throws this exception when the user cannot be authenticated or
 11787  //   uses invalid credentials to access a resource.
 11788  //
 11789  //   * AccountSetupInProgressException
 11790  //   Lightsail throws this exception when an account is still in the setup in
 11791  //   progress state.
 11792  //
 11793  //   * UnauthenticatedException
 11794  //   Lightsail throws this exception when the user has not been authenticated.
 11795  //
 11796  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
 11797  func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
 11798  	req, out := c.GetRelationalDatabaseBundlesRequest(input)
 11799  	return out, req.Send()
 11800  }
 11801  
 11802  // GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
 11803  // the ability to pass a context and additional request options.
 11804  //
 11805  // See GetRelationalDatabaseBundles for details on how to use this API operation.
 11806  //
 11807  // The context must be non-nil and will be used for request cancellation. If
 11808  // the context is nil a panic will occur. In the future the SDK may create
 11809  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11810  // for more information on using Contexts.
 11811  func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
 11812  	req, out := c.GetRelationalDatabaseBundlesRequest(input)
 11813  	req.SetContext(ctx)
 11814  	req.ApplyOptions(opts...)
 11815  	return out, req.Send()
 11816  }
 11817  
 11818  const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
 11819  
 11820  // GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
 11821  // client's request for the GetRelationalDatabaseEvents operation. The "output" return
 11822  // value will be populated with the request's response once the request completes
 11823  // successfully.
 11824  //
 11825  // Use "Send" method on the returned Request to send the API call to the service.
 11826  // the "output" return value is not valid until after Send returns without error.
 11827  //
 11828  // See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
 11829  // API call, and error handling.
 11830  //
 11831  // This method is useful when you want to inject custom logic or configuration
 11832  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11833  //
 11834  //
 11835  //    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
 11836  //    req, resp := client.GetRelationalDatabaseEventsRequest(params)
 11837  //
 11838  //    err := req.Send()
 11839  //    if err == nil { // resp is now filled
 11840  //        fmt.Println(resp)
 11841  //    }
 11842  //
 11843  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
 11844  func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
 11845  	op := &request.Operation{
 11846  		Name:       opGetRelationalDatabaseEvents,
 11847  		HTTPMethod: "POST",
 11848  		HTTPPath:   "/",
 11849  	}
 11850  
 11851  	if input == nil {
 11852  		input = &GetRelationalDatabaseEventsInput{}
 11853  	}
 11854  
 11855  	output = &GetRelationalDatabaseEventsOutput{}
 11856  	req = c.newRequest(op, input, output)
 11857  	return
 11858  }
 11859  
 11860  // GetRelationalDatabaseEvents API operation for Amazon Lightsail.
 11861  //
 11862  // Returns a list of events for a specific database in Amazon Lightsail.
 11863  //
 11864  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11865  // with awserr.Error's Code and Message methods to get detailed information about
 11866  // the error.
 11867  //
 11868  // See the AWS API reference guide for Amazon Lightsail's
 11869  // API operation GetRelationalDatabaseEvents for usage and error information.
 11870  //
 11871  // Returned Error Types:
 11872  //   * ServiceException
 11873  //   A general service exception.
 11874  //
 11875  //   * InvalidInputException
 11876  //   Lightsail throws this exception when user input does not conform to the validation
 11877  //   rules of an input field.
 11878  //
 11879  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11880  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11881  //   view, or edit these resources.
 11882  //
 11883  //   * NotFoundException
 11884  //   Lightsail throws this exception when it cannot find a resource.
 11885  //
 11886  //   * OperationFailureException
 11887  //   Lightsail throws this exception when an operation fails to execute.
 11888  //
 11889  //   * AccessDeniedException
 11890  //   Lightsail throws this exception when the user cannot be authenticated or
 11891  //   uses invalid credentials to access a resource.
 11892  //
 11893  //   * AccountSetupInProgressException
 11894  //   Lightsail throws this exception when an account is still in the setup in
 11895  //   progress state.
 11896  //
 11897  //   * UnauthenticatedException
 11898  //   Lightsail throws this exception when the user has not been authenticated.
 11899  //
 11900  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
 11901  func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
 11902  	req, out := c.GetRelationalDatabaseEventsRequest(input)
 11903  	return out, req.Send()
 11904  }
 11905  
 11906  // GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
 11907  // the ability to pass a context and additional request options.
 11908  //
 11909  // See GetRelationalDatabaseEvents for details on how to use this API operation.
 11910  //
 11911  // The context must be non-nil and will be used for request cancellation. If
 11912  // the context is nil a panic will occur. In the future the SDK may create
 11913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11914  // for more information on using Contexts.
 11915  func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
 11916  	req, out := c.GetRelationalDatabaseEventsRequest(input)
 11917  	req.SetContext(ctx)
 11918  	req.ApplyOptions(opts...)
 11919  	return out, req.Send()
 11920  }
 11921  
 11922  const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
 11923  
 11924  // GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
 11925  // client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
 11926  // value will be populated with the request's response once the request completes
 11927  // successfully.
 11928  //
 11929  // Use "Send" method on the returned Request to send the API call to the service.
 11930  // the "output" return value is not valid until after Send returns without error.
 11931  //
 11932  // See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
 11933  // API call, and error handling.
 11934  //
 11935  // This method is useful when you want to inject custom logic or configuration
 11936  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11937  //
 11938  //
 11939  //    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
 11940  //    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
 11941  //
 11942  //    err := req.Send()
 11943  //    if err == nil { // resp is now filled
 11944  //        fmt.Println(resp)
 11945  //    }
 11946  //
 11947  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
 11948  func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
 11949  	op := &request.Operation{
 11950  		Name:       opGetRelationalDatabaseLogEvents,
 11951  		HTTPMethod: "POST",
 11952  		HTTPPath:   "/",
 11953  	}
 11954  
 11955  	if input == nil {
 11956  		input = &GetRelationalDatabaseLogEventsInput{}
 11957  	}
 11958  
 11959  	output = &GetRelationalDatabaseLogEventsOutput{}
 11960  	req = c.newRequest(op, input, output)
 11961  	return
 11962  }
 11963  
 11964  // GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
 11965  //
 11966  // Returns a list of log events for a database in Amazon Lightsail.
 11967  //
 11968  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11969  // with awserr.Error's Code and Message methods to get detailed information about
 11970  // the error.
 11971  //
 11972  // See the AWS API reference guide for Amazon Lightsail's
 11973  // API operation GetRelationalDatabaseLogEvents for usage and error information.
 11974  //
 11975  // Returned Error Types:
 11976  //   * ServiceException
 11977  //   A general service exception.
 11978  //
 11979  //   * InvalidInputException
 11980  //   Lightsail throws this exception when user input does not conform to the validation
 11981  //   rules of an input field.
 11982  //
 11983  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 11984  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 11985  //   view, or edit these resources.
 11986  //
 11987  //   * NotFoundException
 11988  //   Lightsail throws this exception when it cannot find a resource.
 11989  //
 11990  //   * OperationFailureException
 11991  //   Lightsail throws this exception when an operation fails to execute.
 11992  //
 11993  //   * AccessDeniedException
 11994  //   Lightsail throws this exception when the user cannot be authenticated or
 11995  //   uses invalid credentials to access a resource.
 11996  //
 11997  //   * AccountSetupInProgressException
 11998  //   Lightsail throws this exception when an account is still in the setup in
 11999  //   progress state.
 12000  //
 12001  //   * UnauthenticatedException
 12002  //   Lightsail throws this exception when the user has not been authenticated.
 12003  //
 12004  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
 12005  func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
 12006  	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
 12007  	return out, req.Send()
 12008  }
 12009  
 12010  // GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
 12011  // the ability to pass a context and additional request options.
 12012  //
 12013  // See GetRelationalDatabaseLogEvents for details on how to use this API operation.
 12014  //
 12015  // The context must be non-nil and will be used for request cancellation. If
 12016  // the context is nil a panic will occur. In the future the SDK may create
 12017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12018  // for more information on using Contexts.
 12019  func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
 12020  	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
 12021  	req.SetContext(ctx)
 12022  	req.ApplyOptions(opts...)
 12023  	return out, req.Send()
 12024  }
 12025  
 12026  const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
 12027  
 12028  // GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
 12029  // client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
 12030  // value will be populated with the request's response once the request completes
 12031  // successfully.
 12032  //
 12033  // Use "Send" method on the returned Request to send the API call to the service.
 12034  // the "output" return value is not valid until after Send returns without error.
 12035  //
 12036  // See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
 12037  // API call, and error handling.
 12038  //
 12039  // This method is useful when you want to inject custom logic or configuration
 12040  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12041  //
 12042  //
 12043  //    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
 12044  //    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
 12045  //
 12046  //    err := req.Send()
 12047  //    if err == nil { // resp is now filled
 12048  //        fmt.Println(resp)
 12049  //    }
 12050  //
 12051  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
 12052  func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
 12053  	op := &request.Operation{
 12054  		Name:       opGetRelationalDatabaseLogStreams,
 12055  		HTTPMethod: "POST",
 12056  		HTTPPath:   "/",
 12057  	}
 12058  
 12059  	if input == nil {
 12060  		input = &GetRelationalDatabaseLogStreamsInput{}
 12061  	}
 12062  
 12063  	output = &GetRelationalDatabaseLogStreamsOutput{}
 12064  	req = c.newRequest(op, input, output)
 12065  	return
 12066  }
 12067  
 12068  // GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
 12069  //
 12070  // Returns a list of available log streams for a specific database in Amazon
 12071  // Lightsail.
 12072  //
 12073  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12074  // with awserr.Error's Code and Message methods to get detailed information about
 12075  // the error.
 12076  //
 12077  // See the AWS API reference guide for Amazon Lightsail's
 12078  // API operation GetRelationalDatabaseLogStreams for usage and error information.
 12079  //
 12080  // Returned Error Types:
 12081  //   * ServiceException
 12082  //   A general service exception.
 12083  //
 12084  //   * InvalidInputException
 12085  //   Lightsail throws this exception when user input does not conform to the validation
 12086  //   rules of an input field.
 12087  //
 12088  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12089  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12090  //   view, or edit these resources.
 12091  //
 12092  //   * NotFoundException
 12093  //   Lightsail throws this exception when it cannot find a resource.
 12094  //
 12095  //   * OperationFailureException
 12096  //   Lightsail throws this exception when an operation fails to execute.
 12097  //
 12098  //   * AccessDeniedException
 12099  //   Lightsail throws this exception when the user cannot be authenticated or
 12100  //   uses invalid credentials to access a resource.
 12101  //
 12102  //   * AccountSetupInProgressException
 12103  //   Lightsail throws this exception when an account is still in the setup in
 12104  //   progress state.
 12105  //
 12106  //   * UnauthenticatedException
 12107  //   Lightsail throws this exception when the user has not been authenticated.
 12108  //
 12109  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
 12110  func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
 12111  	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
 12112  	return out, req.Send()
 12113  }
 12114  
 12115  // GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
 12116  // the ability to pass a context and additional request options.
 12117  //
 12118  // See GetRelationalDatabaseLogStreams for details on how to use this API operation.
 12119  //
 12120  // The context must be non-nil and will be used for request cancellation. If
 12121  // the context is nil a panic will occur. In the future the SDK may create
 12122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12123  // for more information on using Contexts.
 12124  func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
 12125  	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
 12126  	req.SetContext(ctx)
 12127  	req.ApplyOptions(opts...)
 12128  	return out, req.Send()
 12129  }
 12130  
 12131  const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
 12132  
 12133  // GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
 12134  // client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
 12135  // value will be populated with the request's response once the request completes
 12136  // successfully.
 12137  //
 12138  // Use "Send" method on the returned Request to send the API call to the service.
 12139  // the "output" return value is not valid until after Send returns without error.
 12140  //
 12141  // See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
 12142  // API call, and error handling.
 12143  //
 12144  // This method is useful when you want to inject custom logic or configuration
 12145  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12146  //
 12147  //
 12148  //    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
 12149  //    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
 12150  //
 12151  //    err := req.Send()
 12152  //    if err == nil { // resp is now filled
 12153  //        fmt.Println(resp)
 12154  //    }
 12155  //
 12156  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
 12157  func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
 12158  	op := &request.Operation{
 12159  		Name:       opGetRelationalDatabaseMasterUserPassword,
 12160  		HTTPMethod: "POST",
 12161  		HTTPPath:   "/",
 12162  	}
 12163  
 12164  	if input == nil {
 12165  		input = &GetRelationalDatabaseMasterUserPasswordInput{}
 12166  	}
 12167  
 12168  	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
 12169  	req = c.newRequest(op, input, output)
 12170  	return
 12171  }
 12172  
 12173  // GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
 12174  //
 12175  // Returns the current, previous, or pending versions of the master user password
 12176  // for a Lightsail database.
 12177  //
 12178  // The GetRelationalDatabaseMasterUserPassword operation supports tag-based
 12179  // access control via resource tags applied to the resource identified by relationalDatabaseName.
 12180  //
 12181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12182  // with awserr.Error's Code and Message methods to get detailed information about
 12183  // the error.
 12184  //
 12185  // See the AWS API reference guide for Amazon Lightsail's
 12186  // API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
 12187  //
 12188  // Returned Error Types:
 12189  //   * ServiceException
 12190  //   A general service exception.
 12191  //
 12192  //   * InvalidInputException
 12193  //   Lightsail throws this exception when user input does not conform to the validation
 12194  //   rules of an input field.
 12195  //
 12196  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12197  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12198  //   view, or edit these resources.
 12199  //
 12200  //   * NotFoundException
 12201  //   Lightsail throws this exception when it cannot find a resource.
 12202  //
 12203  //   * OperationFailureException
 12204  //   Lightsail throws this exception when an operation fails to execute.
 12205  //
 12206  //   * AccessDeniedException
 12207  //   Lightsail throws this exception when the user cannot be authenticated or
 12208  //   uses invalid credentials to access a resource.
 12209  //
 12210  //   * AccountSetupInProgressException
 12211  //   Lightsail throws this exception when an account is still in the setup in
 12212  //   progress state.
 12213  //
 12214  //   * UnauthenticatedException
 12215  //   Lightsail throws this exception when the user has not been authenticated.
 12216  //
 12217  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
 12218  func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
 12219  	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
 12220  	return out, req.Send()
 12221  }
 12222  
 12223  // GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
 12224  // the ability to pass a context and additional request options.
 12225  //
 12226  // See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
 12227  //
 12228  // The context must be non-nil and will be used for request cancellation. If
 12229  // the context is nil a panic will occur. In the future the SDK may create
 12230  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12231  // for more information on using Contexts.
 12232  func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
 12233  	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
 12234  	req.SetContext(ctx)
 12235  	req.ApplyOptions(opts...)
 12236  	return out, req.Send()
 12237  }
 12238  
 12239  const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
 12240  
 12241  // GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
 12242  // client's request for the GetRelationalDatabaseMetricData operation. The "output" return
 12243  // value will be populated with the request's response once the request completes
 12244  // successfully.
 12245  //
 12246  // Use "Send" method on the returned Request to send the API call to the service.
 12247  // the "output" return value is not valid until after Send returns without error.
 12248  //
 12249  // See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
 12250  // API call, and error handling.
 12251  //
 12252  // This method is useful when you want to inject custom logic or configuration
 12253  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12254  //
 12255  //
 12256  //    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
 12257  //    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
 12258  //
 12259  //    err := req.Send()
 12260  //    if err == nil { // resp is now filled
 12261  //        fmt.Println(resp)
 12262  //    }
 12263  //
 12264  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
 12265  func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
 12266  	op := &request.Operation{
 12267  		Name:       opGetRelationalDatabaseMetricData,
 12268  		HTTPMethod: "POST",
 12269  		HTTPPath:   "/",
 12270  	}
 12271  
 12272  	if input == nil {
 12273  		input = &GetRelationalDatabaseMetricDataInput{}
 12274  	}
 12275  
 12276  	output = &GetRelationalDatabaseMetricDataOutput{}
 12277  	req = c.newRequest(op, input, output)
 12278  	return
 12279  }
 12280  
 12281  // GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
 12282  //
 12283  // Returns the data points of the specified metric for a database in Amazon
 12284  // Lightsail.
 12285  //
 12286  // Metrics report the utilization of your resources, and the error counts generated
 12287  // by them. Monitor and collect metric data regularly to maintain the reliability,
 12288  // availability, and performance of your resources.
 12289  //
 12290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12291  // with awserr.Error's Code and Message methods to get detailed information about
 12292  // the error.
 12293  //
 12294  // See the AWS API reference guide for Amazon Lightsail's
 12295  // API operation GetRelationalDatabaseMetricData for usage and error information.
 12296  //
 12297  // Returned Error Types:
 12298  //   * ServiceException
 12299  //   A general service exception.
 12300  //
 12301  //   * InvalidInputException
 12302  //   Lightsail throws this exception when user input does not conform to the validation
 12303  //   rules of an input field.
 12304  //
 12305  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12306  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12307  //   view, or edit these resources.
 12308  //
 12309  //   * NotFoundException
 12310  //   Lightsail throws this exception when it cannot find a resource.
 12311  //
 12312  //   * OperationFailureException
 12313  //   Lightsail throws this exception when an operation fails to execute.
 12314  //
 12315  //   * AccessDeniedException
 12316  //   Lightsail throws this exception when the user cannot be authenticated or
 12317  //   uses invalid credentials to access a resource.
 12318  //
 12319  //   * AccountSetupInProgressException
 12320  //   Lightsail throws this exception when an account is still in the setup in
 12321  //   progress state.
 12322  //
 12323  //   * UnauthenticatedException
 12324  //   Lightsail throws this exception when the user has not been authenticated.
 12325  //
 12326  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
 12327  func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
 12328  	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
 12329  	return out, req.Send()
 12330  }
 12331  
 12332  // GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
 12333  // the ability to pass a context and additional request options.
 12334  //
 12335  // See GetRelationalDatabaseMetricData for details on how to use this API operation.
 12336  //
 12337  // The context must be non-nil and will be used for request cancellation. If
 12338  // the context is nil a panic will occur. In the future the SDK may create
 12339  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12340  // for more information on using Contexts.
 12341  func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
 12342  	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
 12343  	req.SetContext(ctx)
 12344  	req.ApplyOptions(opts...)
 12345  	return out, req.Send()
 12346  }
 12347  
 12348  const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
 12349  
 12350  // GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
 12351  // client's request for the GetRelationalDatabaseParameters operation. The "output" return
 12352  // value will be populated with the request's response once the request completes
 12353  // successfully.
 12354  //
 12355  // Use "Send" method on the returned Request to send the API call to the service.
 12356  // the "output" return value is not valid until after Send returns without error.
 12357  //
 12358  // See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
 12359  // API call, and error handling.
 12360  //
 12361  // This method is useful when you want to inject custom logic or configuration
 12362  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12363  //
 12364  //
 12365  //    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
 12366  //    req, resp := client.GetRelationalDatabaseParametersRequest(params)
 12367  //
 12368  //    err := req.Send()
 12369  //    if err == nil { // resp is now filled
 12370  //        fmt.Println(resp)
 12371  //    }
 12372  //
 12373  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
 12374  func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
 12375  	op := &request.Operation{
 12376  		Name:       opGetRelationalDatabaseParameters,
 12377  		HTTPMethod: "POST",
 12378  		HTTPPath:   "/",
 12379  	}
 12380  
 12381  	if input == nil {
 12382  		input = &GetRelationalDatabaseParametersInput{}
 12383  	}
 12384  
 12385  	output = &GetRelationalDatabaseParametersOutput{}
 12386  	req = c.newRequest(op, input, output)
 12387  	return
 12388  }
 12389  
 12390  // GetRelationalDatabaseParameters API operation for Amazon Lightsail.
 12391  //
 12392  // Returns all of the runtime parameters offered by the underlying database
 12393  // software, or engine, for a specific database in Amazon Lightsail.
 12394  //
 12395  // In addition to the parameter names and values, this operation returns other
 12396  // information about each parameter. This information includes whether changes
 12397  // require a reboot, whether the parameter is modifiable, the allowed values,
 12398  // and the data types.
 12399  //
 12400  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12401  // with awserr.Error's Code and Message methods to get detailed information about
 12402  // the error.
 12403  //
 12404  // See the AWS API reference guide for Amazon Lightsail's
 12405  // API operation GetRelationalDatabaseParameters for usage and error information.
 12406  //
 12407  // Returned Error Types:
 12408  //   * ServiceException
 12409  //   A general service exception.
 12410  //
 12411  //   * InvalidInputException
 12412  //   Lightsail throws this exception when user input does not conform to the validation
 12413  //   rules of an input field.
 12414  //
 12415  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12416  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12417  //   view, or edit these resources.
 12418  //
 12419  //   * NotFoundException
 12420  //   Lightsail throws this exception when it cannot find a resource.
 12421  //
 12422  //   * OperationFailureException
 12423  //   Lightsail throws this exception when an operation fails to execute.
 12424  //
 12425  //   * AccessDeniedException
 12426  //   Lightsail throws this exception when the user cannot be authenticated or
 12427  //   uses invalid credentials to access a resource.
 12428  //
 12429  //   * AccountSetupInProgressException
 12430  //   Lightsail throws this exception when an account is still in the setup in
 12431  //   progress state.
 12432  //
 12433  //   * UnauthenticatedException
 12434  //   Lightsail throws this exception when the user has not been authenticated.
 12435  //
 12436  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
 12437  func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
 12438  	req, out := c.GetRelationalDatabaseParametersRequest(input)
 12439  	return out, req.Send()
 12440  }
 12441  
 12442  // GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
 12443  // the ability to pass a context and additional request options.
 12444  //
 12445  // See GetRelationalDatabaseParameters for details on how to use this API operation.
 12446  //
 12447  // The context must be non-nil and will be used for request cancellation. If
 12448  // the context is nil a panic will occur. In the future the SDK may create
 12449  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12450  // for more information on using Contexts.
 12451  func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
 12452  	req, out := c.GetRelationalDatabaseParametersRequest(input)
 12453  	req.SetContext(ctx)
 12454  	req.ApplyOptions(opts...)
 12455  	return out, req.Send()
 12456  }
 12457  
 12458  const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
 12459  
 12460  // GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
 12461  // client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
 12462  // value will be populated with the request's response once the request completes
 12463  // successfully.
 12464  //
 12465  // Use "Send" method on the returned Request to send the API call to the service.
 12466  // the "output" return value is not valid until after Send returns without error.
 12467  //
 12468  // See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
 12469  // API call, and error handling.
 12470  //
 12471  // This method is useful when you want to inject custom logic or configuration
 12472  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12473  //
 12474  //
 12475  //    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
 12476  //    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
 12477  //
 12478  //    err := req.Send()
 12479  //    if err == nil { // resp is now filled
 12480  //        fmt.Println(resp)
 12481  //    }
 12482  //
 12483  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
 12484  func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
 12485  	op := &request.Operation{
 12486  		Name:       opGetRelationalDatabaseSnapshot,
 12487  		HTTPMethod: "POST",
 12488  		HTTPPath:   "/",
 12489  	}
 12490  
 12491  	if input == nil {
 12492  		input = &GetRelationalDatabaseSnapshotInput{}
 12493  	}
 12494  
 12495  	output = &GetRelationalDatabaseSnapshotOutput{}
 12496  	req = c.newRequest(op, input, output)
 12497  	return
 12498  }
 12499  
 12500  // GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
 12501  //
 12502  // Returns information about a specific database snapshot in Amazon Lightsail.
 12503  //
 12504  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12505  // with awserr.Error's Code and Message methods to get detailed information about
 12506  // the error.
 12507  //
 12508  // See the AWS API reference guide for Amazon Lightsail's
 12509  // API operation GetRelationalDatabaseSnapshot for usage and error information.
 12510  //
 12511  // Returned Error Types:
 12512  //   * ServiceException
 12513  //   A general service exception.
 12514  //
 12515  //   * InvalidInputException
 12516  //   Lightsail throws this exception when user input does not conform to the validation
 12517  //   rules of an input field.
 12518  //
 12519  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12520  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12521  //   view, or edit these resources.
 12522  //
 12523  //   * NotFoundException
 12524  //   Lightsail throws this exception when it cannot find a resource.
 12525  //
 12526  //   * OperationFailureException
 12527  //   Lightsail throws this exception when an operation fails to execute.
 12528  //
 12529  //   * AccessDeniedException
 12530  //   Lightsail throws this exception when the user cannot be authenticated or
 12531  //   uses invalid credentials to access a resource.
 12532  //
 12533  //   * AccountSetupInProgressException
 12534  //   Lightsail throws this exception when an account is still in the setup in
 12535  //   progress state.
 12536  //
 12537  //   * UnauthenticatedException
 12538  //   Lightsail throws this exception when the user has not been authenticated.
 12539  //
 12540  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
 12541  func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
 12542  	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
 12543  	return out, req.Send()
 12544  }
 12545  
 12546  // GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
 12547  // the ability to pass a context and additional request options.
 12548  //
 12549  // See GetRelationalDatabaseSnapshot for details on how to use this API operation.
 12550  //
 12551  // The context must be non-nil and will be used for request cancellation. If
 12552  // the context is nil a panic will occur. In the future the SDK may create
 12553  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12554  // for more information on using Contexts.
 12555  func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
 12556  	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
 12557  	req.SetContext(ctx)
 12558  	req.ApplyOptions(opts...)
 12559  	return out, req.Send()
 12560  }
 12561  
 12562  const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
 12563  
 12564  // GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
 12565  // client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
 12566  // value will be populated with the request's response once the request completes
 12567  // successfully.
 12568  //
 12569  // Use "Send" method on the returned Request to send the API call to the service.
 12570  // the "output" return value is not valid until after Send returns without error.
 12571  //
 12572  // See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
 12573  // API call, and error handling.
 12574  //
 12575  // This method is useful when you want to inject custom logic or configuration
 12576  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12577  //
 12578  //
 12579  //    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
 12580  //    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
 12581  //
 12582  //    err := req.Send()
 12583  //    if err == nil { // resp is now filled
 12584  //        fmt.Println(resp)
 12585  //    }
 12586  //
 12587  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
 12588  func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
 12589  	op := &request.Operation{
 12590  		Name:       opGetRelationalDatabaseSnapshots,
 12591  		HTTPMethod: "POST",
 12592  		HTTPPath:   "/",
 12593  	}
 12594  
 12595  	if input == nil {
 12596  		input = &GetRelationalDatabaseSnapshotsInput{}
 12597  	}
 12598  
 12599  	output = &GetRelationalDatabaseSnapshotsOutput{}
 12600  	req = c.newRequest(op, input, output)
 12601  	return
 12602  }
 12603  
 12604  // GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
 12605  //
 12606  // Returns information about all of your database snapshots in Amazon Lightsail.
 12607  //
 12608  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12609  // with awserr.Error's Code and Message methods to get detailed information about
 12610  // the error.
 12611  //
 12612  // See the AWS API reference guide for Amazon Lightsail's
 12613  // API operation GetRelationalDatabaseSnapshots for usage and error information.
 12614  //
 12615  // Returned Error Types:
 12616  //   * ServiceException
 12617  //   A general service exception.
 12618  //
 12619  //   * InvalidInputException
 12620  //   Lightsail throws this exception when user input does not conform to the validation
 12621  //   rules of an input field.
 12622  //
 12623  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12624  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12625  //   view, or edit these resources.
 12626  //
 12627  //   * NotFoundException
 12628  //   Lightsail throws this exception when it cannot find a resource.
 12629  //
 12630  //   * OperationFailureException
 12631  //   Lightsail throws this exception when an operation fails to execute.
 12632  //
 12633  //   * AccessDeniedException
 12634  //   Lightsail throws this exception when the user cannot be authenticated or
 12635  //   uses invalid credentials to access a resource.
 12636  //
 12637  //   * AccountSetupInProgressException
 12638  //   Lightsail throws this exception when an account is still in the setup in
 12639  //   progress state.
 12640  //
 12641  //   * UnauthenticatedException
 12642  //   Lightsail throws this exception when the user has not been authenticated.
 12643  //
 12644  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
 12645  func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
 12646  	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
 12647  	return out, req.Send()
 12648  }
 12649  
 12650  // GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
 12651  // the ability to pass a context and additional request options.
 12652  //
 12653  // See GetRelationalDatabaseSnapshots for details on how to use this API operation.
 12654  //
 12655  // The context must be non-nil and will be used for request cancellation. If
 12656  // the context is nil a panic will occur. In the future the SDK may create
 12657  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12658  // for more information on using Contexts.
 12659  func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
 12660  	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
 12661  	req.SetContext(ctx)
 12662  	req.ApplyOptions(opts...)
 12663  	return out, req.Send()
 12664  }
 12665  
 12666  const opGetRelationalDatabases = "GetRelationalDatabases"
 12667  
 12668  // GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
 12669  // client's request for the GetRelationalDatabases operation. The "output" return
 12670  // value will be populated with the request's response once the request completes
 12671  // successfully.
 12672  //
 12673  // Use "Send" method on the returned Request to send the API call to the service.
 12674  // the "output" return value is not valid until after Send returns without error.
 12675  //
 12676  // See GetRelationalDatabases for more information on using the GetRelationalDatabases
 12677  // API call, and error handling.
 12678  //
 12679  // This method is useful when you want to inject custom logic or configuration
 12680  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12681  //
 12682  //
 12683  //    // Example sending a request using the GetRelationalDatabasesRequest method.
 12684  //    req, resp := client.GetRelationalDatabasesRequest(params)
 12685  //
 12686  //    err := req.Send()
 12687  //    if err == nil { // resp is now filled
 12688  //        fmt.Println(resp)
 12689  //    }
 12690  //
 12691  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
 12692  func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
 12693  	op := &request.Operation{
 12694  		Name:       opGetRelationalDatabases,
 12695  		HTTPMethod: "POST",
 12696  		HTTPPath:   "/",
 12697  	}
 12698  
 12699  	if input == nil {
 12700  		input = &GetRelationalDatabasesInput{}
 12701  	}
 12702  
 12703  	output = &GetRelationalDatabasesOutput{}
 12704  	req = c.newRequest(op, input, output)
 12705  	return
 12706  }
 12707  
 12708  // GetRelationalDatabases API operation for Amazon Lightsail.
 12709  //
 12710  // Returns information about all of your databases in Amazon Lightsail.
 12711  //
 12712  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12713  // with awserr.Error's Code and Message methods to get detailed information about
 12714  // the error.
 12715  //
 12716  // See the AWS API reference guide for Amazon Lightsail's
 12717  // API operation GetRelationalDatabases for usage and error information.
 12718  //
 12719  // Returned Error Types:
 12720  //   * ServiceException
 12721  //   A general service exception.
 12722  //
 12723  //   * InvalidInputException
 12724  //   Lightsail throws this exception when user input does not conform to the validation
 12725  //   rules of an input field.
 12726  //
 12727  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12728  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12729  //   view, or edit these resources.
 12730  //
 12731  //   * NotFoundException
 12732  //   Lightsail throws this exception when it cannot find a resource.
 12733  //
 12734  //   * OperationFailureException
 12735  //   Lightsail throws this exception when an operation fails to execute.
 12736  //
 12737  //   * AccessDeniedException
 12738  //   Lightsail throws this exception when the user cannot be authenticated or
 12739  //   uses invalid credentials to access a resource.
 12740  //
 12741  //   * AccountSetupInProgressException
 12742  //   Lightsail throws this exception when an account is still in the setup in
 12743  //   progress state.
 12744  //
 12745  //   * UnauthenticatedException
 12746  //   Lightsail throws this exception when the user has not been authenticated.
 12747  //
 12748  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
 12749  func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
 12750  	req, out := c.GetRelationalDatabasesRequest(input)
 12751  	return out, req.Send()
 12752  }
 12753  
 12754  // GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
 12755  // the ability to pass a context and additional request options.
 12756  //
 12757  // See GetRelationalDatabases for details on how to use this API operation.
 12758  //
 12759  // The context must be non-nil and will be used for request cancellation. If
 12760  // the context is nil a panic will occur. In the future the SDK may create
 12761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12762  // for more information on using Contexts.
 12763  func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
 12764  	req, out := c.GetRelationalDatabasesRequest(input)
 12765  	req.SetContext(ctx)
 12766  	req.ApplyOptions(opts...)
 12767  	return out, req.Send()
 12768  }
 12769  
 12770  const opGetStaticIp = "GetStaticIp"
 12771  
 12772  // GetStaticIpRequest generates a "aws/request.Request" representing the
 12773  // client's request for the GetStaticIp operation. The "output" return
 12774  // value will be populated with the request's response once the request completes
 12775  // successfully.
 12776  //
 12777  // Use "Send" method on the returned Request to send the API call to the service.
 12778  // the "output" return value is not valid until after Send returns without error.
 12779  //
 12780  // See GetStaticIp for more information on using the GetStaticIp
 12781  // API call, and error handling.
 12782  //
 12783  // This method is useful when you want to inject custom logic or configuration
 12784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12785  //
 12786  //
 12787  //    // Example sending a request using the GetStaticIpRequest method.
 12788  //    req, resp := client.GetStaticIpRequest(params)
 12789  //
 12790  //    err := req.Send()
 12791  //    if err == nil { // resp is now filled
 12792  //        fmt.Println(resp)
 12793  //    }
 12794  //
 12795  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
 12796  func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
 12797  	op := &request.Operation{
 12798  		Name:       opGetStaticIp,
 12799  		HTTPMethod: "POST",
 12800  		HTTPPath:   "/",
 12801  	}
 12802  
 12803  	if input == nil {
 12804  		input = &GetStaticIpInput{}
 12805  	}
 12806  
 12807  	output = &GetStaticIpOutput{}
 12808  	req = c.newRequest(op, input, output)
 12809  	return
 12810  }
 12811  
 12812  // GetStaticIp API operation for Amazon Lightsail.
 12813  //
 12814  // Returns information about an Amazon Lightsail static IP.
 12815  //
 12816  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12817  // with awserr.Error's Code and Message methods to get detailed information about
 12818  // the error.
 12819  //
 12820  // See the AWS API reference guide for Amazon Lightsail's
 12821  // API operation GetStaticIp for usage and error information.
 12822  //
 12823  // Returned Error Types:
 12824  //   * ServiceException
 12825  //   A general service exception.
 12826  //
 12827  //   * InvalidInputException
 12828  //   Lightsail throws this exception when user input does not conform to the validation
 12829  //   rules of an input field.
 12830  //
 12831  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12832  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12833  //   view, or edit these resources.
 12834  //
 12835  //   * NotFoundException
 12836  //   Lightsail throws this exception when it cannot find a resource.
 12837  //
 12838  //   * OperationFailureException
 12839  //   Lightsail throws this exception when an operation fails to execute.
 12840  //
 12841  //   * AccessDeniedException
 12842  //   Lightsail throws this exception when the user cannot be authenticated or
 12843  //   uses invalid credentials to access a resource.
 12844  //
 12845  //   * AccountSetupInProgressException
 12846  //   Lightsail throws this exception when an account is still in the setup in
 12847  //   progress state.
 12848  //
 12849  //   * UnauthenticatedException
 12850  //   Lightsail throws this exception when the user has not been authenticated.
 12851  //
 12852  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
 12853  func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
 12854  	req, out := c.GetStaticIpRequest(input)
 12855  	return out, req.Send()
 12856  }
 12857  
 12858  // GetStaticIpWithContext is the same as GetStaticIp with the addition of
 12859  // the ability to pass a context and additional request options.
 12860  //
 12861  // See GetStaticIp for details on how to use this API operation.
 12862  //
 12863  // The context must be non-nil and will be used for request cancellation. If
 12864  // the context is nil a panic will occur. In the future the SDK may create
 12865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12866  // for more information on using Contexts.
 12867  func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
 12868  	req, out := c.GetStaticIpRequest(input)
 12869  	req.SetContext(ctx)
 12870  	req.ApplyOptions(opts...)
 12871  	return out, req.Send()
 12872  }
 12873  
 12874  const opGetStaticIps = "GetStaticIps"
 12875  
 12876  // GetStaticIpsRequest generates a "aws/request.Request" representing the
 12877  // client's request for the GetStaticIps operation. The "output" return
 12878  // value will be populated with the request's response once the request completes
 12879  // successfully.
 12880  //
 12881  // Use "Send" method on the returned Request to send the API call to the service.
 12882  // the "output" return value is not valid until after Send returns without error.
 12883  //
 12884  // See GetStaticIps for more information on using the GetStaticIps
 12885  // API call, and error handling.
 12886  //
 12887  // This method is useful when you want to inject custom logic or configuration
 12888  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12889  //
 12890  //
 12891  //    // Example sending a request using the GetStaticIpsRequest method.
 12892  //    req, resp := client.GetStaticIpsRequest(params)
 12893  //
 12894  //    err := req.Send()
 12895  //    if err == nil { // resp is now filled
 12896  //        fmt.Println(resp)
 12897  //    }
 12898  //
 12899  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
 12900  func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
 12901  	op := &request.Operation{
 12902  		Name:       opGetStaticIps,
 12903  		HTTPMethod: "POST",
 12904  		HTTPPath:   "/",
 12905  	}
 12906  
 12907  	if input == nil {
 12908  		input = &GetStaticIpsInput{}
 12909  	}
 12910  
 12911  	output = &GetStaticIpsOutput{}
 12912  	req = c.newRequest(op, input, output)
 12913  	return
 12914  }
 12915  
 12916  // GetStaticIps API operation for Amazon Lightsail.
 12917  //
 12918  // Returns information about all static IPs in the user's account.
 12919  //
 12920  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12921  // with awserr.Error's Code and Message methods to get detailed information about
 12922  // the error.
 12923  //
 12924  // See the AWS API reference guide for Amazon Lightsail's
 12925  // API operation GetStaticIps for usage and error information.
 12926  //
 12927  // Returned Error Types:
 12928  //   * ServiceException
 12929  //   A general service exception.
 12930  //
 12931  //   * InvalidInputException
 12932  //   Lightsail throws this exception when user input does not conform to the validation
 12933  //   rules of an input field.
 12934  //
 12935  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 12936  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 12937  //   view, or edit these resources.
 12938  //
 12939  //   * NotFoundException
 12940  //   Lightsail throws this exception when it cannot find a resource.
 12941  //
 12942  //   * OperationFailureException
 12943  //   Lightsail throws this exception when an operation fails to execute.
 12944  //
 12945  //   * AccessDeniedException
 12946  //   Lightsail throws this exception when the user cannot be authenticated or
 12947  //   uses invalid credentials to access a resource.
 12948  //
 12949  //   * AccountSetupInProgressException
 12950  //   Lightsail throws this exception when an account is still in the setup in
 12951  //   progress state.
 12952  //
 12953  //   * UnauthenticatedException
 12954  //   Lightsail throws this exception when the user has not been authenticated.
 12955  //
 12956  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
 12957  func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
 12958  	req, out := c.GetStaticIpsRequest(input)
 12959  	return out, req.Send()
 12960  }
 12961  
 12962  // GetStaticIpsWithContext is the same as GetStaticIps with the addition of
 12963  // the ability to pass a context and additional request options.
 12964  //
 12965  // See GetStaticIps for details on how to use this API operation.
 12966  //
 12967  // The context must be non-nil and will be used for request cancellation. If
 12968  // the context is nil a panic will occur. In the future the SDK may create
 12969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12970  // for more information on using Contexts.
 12971  func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
 12972  	req, out := c.GetStaticIpsRequest(input)
 12973  	req.SetContext(ctx)
 12974  	req.ApplyOptions(opts...)
 12975  	return out, req.Send()
 12976  }
 12977  
 12978  const opImportKeyPair = "ImportKeyPair"
 12979  
 12980  // ImportKeyPairRequest generates a "aws/request.Request" representing the
 12981  // client's request for the ImportKeyPair operation. The "output" return
 12982  // value will be populated with the request's response once the request completes
 12983  // successfully.
 12984  //
 12985  // Use "Send" method on the returned Request to send the API call to the service.
 12986  // the "output" return value is not valid until after Send returns without error.
 12987  //
 12988  // See ImportKeyPair for more information on using the ImportKeyPair
 12989  // API call, and error handling.
 12990  //
 12991  // This method is useful when you want to inject custom logic or configuration
 12992  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12993  //
 12994  //
 12995  //    // Example sending a request using the ImportKeyPairRequest method.
 12996  //    req, resp := client.ImportKeyPairRequest(params)
 12997  //
 12998  //    err := req.Send()
 12999  //    if err == nil { // resp is now filled
 13000  //        fmt.Println(resp)
 13001  //    }
 13002  //
 13003  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
 13004  func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
 13005  	op := &request.Operation{
 13006  		Name:       opImportKeyPair,
 13007  		HTTPMethod: "POST",
 13008  		HTTPPath:   "/",
 13009  	}
 13010  
 13011  	if input == nil {
 13012  		input = &ImportKeyPairInput{}
 13013  	}
 13014  
 13015  	output = &ImportKeyPairOutput{}
 13016  	req = c.newRequest(op, input, output)
 13017  	return
 13018  }
 13019  
 13020  // ImportKeyPair API operation for Amazon Lightsail.
 13021  //
 13022  // Imports a public SSH key from a specific key pair.
 13023  //
 13024  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13025  // with awserr.Error's Code and Message methods to get detailed information about
 13026  // the error.
 13027  //
 13028  // See the AWS API reference guide for Amazon Lightsail's
 13029  // API operation ImportKeyPair for usage and error information.
 13030  //
 13031  // Returned Error Types:
 13032  //   * ServiceException
 13033  //   A general service exception.
 13034  //
 13035  //   * InvalidInputException
 13036  //   Lightsail throws this exception when user input does not conform to the validation
 13037  //   rules of an input field.
 13038  //
 13039  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13040  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13041  //   view, or edit these resources.
 13042  //
 13043  //   * NotFoundException
 13044  //   Lightsail throws this exception when it cannot find a resource.
 13045  //
 13046  //   * OperationFailureException
 13047  //   Lightsail throws this exception when an operation fails to execute.
 13048  //
 13049  //   * AccessDeniedException
 13050  //   Lightsail throws this exception when the user cannot be authenticated or
 13051  //   uses invalid credentials to access a resource.
 13052  //
 13053  //   * AccountSetupInProgressException
 13054  //   Lightsail throws this exception when an account is still in the setup in
 13055  //   progress state.
 13056  //
 13057  //   * UnauthenticatedException
 13058  //   Lightsail throws this exception when the user has not been authenticated.
 13059  //
 13060  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
 13061  func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
 13062  	req, out := c.ImportKeyPairRequest(input)
 13063  	return out, req.Send()
 13064  }
 13065  
 13066  // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
 13067  // the ability to pass a context and additional request options.
 13068  //
 13069  // See ImportKeyPair for details on how to use this API operation.
 13070  //
 13071  // The context must be non-nil and will be used for request cancellation. If
 13072  // the context is nil a panic will occur. In the future the SDK may create
 13073  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13074  // for more information on using Contexts.
 13075  func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
 13076  	req, out := c.ImportKeyPairRequest(input)
 13077  	req.SetContext(ctx)
 13078  	req.ApplyOptions(opts...)
 13079  	return out, req.Send()
 13080  }
 13081  
 13082  const opIsVpcPeered = "IsVpcPeered"
 13083  
 13084  // IsVpcPeeredRequest generates a "aws/request.Request" representing the
 13085  // client's request for the IsVpcPeered operation. The "output" return
 13086  // value will be populated with the request's response once the request completes
 13087  // successfully.
 13088  //
 13089  // Use "Send" method on the returned Request to send the API call to the service.
 13090  // the "output" return value is not valid until after Send returns without error.
 13091  //
 13092  // See IsVpcPeered for more information on using the IsVpcPeered
 13093  // API call, and error handling.
 13094  //
 13095  // This method is useful when you want to inject custom logic or configuration
 13096  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13097  //
 13098  //
 13099  //    // Example sending a request using the IsVpcPeeredRequest method.
 13100  //    req, resp := client.IsVpcPeeredRequest(params)
 13101  //
 13102  //    err := req.Send()
 13103  //    if err == nil { // resp is now filled
 13104  //        fmt.Println(resp)
 13105  //    }
 13106  //
 13107  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
 13108  func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
 13109  	op := &request.Operation{
 13110  		Name:       opIsVpcPeered,
 13111  		HTTPMethod: "POST",
 13112  		HTTPPath:   "/",
 13113  	}
 13114  
 13115  	if input == nil {
 13116  		input = &IsVpcPeeredInput{}
 13117  	}
 13118  
 13119  	output = &IsVpcPeeredOutput{}
 13120  	req = c.newRequest(op, input, output)
 13121  	return
 13122  }
 13123  
 13124  // IsVpcPeered API operation for Amazon Lightsail.
 13125  //
 13126  // Returns a Boolean value indicating whether your Lightsail VPC is peered.
 13127  //
 13128  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13129  // with awserr.Error's Code and Message methods to get detailed information about
 13130  // the error.
 13131  //
 13132  // See the AWS API reference guide for Amazon Lightsail's
 13133  // API operation IsVpcPeered for usage and error information.
 13134  //
 13135  // Returned Error Types:
 13136  //   * ServiceException
 13137  //   A general service exception.
 13138  //
 13139  //   * InvalidInputException
 13140  //   Lightsail throws this exception when user input does not conform to the validation
 13141  //   rules of an input field.
 13142  //
 13143  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13144  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13145  //   view, or edit these resources.
 13146  //
 13147  //   * NotFoundException
 13148  //   Lightsail throws this exception when it cannot find a resource.
 13149  //
 13150  //   * OperationFailureException
 13151  //   Lightsail throws this exception when an operation fails to execute.
 13152  //
 13153  //   * AccessDeniedException
 13154  //   Lightsail throws this exception when the user cannot be authenticated or
 13155  //   uses invalid credentials to access a resource.
 13156  //
 13157  //   * AccountSetupInProgressException
 13158  //   Lightsail throws this exception when an account is still in the setup in
 13159  //   progress state.
 13160  //
 13161  //   * UnauthenticatedException
 13162  //   Lightsail throws this exception when the user has not been authenticated.
 13163  //
 13164  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
 13165  func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
 13166  	req, out := c.IsVpcPeeredRequest(input)
 13167  	return out, req.Send()
 13168  }
 13169  
 13170  // IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
 13171  // the ability to pass a context and additional request options.
 13172  //
 13173  // See IsVpcPeered for details on how to use this API operation.
 13174  //
 13175  // The context must be non-nil and will be used for request cancellation. If
 13176  // the context is nil a panic will occur. In the future the SDK may create
 13177  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13178  // for more information on using Contexts.
 13179  func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
 13180  	req, out := c.IsVpcPeeredRequest(input)
 13181  	req.SetContext(ctx)
 13182  	req.ApplyOptions(opts...)
 13183  	return out, req.Send()
 13184  }
 13185  
 13186  const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
 13187  
 13188  // OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
 13189  // client's request for the OpenInstancePublicPorts operation. The "output" return
 13190  // value will be populated with the request's response once the request completes
 13191  // successfully.
 13192  //
 13193  // Use "Send" method on the returned Request to send the API call to the service.
 13194  // the "output" return value is not valid until after Send returns without error.
 13195  //
 13196  // See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
 13197  // API call, and error handling.
 13198  //
 13199  // This method is useful when you want to inject custom logic or configuration
 13200  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13201  //
 13202  //
 13203  //    // Example sending a request using the OpenInstancePublicPortsRequest method.
 13204  //    req, resp := client.OpenInstancePublicPortsRequest(params)
 13205  //
 13206  //    err := req.Send()
 13207  //    if err == nil { // resp is now filled
 13208  //        fmt.Println(resp)
 13209  //    }
 13210  //
 13211  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
 13212  func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
 13213  	op := &request.Operation{
 13214  		Name:       opOpenInstancePublicPorts,
 13215  		HTTPMethod: "POST",
 13216  		HTTPPath:   "/",
 13217  	}
 13218  
 13219  	if input == nil {
 13220  		input = &OpenInstancePublicPortsInput{}
 13221  	}
 13222  
 13223  	output = &OpenInstancePublicPortsOutput{}
 13224  	req = c.newRequest(op, input, output)
 13225  	return
 13226  }
 13227  
 13228  // OpenInstancePublicPorts API operation for Amazon Lightsail.
 13229  //
 13230  // Opens ports for a specific Amazon Lightsail instance, and specifies the IP
 13231  // addresses allowed to connect to the instance through the ports, and the protocol.
 13232  //
 13233  // The OpenInstancePublicPorts action supports tag-based access control via
 13234  // resource tags applied to the resource identified by instanceName. For more
 13235  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 13236  //
 13237  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13238  // with awserr.Error's Code and Message methods to get detailed information about
 13239  // the error.
 13240  //
 13241  // See the AWS API reference guide for Amazon Lightsail's
 13242  // API operation OpenInstancePublicPorts for usage and error information.
 13243  //
 13244  // Returned Error Types:
 13245  //   * ServiceException
 13246  //   A general service exception.
 13247  //
 13248  //   * InvalidInputException
 13249  //   Lightsail throws this exception when user input does not conform to the validation
 13250  //   rules of an input field.
 13251  //
 13252  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13253  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13254  //   view, or edit these resources.
 13255  //
 13256  //   * NotFoundException
 13257  //   Lightsail throws this exception when it cannot find a resource.
 13258  //
 13259  //   * OperationFailureException
 13260  //   Lightsail throws this exception when an operation fails to execute.
 13261  //
 13262  //   * AccessDeniedException
 13263  //   Lightsail throws this exception when the user cannot be authenticated or
 13264  //   uses invalid credentials to access a resource.
 13265  //
 13266  //   * AccountSetupInProgressException
 13267  //   Lightsail throws this exception when an account is still in the setup in
 13268  //   progress state.
 13269  //
 13270  //   * UnauthenticatedException
 13271  //   Lightsail throws this exception when the user has not been authenticated.
 13272  //
 13273  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
 13274  func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
 13275  	req, out := c.OpenInstancePublicPortsRequest(input)
 13276  	return out, req.Send()
 13277  }
 13278  
 13279  // OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
 13280  // the ability to pass a context and additional request options.
 13281  //
 13282  // See OpenInstancePublicPorts for details on how to use this API operation.
 13283  //
 13284  // The context must be non-nil and will be used for request cancellation. If
 13285  // the context is nil a panic will occur. In the future the SDK may create
 13286  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13287  // for more information on using Contexts.
 13288  func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
 13289  	req, out := c.OpenInstancePublicPortsRequest(input)
 13290  	req.SetContext(ctx)
 13291  	req.ApplyOptions(opts...)
 13292  	return out, req.Send()
 13293  }
 13294  
 13295  const opPeerVpc = "PeerVpc"
 13296  
 13297  // PeerVpcRequest generates a "aws/request.Request" representing the
 13298  // client's request for the PeerVpc operation. The "output" return
 13299  // value will be populated with the request's response once the request completes
 13300  // successfully.
 13301  //
 13302  // Use "Send" method on the returned Request to send the API call to the service.
 13303  // the "output" return value is not valid until after Send returns without error.
 13304  //
 13305  // See PeerVpc for more information on using the PeerVpc
 13306  // API call, and error handling.
 13307  //
 13308  // This method is useful when you want to inject custom logic or configuration
 13309  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13310  //
 13311  //
 13312  //    // Example sending a request using the PeerVpcRequest method.
 13313  //    req, resp := client.PeerVpcRequest(params)
 13314  //
 13315  //    err := req.Send()
 13316  //    if err == nil { // resp is now filled
 13317  //        fmt.Println(resp)
 13318  //    }
 13319  //
 13320  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
 13321  func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
 13322  	op := &request.Operation{
 13323  		Name:       opPeerVpc,
 13324  		HTTPMethod: "POST",
 13325  		HTTPPath:   "/",
 13326  	}
 13327  
 13328  	if input == nil {
 13329  		input = &PeerVpcInput{}
 13330  	}
 13331  
 13332  	output = &PeerVpcOutput{}
 13333  	req = c.newRequest(op, input, output)
 13334  	return
 13335  }
 13336  
 13337  // PeerVpc API operation for Amazon Lightsail.
 13338  //
 13339  // Peers the Lightsail VPC with the user's default VPC.
 13340  //
 13341  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13342  // with awserr.Error's Code and Message methods to get detailed information about
 13343  // the error.
 13344  //
 13345  // See the AWS API reference guide for Amazon Lightsail's
 13346  // API operation PeerVpc for usage and error information.
 13347  //
 13348  // Returned Error Types:
 13349  //   * ServiceException
 13350  //   A general service exception.
 13351  //
 13352  //   * InvalidInputException
 13353  //   Lightsail throws this exception when user input does not conform to the validation
 13354  //   rules of an input field.
 13355  //
 13356  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13357  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13358  //   view, or edit these resources.
 13359  //
 13360  //   * NotFoundException
 13361  //   Lightsail throws this exception when it cannot find a resource.
 13362  //
 13363  //   * OperationFailureException
 13364  //   Lightsail throws this exception when an operation fails to execute.
 13365  //
 13366  //   * AccessDeniedException
 13367  //   Lightsail throws this exception when the user cannot be authenticated or
 13368  //   uses invalid credentials to access a resource.
 13369  //
 13370  //   * AccountSetupInProgressException
 13371  //   Lightsail throws this exception when an account is still in the setup in
 13372  //   progress state.
 13373  //
 13374  //   * UnauthenticatedException
 13375  //   Lightsail throws this exception when the user has not been authenticated.
 13376  //
 13377  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
 13378  func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
 13379  	req, out := c.PeerVpcRequest(input)
 13380  	return out, req.Send()
 13381  }
 13382  
 13383  // PeerVpcWithContext is the same as PeerVpc with the addition of
 13384  // the ability to pass a context and additional request options.
 13385  //
 13386  // See PeerVpc for details on how to use this API operation.
 13387  //
 13388  // The context must be non-nil and will be used for request cancellation. If
 13389  // the context is nil a panic will occur. In the future the SDK may create
 13390  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13391  // for more information on using Contexts.
 13392  func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
 13393  	req, out := c.PeerVpcRequest(input)
 13394  	req.SetContext(ctx)
 13395  	req.ApplyOptions(opts...)
 13396  	return out, req.Send()
 13397  }
 13398  
 13399  const opPutAlarm = "PutAlarm"
 13400  
 13401  // PutAlarmRequest generates a "aws/request.Request" representing the
 13402  // client's request for the PutAlarm operation. The "output" return
 13403  // value will be populated with the request's response once the request completes
 13404  // successfully.
 13405  //
 13406  // Use "Send" method on the returned Request to send the API call to the service.
 13407  // the "output" return value is not valid until after Send returns without error.
 13408  //
 13409  // See PutAlarm for more information on using the PutAlarm
 13410  // API call, and error handling.
 13411  //
 13412  // This method is useful when you want to inject custom logic or configuration
 13413  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13414  //
 13415  //
 13416  //    // Example sending a request using the PutAlarmRequest method.
 13417  //    req, resp := client.PutAlarmRequest(params)
 13418  //
 13419  //    err := req.Send()
 13420  //    if err == nil { // resp is now filled
 13421  //        fmt.Println(resp)
 13422  //    }
 13423  //
 13424  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
 13425  func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) {
 13426  	op := &request.Operation{
 13427  		Name:       opPutAlarm,
 13428  		HTTPMethod: "POST",
 13429  		HTTPPath:   "/",
 13430  	}
 13431  
 13432  	if input == nil {
 13433  		input = &PutAlarmInput{}
 13434  	}
 13435  
 13436  	output = &PutAlarmOutput{}
 13437  	req = c.newRequest(op, input, output)
 13438  	return
 13439  }
 13440  
 13441  // PutAlarm API operation for Amazon Lightsail.
 13442  //
 13443  // Creates or updates an alarm, and associates it with the specified metric.
 13444  //
 13445  // An alarm is used to monitor a single metric for one of your resources. When
 13446  // a metric condition is met, the alarm can notify you by email, SMS text message,
 13447  // and a banner displayed on the Amazon Lightsail console. For more information,
 13448  // see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
 13449  //
 13450  // When this action creates an alarm, the alarm state is immediately set to
 13451  // INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately.
 13452  // Any actions associated with the new state are then executed.
 13453  //
 13454  // When you update an existing alarm, its state is left unchanged, but the update
 13455  // completely overwrites the previous configuration of the alarm. The alarm
 13456  // is then evaluated with the updated configuration.
 13457  //
 13458  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13459  // with awserr.Error's Code and Message methods to get detailed information about
 13460  // the error.
 13461  //
 13462  // See the AWS API reference guide for Amazon Lightsail's
 13463  // API operation PutAlarm for usage and error information.
 13464  //
 13465  // Returned Error Types:
 13466  //   * ServiceException
 13467  //   A general service exception.
 13468  //
 13469  //   * InvalidInputException
 13470  //   Lightsail throws this exception when user input does not conform to the validation
 13471  //   rules of an input field.
 13472  //
 13473  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13474  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13475  //   view, or edit these resources.
 13476  //
 13477  //   * OperationFailureException
 13478  //   Lightsail throws this exception when an operation fails to execute.
 13479  //
 13480  //   * AccessDeniedException
 13481  //   Lightsail throws this exception when the user cannot be authenticated or
 13482  //   uses invalid credentials to access a resource.
 13483  //
 13484  //   * UnauthenticatedException
 13485  //   Lightsail throws this exception when the user has not been authenticated.
 13486  //
 13487  //   * NotFoundException
 13488  //   Lightsail throws this exception when it cannot find a resource.
 13489  //
 13490  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
 13491  func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) {
 13492  	req, out := c.PutAlarmRequest(input)
 13493  	return out, req.Send()
 13494  }
 13495  
 13496  // PutAlarmWithContext is the same as PutAlarm with the addition of
 13497  // the ability to pass a context and additional request options.
 13498  //
 13499  // See PutAlarm for details on how to use this API operation.
 13500  //
 13501  // The context must be non-nil and will be used for request cancellation. If
 13502  // the context is nil a panic will occur. In the future the SDK may create
 13503  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13504  // for more information on using Contexts.
 13505  func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) {
 13506  	req, out := c.PutAlarmRequest(input)
 13507  	req.SetContext(ctx)
 13508  	req.ApplyOptions(opts...)
 13509  	return out, req.Send()
 13510  }
 13511  
 13512  const opPutInstancePublicPorts = "PutInstancePublicPorts"
 13513  
 13514  // PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
 13515  // client's request for the PutInstancePublicPorts operation. The "output" return
 13516  // value will be populated with the request's response once the request completes
 13517  // successfully.
 13518  //
 13519  // Use "Send" method on the returned Request to send the API call to the service.
 13520  // the "output" return value is not valid until after Send returns without error.
 13521  //
 13522  // See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
 13523  // API call, and error handling.
 13524  //
 13525  // This method is useful when you want to inject custom logic or configuration
 13526  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13527  //
 13528  //
 13529  //    // Example sending a request using the PutInstancePublicPortsRequest method.
 13530  //    req, resp := client.PutInstancePublicPortsRequest(params)
 13531  //
 13532  //    err := req.Send()
 13533  //    if err == nil { // resp is now filled
 13534  //        fmt.Println(resp)
 13535  //    }
 13536  //
 13537  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
 13538  func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
 13539  	op := &request.Operation{
 13540  		Name:       opPutInstancePublicPorts,
 13541  		HTTPMethod: "POST",
 13542  		HTTPPath:   "/",
 13543  	}
 13544  
 13545  	if input == nil {
 13546  		input = &PutInstancePublicPortsInput{}
 13547  	}
 13548  
 13549  	output = &PutInstancePublicPortsOutput{}
 13550  	req = c.newRequest(op, input, output)
 13551  	return
 13552  }
 13553  
 13554  // PutInstancePublicPorts API operation for Amazon Lightsail.
 13555  //
 13556  // Opens ports for a specific Amazon Lightsail instance, and specifies the IP
 13557  // addresses allowed to connect to the instance through the ports, and the protocol.
 13558  // This action also closes all currently open ports that are not included in
 13559  // the request. Include all of the ports and the protocols you want to open
 13560  // in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts
 13561  // action to open ports without closing currently open ports.
 13562  //
 13563  // The PutInstancePublicPorts action supports tag-based access control via resource
 13564  // tags applied to the resource identified by instanceName. For more information,
 13565  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 13566  //
 13567  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13568  // with awserr.Error's Code and Message methods to get detailed information about
 13569  // the error.
 13570  //
 13571  // See the AWS API reference guide for Amazon Lightsail's
 13572  // API operation PutInstancePublicPorts for usage and error information.
 13573  //
 13574  // Returned Error Types:
 13575  //   * ServiceException
 13576  //   A general service exception.
 13577  //
 13578  //   * InvalidInputException
 13579  //   Lightsail throws this exception when user input does not conform to the validation
 13580  //   rules of an input field.
 13581  //
 13582  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13583  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13584  //   view, or edit these resources.
 13585  //
 13586  //   * NotFoundException
 13587  //   Lightsail throws this exception when it cannot find a resource.
 13588  //
 13589  //   * OperationFailureException
 13590  //   Lightsail throws this exception when an operation fails to execute.
 13591  //
 13592  //   * AccessDeniedException
 13593  //   Lightsail throws this exception when the user cannot be authenticated or
 13594  //   uses invalid credentials to access a resource.
 13595  //
 13596  //   * AccountSetupInProgressException
 13597  //   Lightsail throws this exception when an account is still in the setup in
 13598  //   progress state.
 13599  //
 13600  //   * UnauthenticatedException
 13601  //   Lightsail throws this exception when the user has not been authenticated.
 13602  //
 13603  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
 13604  func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
 13605  	req, out := c.PutInstancePublicPortsRequest(input)
 13606  	return out, req.Send()
 13607  }
 13608  
 13609  // PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
 13610  // the ability to pass a context and additional request options.
 13611  //
 13612  // See PutInstancePublicPorts for details on how to use this API operation.
 13613  //
 13614  // The context must be non-nil and will be used for request cancellation. If
 13615  // the context is nil a panic will occur. In the future the SDK may create
 13616  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13617  // for more information on using Contexts.
 13618  func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
 13619  	req, out := c.PutInstancePublicPortsRequest(input)
 13620  	req.SetContext(ctx)
 13621  	req.ApplyOptions(opts...)
 13622  	return out, req.Send()
 13623  }
 13624  
 13625  const opRebootInstance = "RebootInstance"
 13626  
 13627  // RebootInstanceRequest generates a "aws/request.Request" representing the
 13628  // client's request for the RebootInstance operation. The "output" return
 13629  // value will be populated with the request's response once the request completes
 13630  // successfully.
 13631  //
 13632  // Use "Send" method on the returned Request to send the API call to the service.
 13633  // the "output" return value is not valid until after Send returns without error.
 13634  //
 13635  // See RebootInstance for more information on using the RebootInstance
 13636  // API call, and error handling.
 13637  //
 13638  // This method is useful when you want to inject custom logic or configuration
 13639  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13640  //
 13641  //
 13642  //    // Example sending a request using the RebootInstanceRequest method.
 13643  //    req, resp := client.RebootInstanceRequest(params)
 13644  //
 13645  //    err := req.Send()
 13646  //    if err == nil { // resp is now filled
 13647  //        fmt.Println(resp)
 13648  //    }
 13649  //
 13650  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
 13651  func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
 13652  	op := &request.Operation{
 13653  		Name:       opRebootInstance,
 13654  		HTTPMethod: "POST",
 13655  		HTTPPath:   "/",
 13656  	}
 13657  
 13658  	if input == nil {
 13659  		input = &RebootInstanceInput{}
 13660  	}
 13661  
 13662  	output = &RebootInstanceOutput{}
 13663  	req = c.newRequest(op, input, output)
 13664  	return
 13665  }
 13666  
 13667  // RebootInstance API operation for Amazon Lightsail.
 13668  //
 13669  // Restarts a specific instance.
 13670  //
 13671  // The reboot instance operation supports tag-based access control via resource
 13672  // tags applied to the resource identified by instance name. For more information,
 13673  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 13674  //
 13675  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13676  // with awserr.Error's Code and Message methods to get detailed information about
 13677  // the error.
 13678  //
 13679  // See the AWS API reference guide for Amazon Lightsail's
 13680  // API operation RebootInstance for usage and error information.
 13681  //
 13682  // Returned Error Types:
 13683  //   * ServiceException
 13684  //   A general service exception.
 13685  //
 13686  //   * InvalidInputException
 13687  //   Lightsail throws this exception when user input does not conform to the validation
 13688  //   rules of an input field.
 13689  //
 13690  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13691  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13692  //   view, or edit these resources.
 13693  //
 13694  //   * NotFoundException
 13695  //   Lightsail throws this exception when it cannot find a resource.
 13696  //
 13697  //   * OperationFailureException
 13698  //   Lightsail throws this exception when an operation fails to execute.
 13699  //
 13700  //   * AccessDeniedException
 13701  //   Lightsail throws this exception when the user cannot be authenticated or
 13702  //   uses invalid credentials to access a resource.
 13703  //
 13704  //   * AccountSetupInProgressException
 13705  //   Lightsail throws this exception when an account is still in the setup in
 13706  //   progress state.
 13707  //
 13708  //   * UnauthenticatedException
 13709  //   Lightsail throws this exception when the user has not been authenticated.
 13710  //
 13711  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
 13712  func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
 13713  	req, out := c.RebootInstanceRequest(input)
 13714  	return out, req.Send()
 13715  }
 13716  
 13717  // RebootInstanceWithContext is the same as RebootInstance with the addition of
 13718  // the ability to pass a context and additional request options.
 13719  //
 13720  // See RebootInstance for details on how to use this API operation.
 13721  //
 13722  // The context must be non-nil and will be used for request cancellation. If
 13723  // the context is nil a panic will occur. In the future the SDK may create
 13724  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13725  // for more information on using Contexts.
 13726  func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
 13727  	req, out := c.RebootInstanceRequest(input)
 13728  	req.SetContext(ctx)
 13729  	req.ApplyOptions(opts...)
 13730  	return out, req.Send()
 13731  }
 13732  
 13733  const opRebootRelationalDatabase = "RebootRelationalDatabase"
 13734  
 13735  // RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
 13736  // client's request for the RebootRelationalDatabase operation. The "output" return
 13737  // value will be populated with the request's response once the request completes
 13738  // successfully.
 13739  //
 13740  // Use "Send" method on the returned Request to send the API call to the service.
 13741  // the "output" return value is not valid until after Send returns without error.
 13742  //
 13743  // See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
 13744  // API call, and error handling.
 13745  //
 13746  // This method is useful when you want to inject custom logic or configuration
 13747  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13748  //
 13749  //
 13750  //    // Example sending a request using the RebootRelationalDatabaseRequest method.
 13751  //    req, resp := client.RebootRelationalDatabaseRequest(params)
 13752  //
 13753  //    err := req.Send()
 13754  //    if err == nil { // resp is now filled
 13755  //        fmt.Println(resp)
 13756  //    }
 13757  //
 13758  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
 13759  func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
 13760  	op := &request.Operation{
 13761  		Name:       opRebootRelationalDatabase,
 13762  		HTTPMethod: "POST",
 13763  		HTTPPath:   "/",
 13764  	}
 13765  
 13766  	if input == nil {
 13767  		input = &RebootRelationalDatabaseInput{}
 13768  	}
 13769  
 13770  	output = &RebootRelationalDatabaseOutput{}
 13771  	req = c.newRequest(op, input, output)
 13772  	return
 13773  }
 13774  
 13775  // RebootRelationalDatabase API operation for Amazon Lightsail.
 13776  //
 13777  // Restarts a specific database in Amazon Lightsail.
 13778  //
 13779  // The reboot relational database operation supports tag-based access control
 13780  // via resource tags applied to the resource identified by relationalDatabaseName.
 13781  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 13782  //
 13783  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13784  // with awserr.Error's Code and Message methods to get detailed information about
 13785  // the error.
 13786  //
 13787  // See the AWS API reference guide for Amazon Lightsail's
 13788  // API operation RebootRelationalDatabase for usage and error information.
 13789  //
 13790  // Returned Error Types:
 13791  //   * ServiceException
 13792  //   A general service exception.
 13793  //
 13794  //   * InvalidInputException
 13795  //   Lightsail throws this exception when user input does not conform to the validation
 13796  //   rules of an input field.
 13797  //
 13798  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13799  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13800  //   view, or edit these resources.
 13801  //
 13802  //   * NotFoundException
 13803  //   Lightsail throws this exception when it cannot find a resource.
 13804  //
 13805  //   * OperationFailureException
 13806  //   Lightsail throws this exception when an operation fails to execute.
 13807  //
 13808  //   * AccessDeniedException
 13809  //   Lightsail throws this exception when the user cannot be authenticated or
 13810  //   uses invalid credentials to access a resource.
 13811  //
 13812  //   * AccountSetupInProgressException
 13813  //   Lightsail throws this exception when an account is still in the setup in
 13814  //   progress state.
 13815  //
 13816  //   * UnauthenticatedException
 13817  //   Lightsail throws this exception when the user has not been authenticated.
 13818  //
 13819  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
 13820  func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
 13821  	req, out := c.RebootRelationalDatabaseRequest(input)
 13822  	return out, req.Send()
 13823  }
 13824  
 13825  // RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
 13826  // the ability to pass a context and additional request options.
 13827  //
 13828  // See RebootRelationalDatabase for details on how to use this API operation.
 13829  //
 13830  // The context must be non-nil and will be used for request cancellation. If
 13831  // the context is nil a panic will occur. In the future the SDK may create
 13832  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13833  // for more information on using Contexts.
 13834  func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
 13835  	req, out := c.RebootRelationalDatabaseRequest(input)
 13836  	req.SetContext(ctx)
 13837  	req.ApplyOptions(opts...)
 13838  	return out, req.Send()
 13839  }
 13840  
 13841  const opRegisterContainerImage = "RegisterContainerImage"
 13842  
 13843  // RegisterContainerImageRequest generates a "aws/request.Request" representing the
 13844  // client's request for the RegisterContainerImage operation. The "output" return
 13845  // value will be populated with the request's response once the request completes
 13846  // successfully.
 13847  //
 13848  // Use "Send" method on the returned Request to send the API call to the service.
 13849  // the "output" return value is not valid until after Send returns without error.
 13850  //
 13851  // See RegisterContainerImage for more information on using the RegisterContainerImage
 13852  // API call, and error handling.
 13853  //
 13854  // This method is useful when you want to inject custom logic or configuration
 13855  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13856  //
 13857  //
 13858  //    // Example sending a request using the RegisterContainerImageRequest method.
 13859  //    req, resp := client.RegisterContainerImageRequest(params)
 13860  //
 13861  //    err := req.Send()
 13862  //    if err == nil { // resp is now filled
 13863  //        fmt.Println(resp)
 13864  //    }
 13865  //
 13866  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RegisterContainerImage
 13867  func (c *Lightsail) RegisterContainerImageRequest(input *RegisterContainerImageInput) (req *request.Request, output *RegisterContainerImageOutput) {
 13868  	op := &request.Operation{
 13869  		Name:       opRegisterContainerImage,
 13870  		HTTPMethod: "POST",
 13871  		HTTPPath:   "/",
 13872  	}
 13873  
 13874  	if input == nil {
 13875  		input = &RegisterContainerImageInput{}
 13876  	}
 13877  
 13878  	output = &RegisterContainerImageOutput{}
 13879  	req = c.newRequest(op, input, output)
 13880  	return
 13881  }
 13882  
 13883  // RegisterContainerImage API operation for Amazon Lightsail.
 13884  //
 13885  // Registers a container image to your Amazon Lightsail container service.
 13886  //
 13887  // This action is not required if you install and use the Lightsail Control
 13888  // (lightsailctl) plugin to push container images to your Lightsail container
 13889  // service. For more information, see Pushing and managing container images
 13890  // on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images)
 13891  // in the Amazon Lightsail Developer Guide.
 13892  //
 13893  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13894  // with awserr.Error's Code and Message methods to get detailed information about
 13895  // the error.
 13896  //
 13897  // See the AWS API reference guide for Amazon Lightsail's
 13898  // API operation RegisterContainerImage for usage and error information.
 13899  //
 13900  // Returned Error Types:
 13901  //   * ServiceException
 13902  //   A general service exception.
 13903  //
 13904  //   * InvalidInputException
 13905  //   Lightsail throws this exception when user input does not conform to the validation
 13906  //   rules of an input field.
 13907  //
 13908  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 13909  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 13910  //   view, or edit these resources.
 13911  //
 13912  //   * NotFoundException
 13913  //   Lightsail throws this exception when it cannot find a resource.
 13914  //
 13915  //   * AccessDeniedException
 13916  //   Lightsail throws this exception when the user cannot be authenticated or
 13917  //   uses invalid credentials to access a resource.
 13918  //
 13919  //   * UnauthenticatedException
 13920  //   Lightsail throws this exception when the user has not been authenticated.
 13921  //
 13922  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RegisterContainerImage
 13923  func (c *Lightsail) RegisterContainerImage(input *RegisterContainerImageInput) (*RegisterContainerImageOutput, error) {
 13924  	req, out := c.RegisterContainerImageRequest(input)
 13925  	return out, req.Send()
 13926  }
 13927  
 13928  // RegisterContainerImageWithContext is the same as RegisterContainerImage with the addition of
 13929  // the ability to pass a context and additional request options.
 13930  //
 13931  // See RegisterContainerImage for details on how to use this API operation.
 13932  //
 13933  // The context must be non-nil and will be used for request cancellation. If
 13934  // the context is nil a panic will occur. In the future the SDK may create
 13935  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13936  // for more information on using Contexts.
 13937  func (c *Lightsail) RegisterContainerImageWithContext(ctx aws.Context, input *RegisterContainerImageInput, opts ...request.Option) (*RegisterContainerImageOutput, error) {
 13938  	req, out := c.RegisterContainerImageRequest(input)
 13939  	req.SetContext(ctx)
 13940  	req.ApplyOptions(opts...)
 13941  	return out, req.Send()
 13942  }
 13943  
 13944  const opReleaseStaticIp = "ReleaseStaticIp"
 13945  
 13946  // ReleaseStaticIpRequest generates a "aws/request.Request" representing the
 13947  // client's request for the ReleaseStaticIp operation. The "output" return
 13948  // value will be populated with the request's response once the request completes
 13949  // successfully.
 13950  //
 13951  // Use "Send" method on the returned Request to send the API call to the service.
 13952  // the "output" return value is not valid until after Send returns without error.
 13953  //
 13954  // See ReleaseStaticIp for more information on using the ReleaseStaticIp
 13955  // API call, and error handling.
 13956  //
 13957  // This method is useful when you want to inject custom logic or configuration
 13958  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13959  //
 13960  //
 13961  //    // Example sending a request using the ReleaseStaticIpRequest method.
 13962  //    req, resp := client.ReleaseStaticIpRequest(params)
 13963  //
 13964  //    err := req.Send()
 13965  //    if err == nil { // resp is now filled
 13966  //        fmt.Println(resp)
 13967  //    }
 13968  //
 13969  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
 13970  func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
 13971  	op := &request.Operation{
 13972  		Name:       opReleaseStaticIp,
 13973  		HTTPMethod: "POST",
 13974  		HTTPPath:   "/",
 13975  	}
 13976  
 13977  	if input == nil {
 13978  		input = &ReleaseStaticIpInput{}
 13979  	}
 13980  
 13981  	output = &ReleaseStaticIpOutput{}
 13982  	req = c.newRequest(op, input, output)
 13983  	return
 13984  }
 13985  
 13986  // ReleaseStaticIp API operation for Amazon Lightsail.
 13987  //
 13988  // Deletes a specific static IP from your account.
 13989  //
 13990  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13991  // with awserr.Error's Code and Message methods to get detailed information about
 13992  // the error.
 13993  //
 13994  // See the AWS API reference guide for Amazon Lightsail's
 13995  // API operation ReleaseStaticIp for usage and error information.
 13996  //
 13997  // Returned Error Types:
 13998  //   * ServiceException
 13999  //   A general service exception.
 14000  //
 14001  //   * InvalidInputException
 14002  //   Lightsail throws this exception when user input does not conform to the validation
 14003  //   rules of an input field.
 14004  //
 14005  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14006  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14007  //   view, or edit these resources.
 14008  //
 14009  //   * NotFoundException
 14010  //   Lightsail throws this exception when it cannot find a resource.
 14011  //
 14012  //   * OperationFailureException
 14013  //   Lightsail throws this exception when an operation fails to execute.
 14014  //
 14015  //   * AccessDeniedException
 14016  //   Lightsail throws this exception when the user cannot be authenticated or
 14017  //   uses invalid credentials to access a resource.
 14018  //
 14019  //   * AccountSetupInProgressException
 14020  //   Lightsail throws this exception when an account is still in the setup in
 14021  //   progress state.
 14022  //
 14023  //   * UnauthenticatedException
 14024  //   Lightsail throws this exception when the user has not been authenticated.
 14025  //
 14026  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
 14027  func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
 14028  	req, out := c.ReleaseStaticIpRequest(input)
 14029  	return out, req.Send()
 14030  }
 14031  
 14032  // ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
 14033  // the ability to pass a context and additional request options.
 14034  //
 14035  // See ReleaseStaticIp for details on how to use this API operation.
 14036  //
 14037  // The context must be non-nil and will be used for request cancellation. If
 14038  // the context is nil a panic will occur. In the future the SDK may create
 14039  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14040  // for more information on using Contexts.
 14041  func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
 14042  	req, out := c.ReleaseStaticIpRequest(input)
 14043  	req.SetContext(ctx)
 14044  	req.ApplyOptions(opts...)
 14045  	return out, req.Send()
 14046  }
 14047  
 14048  const opResetDistributionCache = "ResetDistributionCache"
 14049  
 14050  // ResetDistributionCacheRequest generates a "aws/request.Request" representing the
 14051  // client's request for the ResetDistributionCache operation. The "output" return
 14052  // value will be populated with the request's response once the request completes
 14053  // successfully.
 14054  //
 14055  // Use "Send" method on the returned Request to send the API call to the service.
 14056  // the "output" return value is not valid until after Send returns without error.
 14057  //
 14058  // See ResetDistributionCache for more information on using the ResetDistributionCache
 14059  // API call, and error handling.
 14060  //
 14061  // This method is useful when you want to inject custom logic or configuration
 14062  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14063  //
 14064  //
 14065  //    // Example sending a request using the ResetDistributionCacheRequest method.
 14066  //    req, resp := client.ResetDistributionCacheRequest(params)
 14067  //
 14068  //    err := req.Send()
 14069  //    if err == nil { // resp is now filled
 14070  //        fmt.Println(resp)
 14071  //    }
 14072  //
 14073  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
 14074  func (c *Lightsail) ResetDistributionCacheRequest(input *ResetDistributionCacheInput) (req *request.Request, output *ResetDistributionCacheOutput) {
 14075  	op := &request.Operation{
 14076  		Name:       opResetDistributionCache,
 14077  		HTTPMethod: "POST",
 14078  		HTTPPath:   "/",
 14079  	}
 14080  
 14081  	if input == nil {
 14082  		input = &ResetDistributionCacheInput{}
 14083  	}
 14084  
 14085  	output = &ResetDistributionCacheOutput{}
 14086  	req = c.newRequest(op, input, output)
 14087  	return
 14088  }
 14089  
 14090  // ResetDistributionCache API operation for Amazon Lightsail.
 14091  //
 14092  // Deletes currently cached content from your Amazon Lightsail content delivery
 14093  // network (CDN) distribution.
 14094  //
 14095  // After resetting the cache, the next time a content request is made, your
 14096  // distribution pulls, serves, and caches it from the origin.
 14097  //
 14098  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14099  // with awserr.Error's Code and Message methods to get detailed information about
 14100  // the error.
 14101  //
 14102  // See the AWS API reference guide for Amazon Lightsail's
 14103  // API operation ResetDistributionCache for usage and error information.
 14104  //
 14105  // Returned Error Types:
 14106  //   * ServiceException
 14107  //   A general service exception.
 14108  //
 14109  //   * InvalidInputException
 14110  //   Lightsail throws this exception when user input does not conform to the validation
 14111  //   rules of an input field.
 14112  //
 14113  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14114  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14115  //   view, or edit these resources.
 14116  //
 14117  //   * NotFoundException
 14118  //   Lightsail throws this exception when it cannot find a resource.
 14119  //
 14120  //   * OperationFailureException
 14121  //   Lightsail throws this exception when an operation fails to execute.
 14122  //
 14123  //   * AccessDeniedException
 14124  //   Lightsail throws this exception when the user cannot be authenticated or
 14125  //   uses invalid credentials to access a resource.
 14126  //
 14127  //   * UnauthenticatedException
 14128  //   Lightsail throws this exception when the user has not been authenticated.
 14129  //
 14130  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
 14131  func (c *Lightsail) ResetDistributionCache(input *ResetDistributionCacheInput) (*ResetDistributionCacheOutput, error) {
 14132  	req, out := c.ResetDistributionCacheRequest(input)
 14133  	return out, req.Send()
 14134  }
 14135  
 14136  // ResetDistributionCacheWithContext is the same as ResetDistributionCache with the addition of
 14137  // the ability to pass a context and additional request options.
 14138  //
 14139  // See ResetDistributionCache for details on how to use this API operation.
 14140  //
 14141  // The context must be non-nil and will be used for request cancellation. If
 14142  // the context is nil a panic will occur. In the future the SDK may create
 14143  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14144  // for more information on using Contexts.
 14145  func (c *Lightsail) ResetDistributionCacheWithContext(ctx aws.Context, input *ResetDistributionCacheInput, opts ...request.Option) (*ResetDistributionCacheOutput, error) {
 14146  	req, out := c.ResetDistributionCacheRequest(input)
 14147  	req.SetContext(ctx)
 14148  	req.ApplyOptions(opts...)
 14149  	return out, req.Send()
 14150  }
 14151  
 14152  const opSendContactMethodVerification = "SendContactMethodVerification"
 14153  
 14154  // SendContactMethodVerificationRequest generates a "aws/request.Request" representing the
 14155  // client's request for the SendContactMethodVerification operation. The "output" return
 14156  // value will be populated with the request's response once the request completes
 14157  // successfully.
 14158  //
 14159  // Use "Send" method on the returned Request to send the API call to the service.
 14160  // the "output" return value is not valid until after Send returns without error.
 14161  //
 14162  // See SendContactMethodVerification for more information on using the SendContactMethodVerification
 14163  // API call, and error handling.
 14164  //
 14165  // This method is useful when you want to inject custom logic or configuration
 14166  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14167  //
 14168  //
 14169  //    // Example sending a request using the SendContactMethodVerificationRequest method.
 14170  //    req, resp := client.SendContactMethodVerificationRequest(params)
 14171  //
 14172  //    err := req.Send()
 14173  //    if err == nil { // resp is now filled
 14174  //        fmt.Println(resp)
 14175  //    }
 14176  //
 14177  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
 14178  func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) {
 14179  	op := &request.Operation{
 14180  		Name:       opSendContactMethodVerification,
 14181  		HTTPMethod: "POST",
 14182  		HTTPPath:   "/",
 14183  	}
 14184  
 14185  	if input == nil {
 14186  		input = &SendContactMethodVerificationInput{}
 14187  	}
 14188  
 14189  	output = &SendContactMethodVerificationOutput{}
 14190  	req = c.newRequest(op, input, output)
 14191  	return
 14192  }
 14193  
 14194  // SendContactMethodVerification API operation for Amazon Lightsail.
 14195  //
 14196  // Sends a verification request to an email contact method to ensure it's owned
 14197  // by the requester. SMS contact methods don't need to be verified.
 14198  //
 14199  // A contact method is used to send you notifications about your Amazon Lightsail
 14200  // resources. You can add one email address and one mobile phone number contact
 14201  // method in each AWS Region. However, SMS text messaging is not supported in
 14202  // some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
 14203  // For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
 14204  //
 14205  // A verification request is sent to the contact method when you initially create
 14206  // it. Use this action to send another verification request if a previous verification
 14207  // request was deleted, or has expired.
 14208  //
 14209  // Notifications are not sent to an email contact method until after it is verified,
 14210  // and confirmed as valid.
 14211  //
 14212  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14213  // with awserr.Error's Code and Message methods to get detailed information about
 14214  // the error.
 14215  //
 14216  // See the AWS API reference guide for Amazon Lightsail's
 14217  // API operation SendContactMethodVerification for usage and error information.
 14218  //
 14219  // Returned Error Types:
 14220  //   * ServiceException
 14221  //   A general service exception.
 14222  //
 14223  //   * InvalidInputException
 14224  //   Lightsail throws this exception when user input does not conform to the validation
 14225  //   rules of an input field.
 14226  //
 14227  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14228  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14229  //   view, or edit these resources.
 14230  //
 14231  //   * OperationFailureException
 14232  //   Lightsail throws this exception when an operation fails to execute.
 14233  //
 14234  //   * UnauthenticatedException
 14235  //   Lightsail throws this exception when the user has not been authenticated.
 14236  //
 14237  //   * AccessDeniedException
 14238  //   Lightsail throws this exception when the user cannot be authenticated or
 14239  //   uses invalid credentials to access a resource.
 14240  //
 14241  //   * NotFoundException
 14242  //   Lightsail throws this exception when it cannot find a resource.
 14243  //
 14244  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
 14245  func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) {
 14246  	req, out := c.SendContactMethodVerificationRequest(input)
 14247  	return out, req.Send()
 14248  }
 14249  
 14250  // SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of
 14251  // the ability to pass a context and additional request options.
 14252  //
 14253  // See SendContactMethodVerification for details on how to use this API operation.
 14254  //
 14255  // The context must be non-nil and will be used for request cancellation. If
 14256  // the context is nil a panic will occur. In the future the SDK may create
 14257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14258  // for more information on using Contexts.
 14259  func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) {
 14260  	req, out := c.SendContactMethodVerificationRequest(input)
 14261  	req.SetContext(ctx)
 14262  	req.ApplyOptions(opts...)
 14263  	return out, req.Send()
 14264  }
 14265  
 14266  const opSetIpAddressType = "SetIpAddressType"
 14267  
 14268  // SetIpAddressTypeRequest generates a "aws/request.Request" representing the
 14269  // client's request for the SetIpAddressType operation. The "output" return
 14270  // value will be populated with the request's response once the request completes
 14271  // successfully.
 14272  //
 14273  // Use "Send" method on the returned Request to send the API call to the service.
 14274  // the "output" return value is not valid until after Send returns without error.
 14275  //
 14276  // See SetIpAddressType for more information on using the SetIpAddressType
 14277  // API call, and error handling.
 14278  //
 14279  // This method is useful when you want to inject custom logic or configuration
 14280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14281  //
 14282  //
 14283  //    // Example sending a request using the SetIpAddressTypeRequest method.
 14284  //    req, resp := client.SetIpAddressTypeRequest(params)
 14285  //
 14286  //    err := req.Send()
 14287  //    if err == nil { // resp is now filled
 14288  //        fmt.Println(resp)
 14289  //    }
 14290  //
 14291  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressType
 14292  func (c *Lightsail) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *request.Request, output *SetIpAddressTypeOutput) {
 14293  	op := &request.Operation{
 14294  		Name:       opSetIpAddressType,
 14295  		HTTPMethod: "POST",
 14296  		HTTPPath:   "/",
 14297  	}
 14298  
 14299  	if input == nil {
 14300  		input = &SetIpAddressTypeInput{}
 14301  	}
 14302  
 14303  	output = &SetIpAddressTypeOutput{}
 14304  	req = c.newRequest(op, input, output)
 14305  	return
 14306  }
 14307  
 14308  // SetIpAddressType API operation for Amazon Lightsail.
 14309  //
 14310  // Sets the IP address type for an Amazon Lightsail resource.
 14311  //
 14312  // Use this action to enable dual-stack for a resource, which enables IPv4 and
 14313  // IPv6 for the specified resource. Alternately, you can use this action to
 14314  // disable dual-stack, and enable IPv4 only.
 14315  //
 14316  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14317  // with awserr.Error's Code and Message methods to get detailed information about
 14318  // the error.
 14319  //
 14320  // See the AWS API reference guide for Amazon Lightsail's
 14321  // API operation SetIpAddressType for usage and error information.
 14322  //
 14323  // Returned Error Types:
 14324  //   * ServiceException
 14325  //   A general service exception.
 14326  //
 14327  //   * InvalidInputException
 14328  //   Lightsail throws this exception when user input does not conform to the validation
 14329  //   rules of an input field.
 14330  //
 14331  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14332  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14333  //   view, or edit these resources.
 14334  //
 14335  //   * NotFoundException
 14336  //   Lightsail throws this exception when it cannot find a resource.
 14337  //
 14338  //   * OperationFailureException
 14339  //   Lightsail throws this exception when an operation fails to execute.
 14340  //
 14341  //   * AccessDeniedException
 14342  //   Lightsail throws this exception when the user cannot be authenticated or
 14343  //   uses invalid credentials to access a resource.
 14344  //
 14345  //   * AccountSetupInProgressException
 14346  //   Lightsail throws this exception when an account is still in the setup in
 14347  //   progress state.
 14348  //
 14349  //   * UnauthenticatedException
 14350  //   Lightsail throws this exception when the user has not been authenticated.
 14351  //
 14352  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressType
 14353  func (c *Lightsail) SetIpAddressType(input *SetIpAddressTypeInput) (*SetIpAddressTypeOutput, error) {
 14354  	req, out := c.SetIpAddressTypeRequest(input)
 14355  	return out, req.Send()
 14356  }
 14357  
 14358  // SetIpAddressTypeWithContext is the same as SetIpAddressType with the addition of
 14359  // the ability to pass a context and additional request options.
 14360  //
 14361  // See SetIpAddressType for details on how to use this API operation.
 14362  //
 14363  // The context must be non-nil and will be used for request cancellation. If
 14364  // the context is nil a panic will occur. In the future the SDK may create
 14365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14366  // for more information on using Contexts.
 14367  func (c *Lightsail) SetIpAddressTypeWithContext(ctx aws.Context, input *SetIpAddressTypeInput, opts ...request.Option) (*SetIpAddressTypeOutput, error) {
 14368  	req, out := c.SetIpAddressTypeRequest(input)
 14369  	req.SetContext(ctx)
 14370  	req.ApplyOptions(opts...)
 14371  	return out, req.Send()
 14372  }
 14373  
 14374  const opSetResourceAccessForBucket = "SetResourceAccessForBucket"
 14375  
 14376  // SetResourceAccessForBucketRequest generates a "aws/request.Request" representing the
 14377  // client's request for the SetResourceAccessForBucket operation. The "output" return
 14378  // value will be populated with the request's response once the request completes
 14379  // successfully.
 14380  //
 14381  // Use "Send" method on the returned Request to send the API call to the service.
 14382  // the "output" return value is not valid until after Send returns without error.
 14383  //
 14384  // See SetResourceAccessForBucket for more information on using the SetResourceAccessForBucket
 14385  // API call, and error handling.
 14386  //
 14387  // This method is useful when you want to inject custom logic or configuration
 14388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14389  //
 14390  //
 14391  //    // Example sending a request using the SetResourceAccessForBucketRequest method.
 14392  //    req, resp := client.SetResourceAccessForBucketRequest(params)
 14393  //
 14394  //    err := req.Send()
 14395  //    if err == nil { // resp is now filled
 14396  //        fmt.Println(resp)
 14397  //    }
 14398  //
 14399  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetResourceAccessForBucket
 14400  func (c *Lightsail) SetResourceAccessForBucketRequest(input *SetResourceAccessForBucketInput) (req *request.Request, output *SetResourceAccessForBucketOutput) {
 14401  	op := &request.Operation{
 14402  		Name:       opSetResourceAccessForBucket,
 14403  		HTTPMethod: "POST",
 14404  		HTTPPath:   "/",
 14405  	}
 14406  
 14407  	if input == nil {
 14408  		input = &SetResourceAccessForBucketInput{}
 14409  	}
 14410  
 14411  	output = &SetResourceAccessForBucketOutput{}
 14412  	req = c.newRequest(op, input, output)
 14413  	return
 14414  }
 14415  
 14416  // SetResourceAccessForBucket API operation for Amazon Lightsail.
 14417  //
 14418  // Sets the Amazon Lightsail resources that can access the specified Lightsail
 14419  // bucket.
 14420  //
 14421  // Lightsail buckets currently support setting access for Lightsail instances
 14422  // in the same AWS Region.
 14423  //
 14424  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14425  // with awserr.Error's Code and Message methods to get detailed information about
 14426  // the error.
 14427  //
 14428  // See the AWS API reference guide for Amazon Lightsail's
 14429  // API operation SetResourceAccessForBucket for usage and error information.
 14430  //
 14431  // Returned Error Types:
 14432  //   * AccessDeniedException
 14433  //   Lightsail throws this exception when the user cannot be authenticated or
 14434  //   uses invalid credentials to access a resource.
 14435  //
 14436  //   * InvalidInputException
 14437  //   Lightsail throws this exception when user input does not conform to the validation
 14438  //   rules of an input field.
 14439  //
 14440  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14441  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14442  //   view, or edit these resources.
 14443  //
 14444  //   * NotFoundException
 14445  //   Lightsail throws this exception when it cannot find a resource.
 14446  //
 14447  //   * ServiceException
 14448  //   A general service exception.
 14449  //
 14450  //   * UnauthenticatedException
 14451  //   Lightsail throws this exception when the user has not been authenticated.
 14452  //
 14453  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetResourceAccessForBucket
 14454  func (c *Lightsail) SetResourceAccessForBucket(input *SetResourceAccessForBucketInput) (*SetResourceAccessForBucketOutput, error) {
 14455  	req, out := c.SetResourceAccessForBucketRequest(input)
 14456  	return out, req.Send()
 14457  }
 14458  
 14459  // SetResourceAccessForBucketWithContext is the same as SetResourceAccessForBucket with the addition of
 14460  // the ability to pass a context and additional request options.
 14461  //
 14462  // See SetResourceAccessForBucket for details on how to use this API operation.
 14463  //
 14464  // The context must be non-nil and will be used for request cancellation. If
 14465  // the context is nil a panic will occur. In the future the SDK may create
 14466  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14467  // for more information on using Contexts.
 14468  func (c *Lightsail) SetResourceAccessForBucketWithContext(ctx aws.Context, input *SetResourceAccessForBucketInput, opts ...request.Option) (*SetResourceAccessForBucketOutput, error) {
 14469  	req, out := c.SetResourceAccessForBucketRequest(input)
 14470  	req.SetContext(ctx)
 14471  	req.ApplyOptions(opts...)
 14472  	return out, req.Send()
 14473  }
 14474  
 14475  const opStartInstance = "StartInstance"
 14476  
 14477  // StartInstanceRequest generates a "aws/request.Request" representing the
 14478  // client's request for the StartInstance operation. The "output" return
 14479  // value will be populated with the request's response once the request completes
 14480  // successfully.
 14481  //
 14482  // Use "Send" method on the returned Request to send the API call to the service.
 14483  // the "output" return value is not valid until after Send returns without error.
 14484  //
 14485  // See StartInstance for more information on using the StartInstance
 14486  // API call, and error handling.
 14487  //
 14488  // This method is useful when you want to inject custom logic or configuration
 14489  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14490  //
 14491  //
 14492  //    // Example sending a request using the StartInstanceRequest method.
 14493  //    req, resp := client.StartInstanceRequest(params)
 14494  //
 14495  //    err := req.Send()
 14496  //    if err == nil { // resp is now filled
 14497  //        fmt.Println(resp)
 14498  //    }
 14499  //
 14500  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
 14501  func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
 14502  	op := &request.Operation{
 14503  		Name:       opStartInstance,
 14504  		HTTPMethod: "POST",
 14505  		HTTPPath:   "/",
 14506  	}
 14507  
 14508  	if input == nil {
 14509  		input = &StartInstanceInput{}
 14510  	}
 14511  
 14512  	output = &StartInstanceOutput{}
 14513  	req = c.newRequest(op, input, output)
 14514  	return
 14515  }
 14516  
 14517  // StartInstance API operation for Amazon Lightsail.
 14518  //
 14519  // Starts a specific Amazon Lightsail instance from a stopped state. To restart
 14520  // an instance, use the reboot instance operation.
 14521  //
 14522  // When you start a stopped instance, Lightsail assigns a new public IP address
 14523  // to the instance. To use the same IP address after stopping and starting an
 14524  // instance, create a static IP address and attach it to the instance. For more
 14525  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/lightsail-create-static-ip).
 14526  //
 14527  // The start instance operation supports tag-based access control via resource
 14528  // tags applied to the resource identified by instance name. For more information,
 14529  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 14530  //
 14531  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14532  // with awserr.Error's Code and Message methods to get detailed information about
 14533  // the error.
 14534  //
 14535  // See the AWS API reference guide for Amazon Lightsail's
 14536  // API operation StartInstance for usage and error information.
 14537  //
 14538  // Returned Error Types:
 14539  //   * ServiceException
 14540  //   A general service exception.
 14541  //
 14542  //   * InvalidInputException
 14543  //   Lightsail throws this exception when user input does not conform to the validation
 14544  //   rules of an input field.
 14545  //
 14546  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14547  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14548  //   view, or edit these resources.
 14549  //
 14550  //   * NotFoundException
 14551  //   Lightsail throws this exception when it cannot find a resource.
 14552  //
 14553  //   * OperationFailureException
 14554  //   Lightsail throws this exception when an operation fails to execute.
 14555  //
 14556  //   * AccessDeniedException
 14557  //   Lightsail throws this exception when the user cannot be authenticated or
 14558  //   uses invalid credentials to access a resource.
 14559  //
 14560  //   * AccountSetupInProgressException
 14561  //   Lightsail throws this exception when an account is still in the setup in
 14562  //   progress state.
 14563  //
 14564  //   * UnauthenticatedException
 14565  //   Lightsail throws this exception when the user has not been authenticated.
 14566  //
 14567  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
 14568  func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
 14569  	req, out := c.StartInstanceRequest(input)
 14570  	return out, req.Send()
 14571  }
 14572  
 14573  // StartInstanceWithContext is the same as StartInstance with the addition of
 14574  // the ability to pass a context and additional request options.
 14575  //
 14576  // See StartInstance for details on how to use this API operation.
 14577  //
 14578  // The context must be non-nil and will be used for request cancellation. If
 14579  // the context is nil a panic will occur. In the future the SDK may create
 14580  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14581  // for more information on using Contexts.
 14582  func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
 14583  	req, out := c.StartInstanceRequest(input)
 14584  	req.SetContext(ctx)
 14585  	req.ApplyOptions(opts...)
 14586  	return out, req.Send()
 14587  }
 14588  
 14589  const opStartRelationalDatabase = "StartRelationalDatabase"
 14590  
 14591  // StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
 14592  // client's request for the StartRelationalDatabase operation. The "output" return
 14593  // value will be populated with the request's response once the request completes
 14594  // successfully.
 14595  //
 14596  // Use "Send" method on the returned Request to send the API call to the service.
 14597  // the "output" return value is not valid until after Send returns without error.
 14598  //
 14599  // See StartRelationalDatabase for more information on using the StartRelationalDatabase
 14600  // API call, and error handling.
 14601  //
 14602  // This method is useful when you want to inject custom logic or configuration
 14603  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14604  //
 14605  //
 14606  //    // Example sending a request using the StartRelationalDatabaseRequest method.
 14607  //    req, resp := client.StartRelationalDatabaseRequest(params)
 14608  //
 14609  //    err := req.Send()
 14610  //    if err == nil { // resp is now filled
 14611  //        fmt.Println(resp)
 14612  //    }
 14613  //
 14614  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
 14615  func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
 14616  	op := &request.Operation{
 14617  		Name:       opStartRelationalDatabase,
 14618  		HTTPMethod: "POST",
 14619  		HTTPPath:   "/",
 14620  	}
 14621  
 14622  	if input == nil {
 14623  		input = &StartRelationalDatabaseInput{}
 14624  	}
 14625  
 14626  	output = &StartRelationalDatabaseOutput{}
 14627  	req = c.newRequest(op, input, output)
 14628  	return
 14629  }
 14630  
 14631  // StartRelationalDatabase API operation for Amazon Lightsail.
 14632  //
 14633  // Starts a specific database from a stopped state in Amazon Lightsail. To restart
 14634  // a database, use the reboot relational database operation.
 14635  //
 14636  // The start relational database operation supports tag-based access control
 14637  // via resource tags applied to the resource identified by relationalDatabaseName.
 14638  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 14639  //
 14640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14641  // with awserr.Error's Code and Message methods to get detailed information about
 14642  // the error.
 14643  //
 14644  // See the AWS API reference guide for Amazon Lightsail's
 14645  // API operation StartRelationalDatabase for usage and error information.
 14646  //
 14647  // Returned Error Types:
 14648  //   * ServiceException
 14649  //   A general service exception.
 14650  //
 14651  //   * InvalidInputException
 14652  //   Lightsail throws this exception when user input does not conform to the validation
 14653  //   rules of an input field.
 14654  //
 14655  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14656  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14657  //   view, or edit these resources.
 14658  //
 14659  //   * NotFoundException
 14660  //   Lightsail throws this exception when it cannot find a resource.
 14661  //
 14662  //   * OperationFailureException
 14663  //   Lightsail throws this exception when an operation fails to execute.
 14664  //
 14665  //   * AccessDeniedException
 14666  //   Lightsail throws this exception when the user cannot be authenticated or
 14667  //   uses invalid credentials to access a resource.
 14668  //
 14669  //   * AccountSetupInProgressException
 14670  //   Lightsail throws this exception when an account is still in the setup in
 14671  //   progress state.
 14672  //
 14673  //   * UnauthenticatedException
 14674  //   Lightsail throws this exception when the user has not been authenticated.
 14675  //
 14676  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
 14677  func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
 14678  	req, out := c.StartRelationalDatabaseRequest(input)
 14679  	return out, req.Send()
 14680  }
 14681  
 14682  // StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
 14683  // the ability to pass a context and additional request options.
 14684  //
 14685  // See StartRelationalDatabase for details on how to use this API operation.
 14686  //
 14687  // The context must be non-nil and will be used for request cancellation. If
 14688  // the context is nil a panic will occur. In the future the SDK may create
 14689  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14690  // for more information on using Contexts.
 14691  func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
 14692  	req, out := c.StartRelationalDatabaseRequest(input)
 14693  	req.SetContext(ctx)
 14694  	req.ApplyOptions(opts...)
 14695  	return out, req.Send()
 14696  }
 14697  
 14698  const opStopInstance = "StopInstance"
 14699  
 14700  // StopInstanceRequest generates a "aws/request.Request" representing the
 14701  // client's request for the StopInstance operation. The "output" return
 14702  // value will be populated with the request's response once the request completes
 14703  // successfully.
 14704  //
 14705  // Use "Send" method on the returned Request to send the API call to the service.
 14706  // the "output" return value is not valid until after Send returns without error.
 14707  //
 14708  // See StopInstance for more information on using the StopInstance
 14709  // API call, and error handling.
 14710  //
 14711  // This method is useful when you want to inject custom logic or configuration
 14712  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14713  //
 14714  //
 14715  //    // Example sending a request using the StopInstanceRequest method.
 14716  //    req, resp := client.StopInstanceRequest(params)
 14717  //
 14718  //    err := req.Send()
 14719  //    if err == nil { // resp is now filled
 14720  //        fmt.Println(resp)
 14721  //    }
 14722  //
 14723  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
 14724  func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
 14725  	op := &request.Operation{
 14726  		Name:       opStopInstance,
 14727  		HTTPMethod: "POST",
 14728  		HTTPPath:   "/",
 14729  	}
 14730  
 14731  	if input == nil {
 14732  		input = &StopInstanceInput{}
 14733  	}
 14734  
 14735  	output = &StopInstanceOutput{}
 14736  	req = c.newRequest(op, input, output)
 14737  	return
 14738  }
 14739  
 14740  // StopInstance API operation for Amazon Lightsail.
 14741  //
 14742  // Stops a specific Amazon Lightsail instance that is currently running.
 14743  //
 14744  // When you start a stopped instance, Lightsail assigns a new public IP address
 14745  // to the instance. To use the same IP address after stopping and starting an
 14746  // instance, create a static IP address and attach it to the instance. For more
 14747  // information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/lightsail-create-static-ip).
 14748  //
 14749  // The stop instance operation supports tag-based access control via resource
 14750  // tags applied to the resource identified by instance name. For more information,
 14751  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 14752  //
 14753  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14754  // with awserr.Error's Code and Message methods to get detailed information about
 14755  // the error.
 14756  //
 14757  // See the AWS API reference guide for Amazon Lightsail's
 14758  // API operation StopInstance for usage and error information.
 14759  //
 14760  // Returned Error Types:
 14761  //   * ServiceException
 14762  //   A general service exception.
 14763  //
 14764  //   * InvalidInputException
 14765  //   Lightsail throws this exception when user input does not conform to the validation
 14766  //   rules of an input field.
 14767  //
 14768  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14769  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14770  //   view, or edit these resources.
 14771  //
 14772  //   * NotFoundException
 14773  //   Lightsail throws this exception when it cannot find a resource.
 14774  //
 14775  //   * OperationFailureException
 14776  //   Lightsail throws this exception when an operation fails to execute.
 14777  //
 14778  //   * AccessDeniedException
 14779  //   Lightsail throws this exception when the user cannot be authenticated or
 14780  //   uses invalid credentials to access a resource.
 14781  //
 14782  //   * AccountSetupInProgressException
 14783  //   Lightsail throws this exception when an account is still in the setup in
 14784  //   progress state.
 14785  //
 14786  //   * UnauthenticatedException
 14787  //   Lightsail throws this exception when the user has not been authenticated.
 14788  //
 14789  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
 14790  func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
 14791  	req, out := c.StopInstanceRequest(input)
 14792  	return out, req.Send()
 14793  }
 14794  
 14795  // StopInstanceWithContext is the same as StopInstance with the addition of
 14796  // the ability to pass a context and additional request options.
 14797  //
 14798  // See StopInstance for details on how to use this API operation.
 14799  //
 14800  // The context must be non-nil and will be used for request cancellation. If
 14801  // the context is nil a panic will occur. In the future the SDK may create
 14802  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14803  // for more information on using Contexts.
 14804  func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
 14805  	req, out := c.StopInstanceRequest(input)
 14806  	req.SetContext(ctx)
 14807  	req.ApplyOptions(opts...)
 14808  	return out, req.Send()
 14809  }
 14810  
 14811  const opStopRelationalDatabase = "StopRelationalDatabase"
 14812  
 14813  // StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
 14814  // client's request for the StopRelationalDatabase operation. The "output" return
 14815  // value will be populated with the request's response once the request completes
 14816  // successfully.
 14817  //
 14818  // Use "Send" method on the returned Request to send the API call to the service.
 14819  // the "output" return value is not valid until after Send returns without error.
 14820  //
 14821  // See StopRelationalDatabase for more information on using the StopRelationalDatabase
 14822  // API call, and error handling.
 14823  //
 14824  // This method is useful when you want to inject custom logic or configuration
 14825  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14826  //
 14827  //
 14828  //    // Example sending a request using the StopRelationalDatabaseRequest method.
 14829  //    req, resp := client.StopRelationalDatabaseRequest(params)
 14830  //
 14831  //    err := req.Send()
 14832  //    if err == nil { // resp is now filled
 14833  //        fmt.Println(resp)
 14834  //    }
 14835  //
 14836  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
 14837  func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
 14838  	op := &request.Operation{
 14839  		Name:       opStopRelationalDatabase,
 14840  		HTTPMethod: "POST",
 14841  		HTTPPath:   "/",
 14842  	}
 14843  
 14844  	if input == nil {
 14845  		input = &StopRelationalDatabaseInput{}
 14846  	}
 14847  
 14848  	output = &StopRelationalDatabaseOutput{}
 14849  	req = c.newRequest(op, input, output)
 14850  	return
 14851  }
 14852  
 14853  // StopRelationalDatabase API operation for Amazon Lightsail.
 14854  //
 14855  // Stops a specific database that is currently running in Amazon Lightsail.
 14856  //
 14857  // The stop relational database operation supports tag-based access control
 14858  // via resource tags applied to the resource identified by relationalDatabaseName.
 14859  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 14860  //
 14861  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14862  // with awserr.Error's Code and Message methods to get detailed information about
 14863  // the error.
 14864  //
 14865  // See the AWS API reference guide for Amazon Lightsail's
 14866  // API operation StopRelationalDatabase for usage and error information.
 14867  //
 14868  // Returned Error Types:
 14869  //   * ServiceException
 14870  //   A general service exception.
 14871  //
 14872  //   * InvalidInputException
 14873  //   Lightsail throws this exception when user input does not conform to the validation
 14874  //   rules of an input field.
 14875  //
 14876  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14877  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14878  //   view, or edit these resources.
 14879  //
 14880  //   * NotFoundException
 14881  //   Lightsail throws this exception when it cannot find a resource.
 14882  //
 14883  //   * OperationFailureException
 14884  //   Lightsail throws this exception when an operation fails to execute.
 14885  //
 14886  //   * AccessDeniedException
 14887  //   Lightsail throws this exception when the user cannot be authenticated or
 14888  //   uses invalid credentials to access a resource.
 14889  //
 14890  //   * AccountSetupInProgressException
 14891  //   Lightsail throws this exception when an account is still in the setup in
 14892  //   progress state.
 14893  //
 14894  //   * UnauthenticatedException
 14895  //   Lightsail throws this exception when the user has not been authenticated.
 14896  //
 14897  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
 14898  func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
 14899  	req, out := c.StopRelationalDatabaseRequest(input)
 14900  	return out, req.Send()
 14901  }
 14902  
 14903  // StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
 14904  // the ability to pass a context and additional request options.
 14905  //
 14906  // See StopRelationalDatabase for details on how to use this API operation.
 14907  //
 14908  // The context must be non-nil and will be used for request cancellation. If
 14909  // the context is nil a panic will occur. In the future the SDK may create
 14910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14911  // for more information on using Contexts.
 14912  func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
 14913  	req, out := c.StopRelationalDatabaseRequest(input)
 14914  	req.SetContext(ctx)
 14915  	req.ApplyOptions(opts...)
 14916  	return out, req.Send()
 14917  }
 14918  
 14919  const opTagResource = "TagResource"
 14920  
 14921  // TagResourceRequest generates a "aws/request.Request" representing the
 14922  // client's request for the TagResource operation. The "output" return
 14923  // value will be populated with the request's response once the request completes
 14924  // successfully.
 14925  //
 14926  // Use "Send" method on the returned Request to send the API call to the service.
 14927  // the "output" return value is not valid until after Send returns without error.
 14928  //
 14929  // See TagResource for more information on using the TagResource
 14930  // API call, and error handling.
 14931  //
 14932  // This method is useful when you want to inject custom logic or configuration
 14933  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14934  //
 14935  //
 14936  //    // Example sending a request using the TagResourceRequest method.
 14937  //    req, resp := client.TagResourceRequest(params)
 14938  //
 14939  //    err := req.Send()
 14940  //    if err == nil { // resp is now filled
 14941  //        fmt.Println(resp)
 14942  //    }
 14943  //
 14944  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
 14945  func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
 14946  	op := &request.Operation{
 14947  		Name:       opTagResource,
 14948  		HTTPMethod: "POST",
 14949  		HTTPPath:   "/",
 14950  	}
 14951  
 14952  	if input == nil {
 14953  		input = &TagResourceInput{}
 14954  	}
 14955  
 14956  	output = &TagResourceOutput{}
 14957  	req = c.newRequest(op, input, output)
 14958  	return
 14959  }
 14960  
 14961  // TagResource API operation for Amazon Lightsail.
 14962  //
 14963  // Adds one or more tags to the specified Amazon Lightsail resource. Each resource
 14964  // can have a maximum of 50 tags. Each tag consists of a key and an optional
 14965  // value. Tag keys must be unique per resource. For more information about tags,
 14966  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 14967  //
 14968  // The tag resource operation supports tag-based access control via request
 14969  // tags and resource tags applied to the resource identified by resource name.
 14970  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 14971  //
 14972  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14973  // with awserr.Error's Code and Message methods to get detailed information about
 14974  // the error.
 14975  //
 14976  // See the AWS API reference guide for Amazon Lightsail's
 14977  // API operation TagResource for usage and error information.
 14978  //
 14979  // Returned Error Types:
 14980  //   * ServiceException
 14981  //   A general service exception.
 14982  //
 14983  //   * InvalidInputException
 14984  //   Lightsail throws this exception when user input does not conform to the validation
 14985  //   rules of an input field.
 14986  //
 14987  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 14988  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 14989  //   view, or edit these resources.
 14990  //
 14991  //   * NotFoundException
 14992  //   Lightsail throws this exception when it cannot find a resource.
 14993  //
 14994  //   * OperationFailureException
 14995  //   Lightsail throws this exception when an operation fails to execute.
 14996  //
 14997  //   * AccessDeniedException
 14998  //   Lightsail throws this exception when the user cannot be authenticated or
 14999  //   uses invalid credentials to access a resource.
 15000  //
 15001  //   * AccountSetupInProgressException
 15002  //   Lightsail throws this exception when an account is still in the setup in
 15003  //   progress state.
 15004  //
 15005  //   * UnauthenticatedException
 15006  //   Lightsail throws this exception when the user has not been authenticated.
 15007  //
 15008  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
 15009  func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
 15010  	req, out := c.TagResourceRequest(input)
 15011  	return out, req.Send()
 15012  }
 15013  
 15014  // TagResourceWithContext is the same as TagResource with the addition of
 15015  // the ability to pass a context and additional request options.
 15016  //
 15017  // See TagResource for details on how to use this API operation.
 15018  //
 15019  // The context must be non-nil and will be used for request cancellation. If
 15020  // the context is nil a panic will occur. In the future the SDK may create
 15021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15022  // for more information on using Contexts.
 15023  func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
 15024  	req, out := c.TagResourceRequest(input)
 15025  	req.SetContext(ctx)
 15026  	req.ApplyOptions(opts...)
 15027  	return out, req.Send()
 15028  }
 15029  
 15030  const opTestAlarm = "TestAlarm"
 15031  
 15032  // TestAlarmRequest generates a "aws/request.Request" representing the
 15033  // client's request for the TestAlarm operation. The "output" return
 15034  // value will be populated with the request's response once the request completes
 15035  // successfully.
 15036  //
 15037  // Use "Send" method on the returned Request to send the API call to the service.
 15038  // the "output" return value is not valid until after Send returns without error.
 15039  //
 15040  // See TestAlarm for more information on using the TestAlarm
 15041  // API call, and error handling.
 15042  //
 15043  // This method is useful when you want to inject custom logic or configuration
 15044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15045  //
 15046  //
 15047  //    // Example sending a request using the TestAlarmRequest method.
 15048  //    req, resp := client.TestAlarmRequest(params)
 15049  //
 15050  //    err := req.Send()
 15051  //    if err == nil { // resp is now filled
 15052  //        fmt.Println(resp)
 15053  //    }
 15054  //
 15055  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
 15056  func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) {
 15057  	op := &request.Operation{
 15058  		Name:       opTestAlarm,
 15059  		HTTPMethod: "POST",
 15060  		HTTPPath:   "/",
 15061  	}
 15062  
 15063  	if input == nil {
 15064  		input = &TestAlarmInput{}
 15065  	}
 15066  
 15067  	output = &TestAlarmOutput{}
 15068  	req = c.newRequest(op, input, output)
 15069  	return
 15070  }
 15071  
 15072  // TestAlarm API operation for Amazon Lightsail.
 15073  //
 15074  // Tests an alarm by displaying a banner on the Amazon Lightsail console. If
 15075  // a notification trigger is configured for the specified alarm, the test also
 15076  // sends a notification to the notification protocol (Email and/or SMS) configured
 15077  // for the alarm.
 15078  //
 15079  // An alarm is used to monitor a single metric for one of your resources. When
 15080  // a metric condition is met, the alarm can notify you by email, SMS text message,
 15081  // and a banner displayed on the Amazon Lightsail console. For more information,
 15082  // see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
 15083  //
 15084  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15085  // with awserr.Error's Code and Message methods to get detailed information about
 15086  // the error.
 15087  //
 15088  // See the AWS API reference guide for Amazon Lightsail's
 15089  // API operation TestAlarm for usage and error information.
 15090  //
 15091  // Returned Error Types:
 15092  //   * ServiceException
 15093  //   A general service exception.
 15094  //
 15095  //   * InvalidInputException
 15096  //   Lightsail throws this exception when user input does not conform to the validation
 15097  //   rules of an input field.
 15098  //
 15099  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15100  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15101  //   view, or edit these resources.
 15102  //
 15103  //   * OperationFailureException
 15104  //   Lightsail throws this exception when an operation fails to execute.
 15105  //
 15106  //   * UnauthenticatedException
 15107  //   Lightsail throws this exception when the user has not been authenticated.
 15108  //
 15109  //   * AccessDeniedException
 15110  //   Lightsail throws this exception when the user cannot be authenticated or
 15111  //   uses invalid credentials to access a resource.
 15112  //
 15113  //   * NotFoundException
 15114  //   Lightsail throws this exception when it cannot find a resource.
 15115  //
 15116  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
 15117  func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) {
 15118  	req, out := c.TestAlarmRequest(input)
 15119  	return out, req.Send()
 15120  }
 15121  
 15122  // TestAlarmWithContext is the same as TestAlarm with the addition of
 15123  // the ability to pass a context and additional request options.
 15124  //
 15125  // See TestAlarm for details on how to use this API operation.
 15126  //
 15127  // The context must be non-nil and will be used for request cancellation. If
 15128  // the context is nil a panic will occur. In the future the SDK may create
 15129  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15130  // for more information on using Contexts.
 15131  func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) {
 15132  	req, out := c.TestAlarmRequest(input)
 15133  	req.SetContext(ctx)
 15134  	req.ApplyOptions(opts...)
 15135  	return out, req.Send()
 15136  }
 15137  
 15138  const opUnpeerVpc = "UnpeerVpc"
 15139  
 15140  // UnpeerVpcRequest generates a "aws/request.Request" representing the
 15141  // client's request for the UnpeerVpc operation. The "output" return
 15142  // value will be populated with the request's response once the request completes
 15143  // successfully.
 15144  //
 15145  // Use "Send" method on the returned Request to send the API call to the service.
 15146  // the "output" return value is not valid until after Send returns without error.
 15147  //
 15148  // See UnpeerVpc for more information on using the UnpeerVpc
 15149  // API call, and error handling.
 15150  //
 15151  // This method is useful when you want to inject custom logic or configuration
 15152  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15153  //
 15154  //
 15155  //    // Example sending a request using the UnpeerVpcRequest method.
 15156  //    req, resp := client.UnpeerVpcRequest(params)
 15157  //
 15158  //    err := req.Send()
 15159  //    if err == nil { // resp is now filled
 15160  //        fmt.Println(resp)
 15161  //    }
 15162  //
 15163  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
 15164  func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
 15165  	op := &request.Operation{
 15166  		Name:       opUnpeerVpc,
 15167  		HTTPMethod: "POST",
 15168  		HTTPPath:   "/",
 15169  	}
 15170  
 15171  	if input == nil {
 15172  		input = &UnpeerVpcInput{}
 15173  	}
 15174  
 15175  	output = &UnpeerVpcOutput{}
 15176  	req = c.newRequest(op, input, output)
 15177  	return
 15178  }
 15179  
 15180  // UnpeerVpc API operation for Amazon Lightsail.
 15181  //
 15182  // Unpeers the Lightsail VPC from the user's default VPC.
 15183  //
 15184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15185  // with awserr.Error's Code and Message methods to get detailed information about
 15186  // the error.
 15187  //
 15188  // See the AWS API reference guide for Amazon Lightsail's
 15189  // API operation UnpeerVpc for usage and error information.
 15190  //
 15191  // Returned Error Types:
 15192  //   * ServiceException
 15193  //   A general service exception.
 15194  //
 15195  //   * InvalidInputException
 15196  //   Lightsail throws this exception when user input does not conform to the validation
 15197  //   rules of an input field.
 15198  //
 15199  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15200  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15201  //   view, or edit these resources.
 15202  //
 15203  //   * NotFoundException
 15204  //   Lightsail throws this exception when it cannot find a resource.
 15205  //
 15206  //   * OperationFailureException
 15207  //   Lightsail throws this exception when an operation fails to execute.
 15208  //
 15209  //   * AccessDeniedException
 15210  //   Lightsail throws this exception when the user cannot be authenticated or
 15211  //   uses invalid credentials to access a resource.
 15212  //
 15213  //   * AccountSetupInProgressException
 15214  //   Lightsail throws this exception when an account is still in the setup in
 15215  //   progress state.
 15216  //
 15217  //   * UnauthenticatedException
 15218  //   Lightsail throws this exception when the user has not been authenticated.
 15219  //
 15220  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
 15221  func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
 15222  	req, out := c.UnpeerVpcRequest(input)
 15223  	return out, req.Send()
 15224  }
 15225  
 15226  // UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
 15227  // the ability to pass a context and additional request options.
 15228  //
 15229  // See UnpeerVpc for details on how to use this API operation.
 15230  //
 15231  // The context must be non-nil and will be used for request cancellation. If
 15232  // the context is nil a panic will occur. In the future the SDK may create
 15233  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15234  // for more information on using Contexts.
 15235  func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
 15236  	req, out := c.UnpeerVpcRequest(input)
 15237  	req.SetContext(ctx)
 15238  	req.ApplyOptions(opts...)
 15239  	return out, req.Send()
 15240  }
 15241  
 15242  const opUntagResource = "UntagResource"
 15243  
 15244  // UntagResourceRequest generates a "aws/request.Request" representing the
 15245  // client's request for the UntagResource operation. The "output" return
 15246  // value will be populated with the request's response once the request completes
 15247  // successfully.
 15248  //
 15249  // Use "Send" method on the returned Request to send the API call to the service.
 15250  // the "output" return value is not valid until after Send returns without error.
 15251  //
 15252  // See UntagResource for more information on using the UntagResource
 15253  // API call, and error handling.
 15254  //
 15255  // This method is useful when you want to inject custom logic or configuration
 15256  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15257  //
 15258  //
 15259  //    // Example sending a request using the UntagResourceRequest method.
 15260  //    req, resp := client.UntagResourceRequest(params)
 15261  //
 15262  //    err := req.Send()
 15263  //    if err == nil { // resp is now filled
 15264  //        fmt.Println(resp)
 15265  //    }
 15266  //
 15267  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
 15268  func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
 15269  	op := &request.Operation{
 15270  		Name:       opUntagResource,
 15271  		HTTPMethod: "POST",
 15272  		HTTPPath:   "/",
 15273  	}
 15274  
 15275  	if input == nil {
 15276  		input = &UntagResourceInput{}
 15277  	}
 15278  
 15279  	output = &UntagResourceOutput{}
 15280  	req = c.newRequest(op, input, output)
 15281  	return
 15282  }
 15283  
 15284  // UntagResource API operation for Amazon Lightsail.
 15285  //
 15286  // Deletes the specified set of tag keys and their values from the specified
 15287  // Amazon Lightsail resource.
 15288  //
 15289  // The untag resource operation supports tag-based access control via request
 15290  // tags and resource tags applied to the resource identified by resource name.
 15291  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 15292  //
 15293  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15294  // with awserr.Error's Code and Message methods to get detailed information about
 15295  // the error.
 15296  //
 15297  // See the AWS API reference guide for Amazon Lightsail's
 15298  // API operation UntagResource for usage and error information.
 15299  //
 15300  // Returned Error Types:
 15301  //   * ServiceException
 15302  //   A general service exception.
 15303  //
 15304  //   * InvalidInputException
 15305  //   Lightsail throws this exception when user input does not conform to the validation
 15306  //   rules of an input field.
 15307  //
 15308  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15309  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15310  //   view, or edit these resources.
 15311  //
 15312  //   * NotFoundException
 15313  //   Lightsail throws this exception when it cannot find a resource.
 15314  //
 15315  //   * OperationFailureException
 15316  //   Lightsail throws this exception when an operation fails to execute.
 15317  //
 15318  //   * AccessDeniedException
 15319  //   Lightsail throws this exception when the user cannot be authenticated or
 15320  //   uses invalid credentials to access a resource.
 15321  //
 15322  //   * AccountSetupInProgressException
 15323  //   Lightsail throws this exception when an account is still in the setup in
 15324  //   progress state.
 15325  //
 15326  //   * UnauthenticatedException
 15327  //   Lightsail throws this exception when the user has not been authenticated.
 15328  //
 15329  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
 15330  func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
 15331  	req, out := c.UntagResourceRequest(input)
 15332  	return out, req.Send()
 15333  }
 15334  
 15335  // UntagResourceWithContext is the same as UntagResource with the addition of
 15336  // the ability to pass a context and additional request options.
 15337  //
 15338  // See UntagResource for details on how to use this API operation.
 15339  //
 15340  // The context must be non-nil and will be used for request cancellation. If
 15341  // the context is nil a panic will occur. In the future the SDK may create
 15342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15343  // for more information on using Contexts.
 15344  func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
 15345  	req, out := c.UntagResourceRequest(input)
 15346  	req.SetContext(ctx)
 15347  	req.ApplyOptions(opts...)
 15348  	return out, req.Send()
 15349  }
 15350  
 15351  const opUpdateBucket = "UpdateBucket"
 15352  
 15353  // UpdateBucketRequest generates a "aws/request.Request" representing the
 15354  // client's request for the UpdateBucket operation. The "output" return
 15355  // value will be populated with the request's response once the request completes
 15356  // successfully.
 15357  //
 15358  // Use "Send" method on the returned Request to send the API call to the service.
 15359  // the "output" return value is not valid until after Send returns without error.
 15360  //
 15361  // See UpdateBucket for more information on using the UpdateBucket
 15362  // API call, and error handling.
 15363  //
 15364  // This method is useful when you want to inject custom logic or configuration
 15365  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15366  //
 15367  //
 15368  //    // Example sending a request using the UpdateBucketRequest method.
 15369  //    req, resp := client.UpdateBucketRequest(params)
 15370  //
 15371  //    err := req.Send()
 15372  //    if err == nil { // resp is now filled
 15373  //        fmt.Println(resp)
 15374  //    }
 15375  //
 15376  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucket
 15377  func (c *Lightsail) UpdateBucketRequest(input *UpdateBucketInput) (req *request.Request, output *UpdateBucketOutput) {
 15378  	op := &request.Operation{
 15379  		Name:       opUpdateBucket,
 15380  		HTTPMethod: "POST",
 15381  		HTTPPath:   "/",
 15382  	}
 15383  
 15384  	if input == nil {
 15385  		input = &UpdateBucketInput{}
 15386  	}
 15387  
 15388  	output = &UpdateBucketOutput{}
 15389  	req = c.newRequest(op, input, output)
 15390  	return
 15391  }
 15392  
 15393  // UpdateBucket API operation for Amazon Lightsail.
 15394  //
 15395  // Updates an existing Amazon Lightsail bucket.
 15396  //
 15397  // Use this action to update the configuration of an existing bucket, such as
 15398  // versioning, public accessibility, and the AWS accounts that can access the
 15399  // bucket.
 15400  //
 15401  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15402  // with awserr.Error's Code and Message methods to get detailed information about
 15403  // the error.
 15404  //
 15405  // See the AWS API reference guide for Amazon Lightsail's
 15406  // API operation UpdateBucket for usage and error information.
 15407  //
 15408  // Returned Error Types:
 15409  //   * AccessDeniedException
 15410  //   Lightsail throws this exception when the user cannot be authenticated or
 15411  //   uses invalid credentials to access a resource.
 15412  //
 15413  //   * InvalidInputException
 15414  //   Lightsail throws this exception when user input does not conform to the validation
 15415  //   rules of an input field.
 15416  //
 15417  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15418  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15419  //   view, or edit these resources.
 15420  //
 15421  //   * NotFoundException
 15422  //   Lightsail throws this exception when it cannot find a resource.
 15423  //
 15424  //   * ServiceException
 15425  //   A general service exception.
 15426  //
 15427  //   * UnauthenticatedException
 15428  //   Lightsail throws this exception when the user has not been authenticated.
 15429  //
 15430  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucket
 15431  func (c *Lightsail) UpdateBucket(input *UpdateBucketInput) (*UpdateBucketOutput, error) {
 15432  	req, out := c.UpdateBucketRequest(input)
 15433  	return out, req.Send()
 15434  }
 15435  
 15436  // UpdateBucketWithContext is the same as UpdateBucket with the addition of
 15437  // the ability to pass a context and additional request options.
 15438  //
 15439  // See UpdateBucket for details on how to use this API operation.
 15440  //
 15441  // The context must be non-nil and will be used for request cancellation. If
 15442  // the context is nil a panic will occur. In the future the SDK may create
 15443  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15444  // for more information on using Contexts.
 15445  func (c *Lightsail) UpdateBucketWithContext(ctx aws.Context, input *UpdateBucketInput, opts ...request.Option) (*UpdateBucketOutput, error) {
 15446  	req, out := c.UpdateBucketRequest(input)
 15447  	req.SetContext(ctx)
 15448  	req.ApplyOptions(opts...)
 15449  	return out, req.Send()
 15450  }
 15451  
 15452  const opUpdateBucketBundle = "UpdateBucketBundle"
 15453  
 15454  // UpdateBucketBundleRequest generates a "aws/request.Request" representing the
 15455  // client's request for the UpdateBucketBundle operation. The "output" return
 15456  // value will be populated with the request's response once the request completes
 15457  // successfully.
 15458  //
 15459  // Use "Send" method on the returned Request to send the API call to the service.
 15460  // the "output" return value is not valid until after Send returns without error.
 15461  //
 15462  // See UpdateBucketBundle for more information on using the UpdateBucketBundle
 15463  // API call, and error handling.
 15464  //
 15465  // This method is useful when you want to inject custom logic or configuration
 15466  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15467  //
 15468  //
 15469  //    // Example sending a request using the UpdateBucketBundleRequest method.
 15470  //    req, resp := client.UpdateBucketBundleRequest(params)
 15471  //
 15472  //    err := req.Send()
 15473  //    if err == nil { // resp is now filled
 15474  //        fmt.Println(resp)
 15475  //    }
 15476  //
 15477  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucketBundle
 15478  func (c *Lightsail) UpdateBucketBundleRequest(input *UpdateBucketBundleInput) (req *request.Request, output *UpdateBucketBundleOutput) {
 15479  	op := &request.Operation{
 15480  		Name:       opUpdateBucketBundle,
 15481  		HTTPMethod: "POST",
 15482  		HTTPPath:   "/",
 15483  	}
 15484  
 15485  	if input == nil {
 15486  		input = &UpdateBucketBundleInput{}
 15487  	}
 15488  
 15489  	output = &UpdateBucketBundleOutput{}
 15490  	req = c.newRequest(op, input, output)
 15491  	return
 15492  }
 15493  
 15494  // UpdateBucketBundle API operation for Amazon Lightsail.
 15495  //
 15496  // Updates the bundle, or storage plan, of an existing Amazon Lightsail bucket.
 15497  //
 15498  // A bucket bundle specifies the monthly cost, storage space, and data transfer
 15499  // quota for a bucket. You can update a bucket's bundle only one time within
 15500  // a monthly AWS billing cycle. To determine if you can update a bucket's bundle,
 15501  // use the GetBuckets action. The ableToUpdateBundle parameter in the response
 15502  // will indicate whether you can currently update a bucket's bundle.
 15503  //
 15504  // Update a bucket's bundle if it's consistently going over its storage space
 15505  // or data transfer quota, or if a bucket's usage is consistently in the lower
 15506  // range of its storage space or data transfer quota. Due to the unpredictable
 15507  // usage fluctuations that a bucket might experience, we strongly recommend
 15508  // that you update a bucket's bundle only as a long-term strategy, instead of
 15509  // as a short-term, monthly cost-cutting measure. Choose a bucket bundle that
 15510  // will provide the bucket with ample storage space and data transfer for a
 15511  // long time to come.
 15512  //
 15513  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15514  // with awserr.Error's Code and Message methods to get detailed information about
 15515  // the error.
 15516  //
 15517  // See the AWS API reference guide for Amazon Lightsail's
 15518  // API operation UpdateBucketBundle for usage and error information.
 15519  //
 15520  // Returned Error Types:
 15521  //   * AccessDeniedException
 15522  //   Lightsail throws this exception when the user cannot be authenticated or
 15523  //   uses invalid credentials to access a resource.
 15524  //
 15525  //   * InvalidInputException
 15526  //   Lightsail throws this exception when user input does not conform to the validation
 15527  //   rules of an input field.
 15528  //
 15529  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15530  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15531  //   view, or edit these resources.
 15532  //
 15533  //   * NotFoundException
 15534  //   Lightsail throws this exception when it cannot find a resource.
 15535  //
 15536  //   * ServiceException
 15537  //   A general service exception.
 15538  //
 15539  //   * UnauthenticatedException
 15540  //   Lightsail throws this exception when the user has not been authenticated.
 15541  //
 15542  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucketBundle
 15543  func (c *Lightsail) UpdateBucketBundle(input *UpdateBucketBundleInput) (*UpdateBucketBundleOutput, error) {
 15544  	req, out := c.UpdateBucketBundleRequest(input)
 15545  	return out, req.Send()
 15546  }
 15547  
 15548  // UpdateBucketBundleWithContext is the same as UpdateBucketBundle with the addition of
 15549  // the ability to pass a context and additional request options.
 15550  //
 15551  // See UpdateBucketBundle for details on how to use this API operation.
 15552  //
 15553  // The context must be non-nil and will be used for request cancellation. If
 15554  // the context is nil a panic will occur. In the future the SDK may create
 15555  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15556  // for more information on using Contexts.
 15557  func (c *Lightsail) UpdateBucketBundleWithContext(ctx aws.Context, input *UpdateBucketBundleInput, opts ...request.Option) (*UpdateBucketBundleOutput, error) {
 15558  	req, out := c.UpdateBucketBundleRequest(input)
 15559  	req.SetContext(ctx)
 15560  	req.ApplyOptions(opts...)
 15561  	return out, req.Send()
 15562  }
 15563  
 15564  const opUpdateContainerService = "UpdateContainerService"
 15565  
 15566  // UpdateContainerServiceRequest generates a "aws/request.Request" representing the
 15567  // client's request for the UpdateContainerService operation. The "output" return
 15568  // value will be populated with the request's response once the request completes
 15569  // successfully.
 15570  //
 15571  // Use "Send" method on the returned Request to send the API call to the service.
 15572  // the "output" return value is not valid until after Send returns without error.
 15573  //
 15574  // See UpdateContainerService for more information on using the UpdateContainerService
 15575  // API call, and error handling.
 15576  //
 15577  // This method is useful when you want to inject custom logic or configuration
 15578  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15579  //
 15580  //
 15581  //    // Example sending a request using the UpdateContainerServiceRequest method.
 15582  //    req, resp := client.UpdateContainerServiceRequest(params)
 15583  //
 15584  //    err := req.Send()
 15585  //    if err == nil { // resp is now filled
 15586  //        fmt.Println(resp)
 15587  //    }
 15588  //
 15589  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateContainerService
 15590  func (c *Lightsail) UpdateContainerServiceRequest(input *UpdateContainerServiceInput) (req *request.Request, output *UpdateContainerServiceOutput) {
 15591  	op := &request.Operation{
 15592  		Name:       opUpdateContainerService,
 15593  		HTTPMethod: "POST",
 15594  		HTTPPath:   "/",
 15595  	}
 15596  
 15597  	if input == nil {
 15598  		input = &UpdateContainerServiceInput{}
 15599  	}
 15600  
 15601  	output = &UpdateContainerServiceOutput{}
 15602  	req = c.newRequest(op, input, output)
 15603  	return
 15604  }
 15605  
 15606  // UpdateContainerService API operation for Amazon Lightsail.
 15607  //
 15608  // Updates the configuration of your Amazon Lightsail container service, such
 15609  // as its power, scale, and public domain names.
 15610  //
 15611  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15612  // with awserr.Error's Code and Message methods to get detailed information about
 15613  // the error.
 15614  //
 15615  // See the AWS API reference guide for Amazon Lightsail's
 15616  // API operation UpdateContainerService for usage and error information.
 15617  //
 15618  // Returned Error Types:
 15619  //   * ServiceException
 15620  //   A general service exception.
 15621  //
 15622  //   * InvalidInputException
 15623  //   Lightsail throws this exception when user input does not conform to the validation
 15624  //   rules of an input field.
 15625  //
 15626  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15627  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15628  //   view, or edit these resources.
 15629  //
 15630  //   * NotFoundException
 15631  //   Lightsail throws this exception when it cannot find a resource.
 15632  //
 15633  //   * AccessDeniedException
 15634  //   Lightsail throws this exception when the user cannot be authenticated or
 15635  //   uses invalid credentials to access a resource.
 15636  //
 15637  //   * UnauthenticatedException
 15638  //   Lightsail throws this exception when the user has not been authenticated.
 15639  //
 15640  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateContainerService
 15641  func (c *Lightsail) UpdateContainerService(input *UpdateContainerServiceInput) (*UpdateContainerServiceOutput, error) {
 15642  	req, out := c.UpdateContainerServiceRequest(input)
 15643  	return out, req.Send()
 15644  }
 15645  
 15646  // UpdateContainerServiceWithContext is the same as UpdateContainerService with the addition of
 15647  // the ability to pass a context and additional request options.
 15648  //
 15649  // See UpdateContainerService for details on how to use this API operation.
 15650  //
 15651  // The context must be non-nil and will be used for request cancellation. If
 15652  // the context is nil a panic will occur. In the future the SDK may create
 15653  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15654  // for more information on using Contexts.
 15655  func (c *Lightsail) UpdateContainerServiceWithContext(ctx aws.Context, input *UpdateContainerServiceInput, opts ...request.Option) (*UpdateContainerServiceOutput, error) {
 15656  	req, out := c.UpdateContainerServiceRequest(input)
 15657  	req.SetContext(ctx)
 15658  	req.ApplyOptions(opts...)
 15659  	return out, req.Send()
 15660  }
 15661  
 15662  const opUpdateDistribution = "UpdateDistribution"
 15663  
 15664  // UpdateDistributionRequest generates a "aws/request.Request" representing the
 15665  // client's request for the UpdateDistribution operation. The "output" return
 15666  // value will be populated with the request's response once the request completes
 15667  // successfully.
 15668  //
 15669  // Use "Send" method on the returned Request to send the API call to the service.
 15670  // the "output" return value is not valid until after Send returns without error.
 15671  //
 15672  // See UpdateDistribution for more information on using the UpdateDistribution
 15673  // API call, and error handling.
 15674  //
 15675  // This method is useful when you want to inject custom logic or configuration
 15676  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15677  //
 15678  //
 15679  //    // Example sending a request using the UpdateDistributionRequest method.
 15680  //    req, resp := client.UpdateDistributionRequest(params)
 15681  //
 15682  //    err := req.Send()
 15683  //    if err == nil { // resp is now filled
 15684  //        fmt.Println(resp)
 15685  //    }
 15686  //
 15687  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
 15688  func (c *Lightsail) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) {
 15689  	op := &request.Operation{
 15690  		Name:       opUpdateDistribution,
 15691  		HTTPMethod: "POST",
 15692  		HTTPPath:   "/",
 15693  	}
 15694  
 15695  	if input == nil {
 15696  		input = &UpdateDistributionInput{}
 15697  	}
 15698  
 15699  	output = &UpdateDistributionOutput{}
 15700  	req = c.newRequest(op, input, output)
 15701  	return
 15702  }
 15703  
 15704  // UpdateDistribution API operation for Amazon Lightsail.
 15705  //
 15706  // Updates an existing Amazon Lightsail content delivery network (CDN) distribution.
 15707  //
 15708  // Use this action to update the configuration of your existing distribution.
 15709  //
 15710  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15711  // with awserr.Error's Code and Message methods to get detailed information about
 15712  // the error.
 15713  //
 15714  // See the AWS API reference guide for Amazon Lightsail's
 15715  // API operation UpdateDistribution for usage and error information.
 15716  //
 15717  // Returned Error Types:
 15718  //   * ServiceException
 15719  //   A general service exception.
 15720  //
 15721  //   * InvalidInputException
 15722  //   Lightsail throws this exception when user input does not conform to the validation
 15723  //   rules of an input field.
 15724  //
 15725  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15726  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15727  //   view, or edit these resources.
 15728  //
 15729  //   * NotFoundException
 15730  //   Lightsail throws this exception when it cannot find a resource.
 15731  //
 15732  //   * OperationFailureException
 15733  //   Lightsail throws this exception when an operation fails to execute.
 15734  //
 15735  //   * AccessDeniedException
 15736  //   Lightsail throws this exception when the user cannot be authenticated or
 15737  //   uses invalid credentials to access a resource.
 15738  //
 15739  //   * UnauthenticatedException
 15740  //   Lightsail throws this exception when the user has not been authenticated.
 15741  //
 15742  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
 15743  func (c *Lightsail) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) {
 15744  	req, out := c.UpdateDistributionRequest(input)
 15745  	return out, req.Send()
 15746  }
 15747  
 15748  // UpdateDistributionWithContext is the same as UpdateDistribution with the addition of
 15749  // the ability to pass a context and additional request options.
 15750  //
 15751  // See UpdateDistribution for details on how to use this API operation.
 15752  //
 15753  // The context must be non-nil and will be used for request cancellation. If
 15754  // the context is nil a panic will occur. In the future the SDK may create
 15755  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15756  // for more information on using Contexts.
 15757  func (c *Lightsail) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) {
 15758  	req, out := c.UpdateDistributionRequest(input)
 15759  	req.SetContext(ctx)
 15760  	req.ApplyOptions(opts...)
 15761  	return out, req.Send()
 15762  }
 15763  
 15764  const opUpdateDistributionBundle = "UpdateDistributionBundle"
 15765  
 15766  // UpdateDistributionBundleRequest generates a "aws/request.Request" representing the
 15767  // client's request for the UpdateDistributionBundle operation. The "output" return
 15768  // value will be populated with the request's response once the request completes
 15769  // successfully.
 15770  //
 15771  // Use "Send" method on the returned Request to send the API call to the service.
 15772  // the "output" return value is not valid until after Send returns without error.
 15773  //
 15774  // See UpdateDistributionBundle for more information on using the UpdateDistributionBundle
 15775  // API call, and error handling.
 15776  //
 15777  // This method is useful when you want to inject custom logic or configuration
 15778  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15779  //
 15780  //
 15781  //    // Example sending a request using the UpdateDistributionBundleRequest method.
 15782  //    req, resp := client.UpdateDistributionBundleRequest(params)
 15783  //
 15784  //    err := req.Send()
 15785  //    if err == nil { // resp is now filled
 15786  //        fmt.Println(resp)
 15787  //    }
 15788  //
 15789  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
 15790  func (c *Lightsail) UpdateDistributionBundleRequest(input *UpdateDistributionBundleInput) (req *request.Request, output *UpdateDistributionBundleOutput) {
 15791  	op := &request.Operation{
 15792  		Name:       opUpdateDistributionBundle,
 15793  		HTTPMethod: "POST",
 15794  		HTTPPath:   "/",
 15795  	}
 15796  
 15797  	if input == nil {
 15798  		input = &UpdateDistributionBundleInput{}
 15799  	}
 15800  
 15801  	output = &UpdateDistributionBundleOutput{}
 15802  	req = c.newRequest(op, input, output)
 15803  	return
 15804  }
 15805  
 15806  // UpdateDistributionBundle API operation for Amazon Lightsail.
 15807  //
 15808  // Updates the bundle of your Amazon Lightsail content delivery network (CDN)
 15809  // distribution.
 15810  //
 15811  // A distribution bundle specifies the monthly network transfer quota and monthly
 15812  // cost of your dsitribution.
 15813  //
 15814  // Update your distribution's bundle if your distribution is going over its
 15815  // monthly network transfer quota and is incurring an overage fee.
 15816  //
 15817  // You can update your distribution's bundle only one time within your monthly
 15818  // AWS billing cycle. To determine if you can update your distribution's bundle,
 15819  // use the GetDistributions action. The ableToUpdateBundle parameter in the
 15820  // result will indicate whether you can currently update your distribution's
 15821  // bundle.
 15822  //
 15823  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15824  // with awserr.Error's Code and Message methods to get detailed information about
 15825  // the error.
 15826  //
 15827  // See the AWS API reference guide for Amazon Lightsail's
 15828  // API operation UpdateDistributionBundle for usage and error information.
 15829  //
 15830  // Returned Error Types:
 15831  //   * ServiceException
 15832  //   A general service exception.
 15833  //
 15834  //   * InvalidInputException
 15835  //   Lightsail throws this exception when user input does not conform to the validation
 15836  //   rules of an input field.
 15837  //
 15838  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15839  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15840  //   view, or edit these resources.
 15841  //
 15842  //   * NotFoundException
 15843  //   Lightsail throws this exception when it cannot find a resource.
 15844  //
 15845  //   * OperationFailureException
 15846  //   Lightsail throws this exception when an operation fails to execute.
 15847  //
 15848  //   * AccessDeniedException
 15849  //   Lightsail throws this exception when the user cannot be authenticated or
 15850  //   uses invalid credentials to access a resource.
 15851  //
 15852  //   * UnauthenticatedException
 15853  //   Lightsail throws this exception when the user has not been authenticated.
 15854  //
 15855  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
 15856  func (c *Lightsail) UpdateDistributionBundle(input *UpdateDistributionBundleInput) (*UpdateDistributionBundleOutput, error) {
 15857  	req, out := c.UpdateDistributionBundleRequest(input)
 15858  	return out, req.Send()
 15859  }
 15860  
 15861  // UpdateDistributionBundleWithContext is the same as UpdateDistributionBundle with the addition of
 15862  // the ability to pass a context and additional request options.
 15863  //
 15864  // See UpdateDistributionBundle for details on how to use this API operation.
 15865  //
 15866  // The context must be non-nil and will be used for request cancellation. If
 15867  // the context is nil a panic will occur. In the future the SDK may create
 15868  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15869  // for more information on using Contexts.
 15870  func (c *Lightsail) UpdateDistributionBundleWithContext(ctx aws.Context, input *UpdateDistributionBundleInput, opts ...request.Option) (*UpdateDistributionBundleOutput, error) {
 15871  	req, out := c.UpdateDistributionBundleRequest(input)
 15872  	req.SetContext(ctx)
 15873  	req.ApplyOptions(opts...)
 15874  	return out, req.Send()
 15875  }
 15876  
 15877  const opUpdateDomainEntry = "UpdateDomainEntry"
 15878  
 15879  // UpdateDomainEntryRequest generates a "aws/request.Request" representing the
 15880  // client's request for the UpdateDomainEntry operation. The "output" return
 15881  // value will be populated with the request's response once the request completes
 15882  // successfully.
 15883  //
 15884  // Use "Send" method on the returned Request to send the API call to the service.
 15885  // the "output" return value is not valid until after Send returns without error.
 15886  //
 15887  // See UpdateDomainEntry for more information on using the UpdateDomainEntry
 15888  // API call, and error handling.
 15889  //
 15890  // This method is useful when you want to inject custom logic or configuration
 15891  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 15892  //
 15893  //
 15894  //    // Example sending a request using the UpdateDomainEntryRequest method.
 15895  //    req, resp := client.UpdateDomainEntryRequest(params)
 15896  //
 15897  //    err := req.Send()
 15898  //    if err == nil { // resp is now filled
 15899  //        fmt.Println(resp)
 15900  //    }
 15901  //
 15902  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
 15903  func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
 15904  	op := &request.Operation{
 15905  		Name:       opUpdateDomainEntry,
 15906  		HTTPMethod: "POST",
 15907  		HTTPPath:   "/",
 15908  	}
 15909  
 15910  	if input == nil {
 15911  		input = &UpdateDomainEntryInput{}
 15912  	}
 15913  
 15914  	output = &UpdateDomainEntryOutput{}
 15915  	req = c.newRequest(op, input, output)
 15916  	return
 15917  }
 15918  
 15919  // UpdateDomainEntry API operation for Amazon Lightsail.
 15920  //
 15921  // Updates a domain recordset after it is created.
 15922  //
 15923  // The update domain entry operation supports tag-based access control via resource
 15924  // tags applied to the resource identified by domain name. For more information,
 15925  // see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 15926  //
 15927  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15928  // with awserr.Error's Code and Message methods to get detailed information about
 15929  // the error.
 15930  //
 15931  // See the AWS API reference guide for Amazon Lightsail's
 15932  // API operation UpdateDomainEntry for usage and error information.
 15933  //
 15934  // Returned Error Types:
 15935  //   * ServiceException
 15936  //   A general service exception.
 15937  //
 15938  //   * InvalidInputException
 15939  //   Lightsail throws this exception when user input does not conform to the validation
 15940  //   rules of an input field.
 15941  //
 15942  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 15943  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 15944  //   view, or edit these resources.
 15945  //
 15946  //   * NotFoundException
 15947  //   Lightsail throws this exception when it cannot find a resource.
 15948  //
 15949  //   * OperationFailureException
 15950  //   Lightsail throws this exception when an operation fails to execute.
 15951  //
 15952  //   * AccessDeniedException
 15953  //   Lightsail throws this exception when the user cannot be authenticated or
 15954  //   uses invalid credentials to access a resource.
 15955  //
 15956  //   * AccountSetupInProgressException
 15957  //   Lightsail throws this exception when an account is still in the setup in
 15958  //   progress state.
 15959  //
 15960  //   * UnauthenticatedException
 15961  //   Lightsail throws this exception when the user has not been authenticated.
 15962  //
 15963  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
 15964  func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
 15965  	req, out := c.UpdateDomainEntryRequest(input)
 15966  	return out, req.Send()
 15967  }
 15968  
 15969  // UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
 15970  // the ability to pass a context and additional request options.
 15971  //
 15972  // See UpdateDomainEntry for details on how to use this API operation.
 15973  //
 15974  // The context must be non-nil and will be used for request cancellation. If
 15975  // the context is nil a panic will occur. In the future the SDK may create
 15976  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15977  // for more information on using Contexts.
 15978  func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
 15979  	req, out := c.UpdateDomainEntryRequest(input)
 15980  	req.SetContext(ctx)
 15981  	req.ApplyOptions(opts...)
 15982  	return out, req.Send()
 15983  }
 15984  
 15985  const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
 15986  
 15987  // UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
 15988  // client's request for the UpdateLoadBalancerAttribute operation. The "output" return
 15989  // value will be populated with the request's response once the request completes
 15990  // successfully.
 15991  //
 15992  // Use "Send" method on the returned Request to send the API call to the service.
 15993  // the "output" return value is not valid until after Send returns without error.
 15994  //
 15995  // See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
 15996  // API call, and error handling.
 15997  //
 15998  // This method is useful when you want to inject custom logic or configuration
 15999  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 16000  //
 16001  //
 16002  //    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
 16003  //    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
 16004  //
 16005  //    err := req.Send()
 16006  //    if err == nil { // resp is now filled
 16007  //        fmt.Println(resp)
 16008  //    }
 16009  //
 16010  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
 16011  func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
 16012  	op := &request.Operation{
 16013  		Name:       opUpdateLoadBalancerAttribute,
 16014  		HTTPMethod: "POST",
 16015  		HTTPPath:   "/",
 16016  	}
 16017  
 16018  	if input == nil {
 16019  		input = &UpdateLoadBalancerAttributeInput{}
 16020  	}
 16021  
 16022  	output = &UpdateLoadBalancerAttributeOutput{}
 16023  	req = c.newRequest(op, input, output)
 16024  	return
 16025  }
 16026  
 16027  // UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
 16028  //
 16029  // Updates the specified attribute for a load balancer. You can only update
 16030  // one attribute at a time.
 16031  //
 16032  // The update load balancer attribute operation supports tag-based access control
 16033  // via resource tags applied to the resource identified by load balancer name.
 16034  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 16035  //
 16036  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 16037  // with awserr.Error's Code and Message methods to get detailed information about
 16038  // the error.
 16039  //
 16040  // See the AWS API reference guide for Amazon Lightsail's
 16041  // API operation UpdateLoadBalancerAttribute for usage and error information.
 16042  //
 16043  // Returned Error Types:
 16044  //   * ServiceException
 16045  //   A general service exception.
 16046  //
 16047  //   * InvalidInputException
 16048  //   Lightsail throws this exception when user input does not conform to the validation
 16049  //   rules of an input field.
 16050  //
 16051  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 16052  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 16053  //   view, or edit these resources.
 16054  //
 16055  //   * NotFoundException
 16056  //   Lightsail throws this exception when it cannot find a resource.
 16057  //
 16058  //   * OperationFailureException
 16059  //   Lightsail throws this exception when an operation fails to execute.
 16060  //
 16061  //   * AccessDeniedException
 16062  //   Lightsail throws this exception when the user cannot be authenticated or
 16063  //   uses invalid credentials to access a resource.
 16064  //
 16065  //   * AccountSetupInProgressException
 16066  //   Lightsail throws this exception when an account is still in the setup in
 16067  //   progress state.
 16068  //
 16069  //   * UnauthenticatedException
 16070  //   Lightsail throws this exception when the user has not been authenticated.
 16071  //
 16072  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
 16073  func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
 16074  	req, out := c.UpdateLoadBalancerAttributeRequest(input)
 16075  	return out, req.Send()
 16076  }
 16077  
 16078  // UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
 16079  // the ability to pass a context and additional request options.
 16080  //
 16081  // See UpdateLoadBalancerAttribute for details on how to use this API operation.
 16082  //
 16083  // The context must be non-nil and will be used for request cancellation. If
 16084  // the context is nil a panic will occur. In the future the SDK may create
 16085  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 16086  // for more information on using Contexts.
 16087  func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
 16088  	req, out := c.UpdateLoadBalancerAttributeRequest(input)
 16089  	req.SetContext(ctx)
 16090  	req.ApplyOptions(opts...)
 16091  	return out, req.Send()
 16092  }
 16093  
 16094  const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
 16095  
 16096  // UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
 16097  // client's request for the UpdateRelationalDatabase operation. The "output" return
 16098  // value will be populated with the request's response once the request completes
 16099  // successfully.
 16100  //
 16101  // Use "Send" method on the returned Request to send the API call to the service.
 16102  // the "output" return value is not valid until after Send returns without error.
 16103  //
 16104  // See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
 16105  // API call, and error handling.
 16106  //
 16107  // This method is useful when you want to inject custom logic or configuration
 16108  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 16109  //
 16110  //
 16111  //    // Example sending a request using the UpdateRelationalDatabaseRequest method.
 16112  //    req, resp := client.UpdateRelationalDatabaseRequest(params)
 16113  //
 16114  //    err := req.Send()
 16115  //    if err == nil { // resp is now filled
 16116  //        fmt.Println(resp)
 16117  //    }
 16118  //
 16119  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
 16120  func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
 16121  	op := &request.Operation{
 16122  		Name:       opUpdateRelationalDatabase,
 16123  		HTTPMethod: "POST",
 16124  		HTTPPath:   "/",
 16125  	}
 16126  
 16127  	if input == nil {
 16128  		input = &UpdateRelationalDatabaseInput{}
 16129  	}
 16130  
 16131  	output = &UpdateRelationalDatabaseOutput{}
 16132  	req = c.newRequest(op, input, output)
 16133  	return
 16134  }
 16135  
 16136  // UpdateRelationalDatabase API operation for Amazon Lightsail.
 16137  //
 16138  // Allows the update of one or more attributes of a database in Amazon Lightsail.
 16139  //
 16140  // Updates are applied immediately, or in cases where the updates could result
 16141  // in an outage, are applied during the database's predefined maintenance window.
 16142  //
 16143  // The update relational database operation supports tag-based access control
 16144  // via resource tags applied to the resource identified by relationalDatabaseName.
 16145  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 16146  //
 16147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 16148  // with awserr.Error's Code and Message methods to get detailed information about
 16149  // the error.
 16150  //
 16151  // See the AWS API reference guide for Amazon Lightsail's
 16152  // API operation UpdateRelationalDatabase for usage and error information.
 16153  //
 16154  // Returned Error Types:
 16155  //   * ServiceException
 16156  //   A general service exception.
 16157  //
 16158  //   * InvalidInputException
 16159  //   Lightsail throws this exception when user input does not conform to the validation
 16160  //   rules of an input field.
 16161  //
 16162  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 16163  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 16164  //   view, or edit these resources.
 16165  //
 16166  //   * NotFoundException
 16167  //   Lightsail throws this exception when it cannot find a resource.
 16168  //
 16169  //   * OperationFailureException
 16170  //   Lightsail throws this exception when an operation fails to execute.
 16171  //
 16172  //   * AccessDeniedException
 16173  //   Lightsail throws this exception when the user cannot be authenticated or
 16174  //   uses invalid credentials to access a resource.
 16175  //
 16176  //   * AccountSetupInProgressException
 16177  //   Lightsail throws this exception when an account is still in the setup in
 16178  //   progress state.
 16179  //
 16180  //   * UnauthenticatedException
 16181  //   Lightsail throws this exception when the user has not been authenticated.
 16182  //
 16183  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
 16184  func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
 16185  	req, out := c.UpdateRelationalDatabaseRequest(input)
 16186  	return out, req.Send()
 16187  }
 16188  
 16189  // UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
 16190  // the ability to pass a context and additional request options.
 16191  //
 16192  // See UpdateRelationalDatabase for details on how to use this API operation.
 16193  //
 16194  // The context must be non-nil and will be used for request cancellation. If
 16195  // the context is nil a panic will occur. In the future the SDK may create
 16196  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 16197  // for more information on using Contexts.
 16198  func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
 16199  	req, out := c.UpdateRelationalDatabaseRequest(input)
 16200  	req.SetContext(ctx)
 16201  	req.ApplyOptions(opts...)
 16202  	return out, req.Send()
 16203  }
 16204  
 16205  const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
 16206  
 16207  // UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
 16208  // client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
 16209  // value will be populated with the request's response once the request completes
 16210  // successfully.
 16211  //
 16212  // Use "Send" method on the returned Request to send the API call to the service.
 16213  // the "output" return value is not valid until after Send returns without error.
 16214  //
 16215  // See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
 16216  // API call, and error handling.
 16217  //
 16218  // This method is useful when you want to inject custom logic or configuration
 16219  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 16220  //
 16221  //
 16222  //    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
 16223  //    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
 16224  //
 16225  //    err := req.Send()
 16226  //    if err == nil { // resp is now filled
 16227  //        fmt.Println(resp)
 16228  //    }
 16229  //
 16230  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
 16231  func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
 16232  	op := &request.Operation{
 16233  		Name:       opUpdateRelationalDatabaseParameters,
 16234  		HTTPMethod: "POST",
 16235  		HTTPPath:   "/",
 16236  	}
 16237  
 16238  	if input == nil {
 16239  		input = &UpdateRelationalDatabaseParametersInput{}
 16240  	}
 16241  
 16242  	output = &UpdateRelationalDatabaseParametersOutput{}
 16243  	req = c.newRequest(op, input, output)
 16244  	return
 16245  }
 16246  
 16247  // UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
 16248  //
 16249  // Allows the update of one or more parameters of a database in Amazon Lightsail.
 16250  //
 16251  // Parameter updates don't cause outages; therefore, their application is not
 16252  // subject to the preferred maintenance window. However, there are two ways
 16253  // in which parameter updates are applied: dynamic or pending-reboot. Parameters
 16254  // marked with a dynamic apply type are applied immediately. Parameters marked
 16255  // with a pending-reboot apply type are applied only after the database is rebooted
 16256  // using the reboot relational database operation.
 16257  //
 16258  // The update relational database parameters operation supports tag-based access
 16259  // control via resource tags applied to the resource identified by relationalDatabaseName.
 16260  // For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
 16261  //
 16262  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 16263  // with awserr.Error's Code and Message methods to get detailed information about
 16264  // the error.
 16265  //
 16266  // See the AWS API reference guide for Amazon Lightsail's
 16267  // API operation UpdateRelationalDatabaseParameters for usage and error information.
 16268  //
 16269  // Returned Error Types:
 16270  //   * ServiceException
 16271  //   A general service exception.
 16272  //
 16273  //   * InvalidInputException
 16274  //   Lightsail throws this exception when user input does not conform to the validation
 16275  //   rules of an input field.
 16276  //
 16277  //   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 16278  //   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 16279  //   view, or edit these resources.
 16280  //
 16281  //   * NotFoundException
 16282  //   Lightsail throws this exception when it cannot find a resource.
 16283  //
 16284  //   * OperationFailureException
 16285  //   Lightsail throws this exception when an operation fails to execute.
 16286  //
 16287  //   * AccessDeniedException
 16288  //   Lightsail throws this exception when the user cannot be authenticated or
 16289  //   uses invalid credentials to access a resource.
 16290  //
 16291  //   * AccountSetupInProgressException
 16292  //   Lightsail throws this exception when an account is still in the setup in
 16293  //   progress state.
 16294  //
 16295  //   * UnauthenticatedException
 16296  //   Lightsail throws this exception when the user has not been authenticated.
 16297  //
 16298  // See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
 16299  func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
 16300  	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
 16301  	return out, req.Send()
 16302  }
 16303  
 16304  // UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
 16305  // the ability to pass a context and additional request options.
 16306  //
 16307  // See UpdateRelationalDatabaseParameters for details on how to use this API operation.
 16308  //
 16309  // The context must be non-nil and will be used for request cancellation. If
 16310  // the context is nil a panic will occur. In the future the SDK may create
 16311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 16312  // for more information on using Contexts.
 16313  func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
 16314  	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
 16315  	req.SetContext(ctx)
 16316  	req.ApplyOptions(opts...)
 16317  	return out, req.Send()
 16318  }
 16319  
 16320  // Lightsail throws this exception when the user cannot be authenticated or
 16321  // uses invalid credentials to access a resource.
 16322  type AccessDeniedException struct {
 16323  	_            struct{}                  `type:"structure"`
 16324  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16325  
 16326  	Code_ *string `locationName:"code" type:"string"`
 16327  
 16328  	Docs *string `locationName:"docs" type:"string"`
 16329  
 16330  	Message_ *string `locationName:"message" type:"string"`
 16331  
 16332  	Tip *string `locationName:"tip" type:"string"`
 16333  }
 16334  
 16335  // String returns the string representation.
 16336  //
 16337  // API parameter values that are decorated as "sensitive" in the API will not
 16338  // be included in the string output. The member name will be present, but the
 16339  // value will be replaced with "sensitive".
 16340  func (s AccessDeniedException) String() string {
 16341  	return awsutil.Prettify(s)
 16342  }
 16343  
 16344  // GoString returns the string representation.
 16345  //
 16346  // API parameter values that are decorated as "sensitive" in the API will not
 16347  // be included in the string output. The member name will be present, but the
 16348  // value will be replaced with "sensitive".
 16349  func (s AccessDeniedException) GoString() string {
 16350  	return s.String()
 16351  }
 16352  
 16353  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
 16354  	return &AccessDeniedException{
 16355  		RespMetadata: v,
 16356  	}
 16357  }
 16358  
 16359  // Code returns the exception type name.
 16360  func (s *AccessDeniedException) Code() string {
 16361  	return "AccessDeniedException"
 16362  }
 16363  
 16364  // Message returns the exception's message.
 16365  func (s *AccessDeniedException) Message() string {
 16366  	if s.Message_ != nil {
 16367  		return *s.Message_
 16368  	}
 16369  	return ""
 16370  }
 16371  
 16372  // OrigErr always returns nil, satisfies awserr.Error interface.
 16373  func (s *AccessDeniedException) OrigErr() error {
 16374  	return nil
 16375  }
 16376  
 16377  func (s *AccessDeniedException) Error() string {
 16378  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 16379  }
 16380  
 16381  // Status code returns the HTTP status code for the request's response error.
 16382  func (s *AccessDeniedException) StatusCode() int {
 16383  	return s.RespMetadata.StatusCode
 16384  }
 16385  
 16386  // RequestID returns the service's response RequestID for request.
 16387  func (s *AccessDeniedException) RequestID() string {
 16388  	return s.RespMetadata.RequestID
 16389  }
 16390  
 16391  // Describes an access key for an Amazon Lightsail bucket.
 16392  //
 16393  // Access keys grant full programmatic access to the specified bucket and its
 16394  // objects. You can have a maximum of two access keys per bucket. Use the CreateBucketAccessKey
 16395  // action to create an access key for a specific bucket. For more information
 16396  // about access keys, see Creating access keys for a bucket in Amazon Lightsail
 16397  // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
 16398  // in the Amazon Lightsail Developer Guide.
 16399  //
 16400  // The secretAccessKey value is returned only in response to the CreateBucketAccessKey
 16401  // action. You can get a secret access key only when you first create an access
 16402  // key; you cannot get the secret access key later. If you lose the secret access
 16403  // key, you must create a new access key.
 16404  type AccessKey struct {
 16405  	_ struct{} `type:"structure"`
 16406  
 16407  	// The ID of the access key.
 16408  	//
 16409  	// AccessKeyId is a sensitive parameter and its value will be
 16410  	// replaced with "sensitive" in string returned by AccessKey's
 16411  	// String and GoString methods.
 16412  	AccessKeyId *string `locationName:"accessKeyId" min:"20" type:"string" sensitive:"true"`
 16413  
 16414  	// The timestamp when the access key was created.
 16415  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 16416  
 16417  	// An object that describes the last time the access key was used.
 16418  	//
 16419  	// This object does not include data in the response of a CreateBucketAccessKey
 16420  	// action. If the access key has not been used, the region and serviceName values
 16421  	// are N/A, and the lastUsedDate value is null.
 16422  	LastUsed *AccessKeyLastUsed `locationName:"lastUsed" type:"structure"`
 16423  
 16424  	// The secret access key used to sign requests.
 16425  	//
 16426  	// You should store the secret access key in a safe location. We recommend that
 16427  	// you delete the access key if the secret access key is compromised.
 16428  	SecretAccessKey *string `locationName:"secretAccessKey" type:"string"`
 16429  
 16430  	// The status of the access key.
 16431  	//
 16432  	// A status of Active means that the key is valid, while Inactive means it is
 16433  	// not.
 16434  	Status *string `locationName:"status" type:"string" enum:"StatusType"`
 16435  }
 16436  
 16437  // String returns the string representation.
 16438  //
 16439  // API parameter values that are decorated as "sensitive" in the API will not
 16440  // be included in the string output. The member name will be present, but the
 16441  // value will be replaced with "sensitive".
 16442  func (s AccessKey) String() string {
 16443  	return awsutil.Prettify(s)
 16444  }
 16445  
 16446  // GoString returns the string representation.
 16447  //
 16448  // API parameter values that are decorated as "sensitive" in the API will not
 16449  // be included in the string output. The member name will be present, but the
 16450  // value will be replaced with "sensitive".
 16451  func (s AccessKey) GoString() string {
 16452  	return s.String()
 16453  }
 16454  
 16455  // SetAccessKeyId sets the AccessKeyId field's value.
 16456  func (s *AccessKey) SetAccessKeyId(v string) *AccessKey {
 16457  	s.AccessKeyId = &v
 16458  	return s
 16459  }
 16460  
 16461  // SetCreatedAt sets the CreatedAt field's value.
 16462  func (s *AccessKey) SetCreatedAt(v time.Time) *AccessKey {
 16463  	s.CreatedAt = &v
 16464  	return s
 16465  }
 16466  
 16467  // SetLastUsed sets the LastUsed field's value.
 16468  func (s *AccessKey) SetLastUsed(v *AccessKeyLastUsed) *AccessKey {
 16469  	s.LastUsed = v
 16470  	return s
 16471  }
 16472  
 16473  // SetSecretAccessKey sets the SecretAccessKey field's value.
 16474  func (s *AccessKey) SetSecretAccessKey(v string) *AccessKey {
 16475  	s.SecretAccessKey = &v
 16476  	return s
 16477  }
 16478  
 16479  // SetStatus sets the Status field's value.
 16480  func (s *AccessKey) SetStatus(v string) *AccessKey {
 16481  	s.Status = &v
 16482  	return s
 16483  }
 16484  
 16485  // Describes the last time an access key was used.
 16486  //
 16487  // This object does not include data in the response of a CreateBucketAccessKey
 16488  // action.
 16489  type AccessKeyLastUsed struct {
 16490  	_ struct{} `type:"structure"`
 16491  
 16492  	// The date and time when the access key was most recently used.
 16493  	//
 16494  	// This value is null if the access key has not been used.
 16495  	LastUsedDate *time.Time `locationName:"lastUsedDate" type:"timestamp"`
 16496  
 16497  	// The AWS Region where this access key was most recently used.
 16498  	//
 16499  	// This value is N/A if the access key has not been used.
 16500  	Region *string `locationName:"region" type:"string"`
 16501  
 16502  	// The name of the AWS service with which this access key was most recently
 16503  	// used.
 16504  	//
 16505  	// This value is N/A if the access key has not been used.
 16506  	ServiceName *string `locationName:"serviceName" type:"string"`
 16507  }
 16508  
 16509  // String returns the string representation.
 16510  //
 16511  // API parameter values that are decorated as "sensitive" in the API will not
 16512  // be included in the string output. The member name will be present, but the
 16513  // value will be replaced with "sensitive".
 16514  func (s AccessKeyLastUsed) String() string {
 16515  	return awsutil.Prettify(s)
 16516  }
 16517  
 16518  // GoString returns the string representation.
 16519  //
 16520  // API parameter values that are decorated as "sensitive" in the API will not
 16521  // be included in the string output. The member name will be present, but the
 16522  // value will be replaced with "sensitive".
 16523  func (s AccessKeyLastUsed) GoString() string {
 16524  	return s.String()
 16525  }
 16526  
 16527  // SetLastUsedDate sets the LastUsedDate field's value.
 16528  func (s *AccessKeyLastUsed) SetLastUsedDate(v time.Time) *AccessKeyLastUsed {
 16529  	s.LastUsedDate = &v
 16530  	return s
 16531  }
 16532  
 16533  // SetRegion sets the Region field's value.
 16534  func (s *AccessKeyLastUsed) SetRegion(v string) *AccessKeyLastUsed {
 16535  	s.Region = &v
 16536  	return s
 16537  }
 16538  
 16539  // SetServiceName sets the ServiceName field's value.
 16540  func (s *AccessKeyLastUsed) SetServiceName(v string) *AccessKeyLastUsed {
 16541  	s.ServiceName = &v
 16542  	return s
 16543  }
 16544  
 16545  // Describes the anonymous access permissions for an Amazon Lightsail bucket
 16546  // and its objects.
 16547  //
 16548  // For more information about bucket access permissions, see Understanding bucket
 16549  // permissions in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-understanding-bucket-permissions)
 16550  // in the
 16551  //
 16552  // Amazon Lightsail Developer Guide.
 16553  type AccessRules struct {
 16554  	_ struct{} `type:"structure"`
 16555  
 16556  	// A Boolean value that indicates whether the access control list (ACL) permissions
 16557  	// that are applied to individual objects override the getObject option that
 16558  	// is currently specified.
 16559  	//
 16560  	// When this is true, you can use the PutObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)
 16561  	// Amazon S3 API action to set individual objects to public (read-only) using
 16562  	// the public-read ACL, or to private using the private ACL.
 16563  	AllowPublicOverrides *bool `locationName:"allowPublicOverrides" type:"boolean"`
 16564  
 16565  	// Specifies the anonymous access to all objects in a bucket.
 16566  	//
 16567  	// The following options can be specified:
 16568  	//
 16569  	//    * public - Sets all objects in the bucket to public (read-only), making
 16570  	//    them readable by anyone in the world. If the getObject value is set to
 16571  	//    public, then all objects in the bucket default to public regardless of
 16572  	//    the allowPublicOverrides value.
 16573  	//
 16574  	//    * private - Sets all objects in the bucket to private, making them readable
 16575  	//    only by you or anyone you give access to. If the getObject value is set
 16576  	//    to private, and the allowPublicOverrides value is set to true, then all
 16577  	//    objects in the bucket default to private unless they are configured with
 16578  	//    a public-read ACL. Individual objects with a public-read ACL are readable
 16579  	//    by anyone in the world.
 16580  	GetObject *string `locationName:"getObject" type:"string" enum:"AccessType"`
 16581  }
 16582  
 16583  // String returns the string representation.
 16584  //
 16585  // API parameter values that are decorated as "sensitive" in the API will not
 16586  // be included in the string output. The member name will be present, but the
 16587  // value will be replaced with "sensitive".
 16588  func (s AccessRules) String() string {
 16589  	return awsutil.Prettify(s)
 16590  }
 16591  
 16592  // GoString returns the string representation.
 16593  //
 16594  // API parameter values that are decorated as "sensitive" in the API will not
 16595  // be included in the string output. The member name will be present, but the
 16596  // value will be replaced with "sensitive".
 16597  func (s AccessRules) GoString() string {
 16598  	return s.String()
 16599  }
 16600  
 16601  // SetAllowPublicOverrides sets the AllowPublicOverrides field's value.
 16602  func (s *AccessRules) SetAllowPublicOverrides(v bool) *AccessRules {
 16603  	s.AllowPublicOverrides = &v
 16604  	return s
 16605  }
 16606  
 16607  // SetGetObject sets the GetObject field's value.
 16608  func (s *AccessRules) SetGetObject(v string) *AccessRules {
 16609  	s.GetObject = &v
 16610  	return s
 16611  }
 16612  
 16613  // Lightsail throws this exception when an account is still in the setup in
 16614  // progress state.
 16615  type AccountSetupInProgressException struct {
 16616  	_            struct{}                  `type:"structure"`
 16617  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16618  
 16619  	Code_ *string `locationName:"code" type:"string"`
 16620  
 16621  	Docs *string `locationName:"docs" type:"string"`
 16622  
 16623  	Message_ *string `locationName:"message" type:"string"`
 16624  
 16625  	Tip *string `locationName:"tip" type:"string"`
 16626  }
 16627  
 16628  // String returns the string representation.
 16629  //
 16630  // API parameter values that are decorated as "sensitive" in the API will not
 16631  // be included in the string output. The member name will be present, but the
 16632  // value will be replaced with "sensitive".
 16633  func (s AccountSetupInProgressException) String() string {
 16634  	return awsutil.Prettify(s)
 16635  }
 16636  
 16637  // GoString returns the string representation.
 16638  //
 16639  // API parameter values that are decorated as "sensitive" in the API will not
 16640  // be included in the string output. The member name will be present, but the
 16641  // value will be replaced with "sensitive".
 16642  func (s AccountSetupInProgressException) GoString() string {
 16643  	return s.String()
 16644  }
 16645  
 16646  func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error {
 16647  	return &AccountSetupInProgressException{
 16648  		RespMetadata: v,
 16649  	}
 16650  }
 16651  
 16652  // Code returns the exception type name.
 16653  func (s *AccountSetupInProgressException) Code() string {
 16654  	return "AccountSetupInProgressException"
 16655  }
 16656  
 16657  // Message returns the exception's message.
 16658  func (s *AccountSetupInProgressException) Message() string {
 16659  	if s.Message_ != nil {
 16660  		return *s.Message_
 16661  	}
 16662  	return ""
 16663  }
 16664  
 16665  // OrigErr always returns nil, satisfies awserr.Error interface.
 16666  func (s *AccountSetupInProgressException) OrigErr() error {
 16667  	return nil
 16668  }
 16669  
 16670  func (s *AccountSetupInProgressException) Error() string {
 16671  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 16672  }
 16673  
 16674  // Status code returns the HTTP status code for the request's response error.
 16675  func (s *AccountSetupInProgressException) StatusCode() int {
 16676  	return s.RespMetadata.StatusCode
 16677  }
 16678  
 16679  // RequestID returns the service's response RequestID for request.
 16680  func (s *AccountSetupInProgressException) RequestID() string {
 16681  	return s.RespMetadata.RequestID
 16682  }
 16683  
 16684  // Describes an add-on that is enabled for an Amazon Lightsail resource.
 16685  type AddOn struct {
 16686  	_ struct{} `type:"structure"`
 16687  
 16688  	// The name of the add-on.
 16689  	Name *string `locationName:"name" type:"string"`
 16690  
 16691  	// The next daily time an automatic snapshot will be created.
 16692  	//
 16693  	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
 16694  	//
 16695  	// The snapshot is automatically created between the time shown and up to 45
 16696  	// minutes after.
 16697  	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
 16698  
 16699  	// The daily time when an automatic snapshot is created.
 16700  	//
 16701  	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
 16702  	//
 16703  	// The snapshot is automatically created between the time shown and up to 45
 16704  	// minutes after.
 16705  	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
 16706  
 16707  	// The status of the add-on.
 16708  	Status *string `locationName:"status" type:"string"`
 16709  }
 16710  
 16711  // String returns the string representation.
 16712  //
 16713  // API parameter values that are decorated as "sensitive" in the API will not
 16714  // be included in the string output. The member name will be present, but the
 16715  // value will be replaced with "sensitive".
 16716  func (s AddOn) String() string {
 16717  	return awsutil.Prettify(s)
 16718  }
 16719  
 16720  // GoString returns the string representation.
 16721  //
 16722  // API parameter values that are decorated as "sensitive" in the API will not
 16723  // be included in the string output. The member name will be present, but the
 16724  // value will be replaced with "sensitive".
 16725  func (s AddOn) GoString() string {
 16726  	return s.String()
 16727  }
 16728  
 16729  // SetName sets the Name field's value.
 16730  func (s *AddOn) SetName(v string) *AddOn {
 16731  	s.Name = &v
 16732  	return s
 16733  }
 16734  
 16735  // SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
 16736  func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
 16737  	s.NextSnapshotTimeOfDay = &v
 16738  	return s
 16739  }
 16740  
 16741  // SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
 16742  func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
 16743  	s.SnapshotTimeOfDay = &v
 16744  	return s
 16745  }
 16746  
 16747  // SetStatus sets the Status field's value.
 16748  func (s *AddOn) SetStatus(v string) *AddOn {
 16749  	s.Status = &v
 16750  	return s
 16751  }
 16752  
 16753  // Describes a request to enable, modify, or disable an add-on for an Amazon
 16754  // Lightsail resource.
 16755  //
 16756  // An additional cost may be associated with enabling add-ons. For more information,
 16757  // see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
 16758  type AddOnRequest struct {
 16759  	_ struct{} `type:"structure"`
 16760  
 16761  	// The add-on type.
 16762  	//
 16763  	// AddOnType is a required field
 16764  	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
 16765  
 16766  	// An object that represents additional parameters when enabling or modifying
 16767  	// the automatic snapshot add-on.
 16768  	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
 16769  }
 16770  
 16771  // String returns the string representation.
 16772  //
 16773  // API parameter values that are decorated as "sensitive" in the API will not
 16774  // be included in the string output. The member name will be present, but the
 16775  // value will be replaced with "sensitive".
 16776  func (s AddOnRequest) String() string {
 16777  	return awsutil.Prettify(s)
 16778  }
 16779  
 16780  // GoString returns the string representation.
 16781  //
 16782  // API parameter values that are decorated as "sensitive" in the API will not
 16783  // be included in the string output. The member name will be present, but the
 16784  // value will be replaced with "sensitive".
 16785  func (s AddOnRequest) GoString() string {
 16786  	return s.String()
 16787  }
 16788  
 16789  // Validate inspects the fields of the type to determine if they are valid.
 16790  func (s *AddOnRequest) Validate() error {
 16791  	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
 16792  	if s.AddOnType == nil {
 16793  		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
 16794  	}
 16795  
 16796  	if invalidParams.Len() > 0 {
 16797  		return invalidParams
 16798  	}
 16799  	return nil
 16800  }
 16801  
 16802  // SetAddOnType sets the AddOnType field's value.
 16803  func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
 16804  	s.AddOnType = &v
 16805  	return s
 16806  }
 16807  
 16808  // SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
 16809  func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
 16810  	s.AutoSnapshotAddOnRequest = v
 16811  	return s
 16812  }
 16813  
 16814  // Describes an alarm.
 16815  //
 16816  // An alarm is a way to monitor your Lightsail resource metrics. For more information,
 16817  // see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
 16818  type Alarm struct {
 16819  	_ struct{} `type:"structure"`
 16820  
 16821  	// The Amazon Resource Name (ARN) of the alarm.
 16822  	Arn *string `locationName:"arn" type:"string"`
 16823  
 16824  	// The arithmetic operation used when comparing the specified statistic and
 16825  	// threshold.
 16826  	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"`
 16827  
 16828  	// The contact protocols for the alarm, such as Email, SMS (text messaging),
 16829  	// or both.
 16830  	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
 16831  
 16832  	// The timestamp when the alarm was created.
 16833  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 16834  
 16835  	// The number of data points that must not within the specified threshold to
 16836  	// trigger the alarm.
 16837  	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
 16838  
 16839  	// The number of periods over which data is compared to the specified threshold.
 16840  	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"`
 16841  
 16842  	// An object that lists information about the location of the alarm.
 16843  	Location *ResourceLocation `locationName:"location" type:"structure"`
 16844  
 16845  	// The name of the metric associated with the alarm.
 16846  	MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"`
 16847  
 16848  	// An object that lists information about the resource monitored by the alarm.
 16849  	MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"`
 16850  
 16851  	// The name of the alarm.
 16852  	Name *string `locationName:"name" type:"string"`
 16853  
 16854  	// Indicates whether the alarm is enabled.
 16855  	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
 16856  
 16857  	// The alarm states that trigger a notification.
 16858  	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
 16859  
 16860  	// The period, in seconds, over which the statistic is applied.
 16861  	Period *int64 `locationName:"period" min:"60" type:"integer"`
 16862  
 16863  	// The Lightsail resource type (e.g., Alarm).
 16864  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 16865  
 16866  	// The current state of the alarm.
 16867  	//
 16868  	// An alarm has the following possible states:
 16869  	//
 16870  	//    * ALARM - The metric is outside of the defined threshold.
 16871  	//
 16872  	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
 16873  	//    or not enough data is available for the metric to determine the alarm
 16874  	//    state.
 16875  	//
 16876  	//    * OK - The metric is within the defined threshold.
 16877  	State *string `locationName:"state" type:"string" enum:"AlarmState"`
 16878  
 16879  	// The statistic for the metric associated with the alarm.
 16880  	//
 16881  	// The following statistics are available:
 16882  	//
 16883  	//    * Minimum - The lowest value observed during the specified period. Use
 16884  	//    this value to determine low volumes of activity for your application.
 16885  	//
 16886  	//    * Maximum - The highest value observed during the specified period. Use
 16887  	//    this value to determine high volumes of activity for your application.
 16888  	//
 16889  	//    * Sum - All values submitted for the matching metric added together. You
 16890  	//    can use this statistic to determine the total volume of a metric.
 16891  	//
 16892  	//    * Average - The value of Sum / SampleCount during the specified period.
 16893  	//    By comparing this statistic with the Minimum and Maximum values, you can
 16894  	//    determine the full scope of a metric and how close the average use is
 16895  	//    to the Minimum and Maximum values. This comparison helps you to know when
 16896  	//    to increase or decrease your resources.
 16897  	//
 16898  	//    * SampleCount - The count, or number, of data points used for the statistical
 16899  	//    calculation.
 16900  	Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
 16901  
 16902  	// The support code. Include this code in your email to support when you have
 16903  	// questions about your Lightsail alarm. This code enables our support team
 16904  	// to look up your Lightsail information more easily.
 16905  	SupportCode *string `locationName:"supportCode" type:"string"`
 16906  
 16907  	// The value against which the specified statistic is compared.
 16908  	Threshold *float64 `locationName:"threshold" type:"double"`
 16909  
 16910  	// Specifies how the alarm handles missing data points.
 16911  	//
 16912  	// An alarm can treat missing data in the following ways:
 16913  	//
 16914  	//    * breaching - Assume the missing data is not within the threshold. Missing
 16915  	//    data counts towards the number of times the metric is not within the threshold.
 16916  	//
 16917  	//    * notBreaching - Assume the missing data is within the threshold. Missing
 16918  	//    data does not count towards the number of times the metric is not within
 16919  	//    the threshold.
 16920  	//
 16921  	//    * ignore - Ignore the missing data. Maintains the current alarm state.
 16922  	//
 16923  	//    * missing - Missing data is treated as missing.
 16924  	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
 16925  
 16926  	// The unit of the metric associated with the alarm.
 16927  	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
 16928  }
 16929  
 16930  // String returns the string representation.
 16931  //
 16932  // API parameter values that are decorated as "sensitive" in the API will not
 16933  // be included in the string output. The member name will be present, but the
 16934  // value will be replaced with "sensitive".
 16935  func (s Alarm) String() string {
 16936  	return awsutil.Prettify(s)
 16937  }
 16938  
 16939  // GoString returns the string representation.
 16940  //
 16941  // API parameter values that are decorated as "sensitive" in the API will not
 16942  // be included in the string output. The member name will be present, but the
 16943  // value will be replaced with "sensitive".
 16944  func (s Alarm) GoString() string {
 16945  	return s.String()
 16946  }
 16947  
 16948  // SetArn sets the Arn field's value.
 16949  func (s *Alarm) SetArn(v string) *Alarm {
 16950  	s.Arn = &v
 16951  	return s
 16952  }
 16953  
 16954  // SetComparisonOperator sets the ComparisonOperator field's value.
 16955  func (s *Alarm) SetComparisonOperator(v string) *Alarm {
 16956  	s.ComparisonOperator = &v
 16957  	return s
 16958  }
 16959  
 16960  // SetContactProtocols sets the ContactProtocols field's value.
 16961  func (s *Alarm) SetContactProtocols(v []*string) *Alarm {
 16962  	s.ContactProtocols = v
 16963  	return s
 16964  }
 16965  
 16966  // SetCreatedAt sets the CreatedAt field's value.
 16967  func (s *Alarm) SetCreatedAt(v time.Time) *Alarm {
 16968  	s.CreatedAt = &v
 16969  	return s
 16970  }
 16971  
 16972  // SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
 16973  func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm {
 16974  	s.DatapointsToAlarm = &v
 16975  	return s
 16976  }
 16977  
 16978  // SetEvaluationPeriods sets the EvaluationPeriods field's value.
 16979  func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm {
 16980  	s.EvaluationPeriods = &v
 16981  	return s
 16982  }
 16983  
 16984  // SetLocation sets the Location field's value.
 16985  func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm {
 16986  	s.Location = v
 16987  	return s
 16988  }
 16989  
 16990  // SetMetricName sets the MetricName field's value.
 16991  func (s *Alarm) SetMetricName(v string) *Alarm {
 16992  	s.MetricName = &v
 16993  	return s
 16994  }
 16995  
 16996  // SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value.
 16997  func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm {
 16998  	s.MonitoredResourceInfo = v
 16999  	return s
 17000  }
 17001  
 17002  // SetName sets the Name field's value.
 17003  func (s *Alarm) SetName(v string) *Alarm {
 17004  	s.Name = &v
 17005  	return s
 17006  }
 17007  
 17008  // SetNotificationEnabled sets the NotificationEnabled field's value.
 17009  func (s *Alarm) SetNotificationEnabled(v bool) *Alarm {
 17010  	s.NotificationEnabled = &v
 17011  	return s
 17012  }
 17013  
 17014  // SetNotificationTriggers sets the NotificationTriggers field's value.
 17015  func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm {
 17016  	s.NotificationTriggers = v
 17017  	return s
 17018  }
 17019  
 17020  // SetPeriod sets the Period field's value.
 17021  func (s *Alarm) SetPeriod(v int64) *Alarm {
 17022  	s.Period = &v
 17023  	return s
 17024  }
 17025  
 17026  // SetResourceType sets the ResourceType field's value.
 17027  func (s *Alarm) SetResourceType(v string) *Alarm {
 17028  	s.ResourceType = &v
 17029  	return s
 17030  }
 17031  
 17032  // SetState sets the State field's value.
 17033  func (s *Alarm) SetState(v string) *Alarm {
 17034  	s.State = &v
 17035  	return s
 17036  }
 17037  
 17038  // SetStatistic sets the Statistic field's value.
 17039  func (s *Alarm) SetStatistic(v string) *Alarm {
 17040  	s.Statistic = &v
 17041  	return s
 17042  }
 17043  
 17044  // SetSupportCode sets the SupportCode field's value.
 17045  func (s *Alarm) SetSupportCode(v string) *Alarm {
 17046  	s.SupportCode = &v
 17047  	return s
 17048  }
 17049  
 17050  // SetThreshold sets the Threshold field's value.
 17051  func (s *Alarm) SetThreshold(v float64) *Alarm {
 17052  	s.Threshold = &v
 17053  	return s
 17054  }
 17055  
 17056  // SetTreatMissingData sets the TreatMissingData field's value.
 17057  func (s *Alarm) SetTreatMissingData(v string) *Alarm {
 17058  	s.TreatMissingData = &v
 17059  	return s
 17060  }
 17061  
 17062  // SetUnit sets the Unit field's value.
 17063  func (s *Alarm) SetUnit(v string) *Alarm {
 17064  	s.Unit = &v
 17065  	return s
 17066  }
 17067  
 17068  type AllocateStaticIpInput struct {
 17069  	_ struct{} `type:"structure"`
 17070  
 17071  	// The name of the static IP address.
 17072  	//
 17073  	// StaticIpName is a required field
 17074  	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
 17075  }
 17076  
 17077  // String returns the string representation.
 17078  //
 17079  // API parameter values that are decorated as "sensitive" in the API will not
 17080  // be included in the string output. The member name will be present, but the
 17081  // value will be replaced with "sensitive".
 17082  func (s AllocateStaticIpInput) String() string {
 17083  	return awsutil.Prettify(s)
 17084  }
 17085  
 17086  // GoString returns the string representation.
 17087  //
 17088  // API parameter values that are decorated as "sensitive" in the API will not
 17089  // be included in the string output. The member name will be present, but the
 17090  // value will be replaced with "sensitive".
 17091  func (s AllocateStaticIpInput) GoString() string {
 17092  	return s.String()
 17093  }
 17094  
 17095  // Validate inspects the fields of the type to determine if they are valid.
 17096  func (s *AllocateStaticIpInput) Validate() error {
 17097  	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
 17098  	if s.StaticIpName == nil {
 17099  		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
 17100  	}
 17101  
 17102  	if invalidParams.Len() > 0 {
 17103  		return invalidParams
 17104  	}
 17105  	return nil
 17106  }
 17107  
 17108  // SetStaticIpName sets the StaticIpName field's value.
 17109  func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
 17110  	s.StaticIpName = &v
 17111  	return s
 17112  }
 17113  
 17114  type AllocateStaticIpOutput struct {
 17115  	_ struct{} `type:"structure"`
 17116  
 17117  	// An array of objects that describe the result of the action, such as the status
 17118  	// of the request, the timestamp of the request, and the resources affected
 17119  	// by the request.
 17120  	Operations []*Operation `locationName:"operations" type:"list"`
 17121  }
 17122  
 17123  // String returns the string representation.
 17124  //
 17125  // API parameter values that are decorated as "sensitive" in the API will not
 17126  // be included in the string output. The member name will be present, but the
 17127  // value will be replaced with "sensitive".
 17128  func (s AllocateStaticIpOutput) String() string {
 17129  	return awsutil.Prettify(s)
 17130  }
 17131  
 17132  // GoString returns the string representation.
 17133  //
 17134  // API parameter values that are decorated as "sensitive" in the API will not
 17135  // be included in the string output. The member name will be present, but the
 17136  // value will be replaced with "sensitive".
 17137  func (s AllocateStaticIpOutput) GoString() string {
 17138  	return s.String()
 17139  }
 17140  
 17141  // SetOperations sets the Operations field's value.
 17142  func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
 17143  	s.Operations = v
 17144  	return s
 17145  }
 17146  
 17147  type AttachCertificateToDistributionInput struct {
 17148  	_ struct{} `type:"structure"`
 17149  
 17150  	// The name of the certificate to attach to a distribution.
 17151  	//
 17152  	// Only certificates with a status of ISSUED can be attached to a distribution.
 17153  	//
 17154  	// Use the GetCertificates action to get a list of certificate names that you
 17155  	// can specify.
 17156  	//
 17157  	// This is the name of the certificate resource type and is used only to reference
 17158  	// the certificate in other API actions. It can be different than the domain
 17159  	// name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate
 17160  	// and the domain name of the certificate might be example.com.
 17161  	//
 17162  	// CertificateName is a required field
 17163  	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
 17164  
 17165  	// The name of the distribution that the certificate will be attached to.
 17166  	//
 17167  	// Use the GetDistributions action to get a list of distribution names that
 17168  	// you can specify.
 17169  	//
 17170  	// DistributionName is a required field
 17171  	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
 17172  }
 17173  
 17174  // String returns the string representation.
 17175  //
 17176  // API parameter values that are decorated as "sensitive" in the API will not
 17177  // be included in the string output. The member name will be present, but the
 17178  // value will be replaced with "sensitive".
 17179  func (s AttachCertificateToDistributionInput) String() string {
 17180  	return awsutil.Prettify(s)
 17181  }
 17182  
 17183  // GoString returns the string representation.
 17184  //
 17185  // API parameter values that are decorated as "sensitive" in the API will not
 17186  // be included in the string output. The member name will be present, but the
 17187  // value will be replaced with "sensitive".
 17188  func (s AttachCertificateToDistributionInput) GoString() string {
 17189  	return s.String()
 17190  }
 17191  
 17192  // Validate inspects the fields of the type to determine if they are valid.
 17193  func (s *AttachCertificateToDistributionInput) Validate() error {
 17194  	invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"}
 17195  	if s.CertificateName == nil {
 17196  		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
 17197  	}
 17198  	if s.DistributionName == nil {
 17199  		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
 17200  	}
 17201  
 17202  	if invalidParams.Len() > 0 {
 17203  		return invalidParams
 17204  	}
 17205  	return nil
 17206  }
 17207  
 17208  // SetCertificateName sets the CertificateName field's value.
 17209  func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput {
 17210  	s.CertificateName = &v
 17211  	return s
 17212  }
 17213  
 17214  // SetDistributionName sets the DistributionName field's value.
 17215  func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput {
 17216  	s.DistributionName = &v
 17217  	return s
 17218  }
 17219  
 17220  type AttachCertificateToDistributionOutput struct {
 17221  	_ struct{} `type:"structure"`
 17222  
 17223  	// An object that describes the result of the action, such as the status of
 17224  	// the request, the timestamp of the request, and the resources affected by
 17225  	// the request.
 17226  	Operation *Operation `locationName:"operation" type:"structure"`
 17227  }
 17228  
 17229  // String returns the string representation.
 17230  //
 17231  // API parameter values that are decorated as "sensitive" in the API will not
 17232  // be included in the string output. The member name will be present, but the
 17233  // value will be replaced with "sensitive".
 17234  func (s AttachCertificateToDistributionOutput) String() string {
 17235  	return awsutil.Prettify(s)
 17236  }
 17237  
 17238  // GoString returns the string representation.
 17239  //
 17240  // API parameter values that are decorated as "sensitive" in the API will not
 17241  // be included in the string output. The member name will be present, but the
 17242  // value will be replaced with "sensitive".
 17243  func (s AttachCertificateToDistributionOutput) GoString() string {
 17244  	return s.String()
 17245  }
 17246  
 17247  // SetOperation sets the Operation field's value.
 17248  func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput {
 17249  	s.Operation = v
 17250  	return s
 17251  }
 17252  
 17253  type AttachDiskInput struct {
 17254  	_ struct{} `type:"structure"`
 17255  
 17256  	// The unique Lightsail disk name (e.g., my-disk).
 17257  	//
 17258  	// DiskName is a required field
 17259  	DiskName *string `locationName:"diskName" type:"string" required:"true"`
 17260  
 17261  	// The disk path to expose to the instance (e.g., /dev/xvdf).
 17262  	//
 17263  	// DiskPath is a required field
 17264  	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
 17265  
 17266  	// The name of the Lightsail instance where you want to utilize the storage
 17267  	// disk.
 17268  	//
 17269  	// InstanceName is a required field
 17270  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 17271  }
 17272  
 17273  // String returns the string representation.
 17274  //
 17275  // API parameter values that are decorated as "sensitive" in the API will not
 17276  // be included in the string output. The member name will be present, but the
 17277  // value will be replaced with "sensitive".
 17278  func (s AttachDiskInput) String() string {
 17279  	return awsutil.Prettify(s)
 17280  }
 17281  
 17282  // GoString returns the string representation.
 17283  //
 17284  // API parameter values that are decorated as "sensitive" in the API will not
 17285  // be included in the string output. The member name will be present, but the
 17286  // value will be replaced with "sensitive".
 17287  func (s AttachDiskInput) GoString() string {
 17288  	return s.String()
 17289  }
 17290  
 17291  // Validate inspects the fields of the type to determine if they are valid.
 17292  func (s *AttachDiskInput) Validate() error {
 17293  	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
 17294  	if s.DiskName == nil {
 17295  		invalidParams.Add(request.NewErrParamRequired("DiskName"))
 17296  	}
 17297  	if s.DiskPath == nil {
 17298  		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
 17299  	}
 17300  	if s.InstanceName == nil {
 17301  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 17302  	}
 17303  
 17304  	if invalidParams.Len() > 0 {
 17305  		return invalidParams
 17306  	}
 17307  	return nil
 17308  }
 17309  
 17310  // SetDiskName sets the DiskName field's value.
 17311  func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
 17312  	s.DiskName = &v
 17313  	return s
 17314  }
 17315  
 17316  // SetDiskPath sets the DiskPath field's value.
 17317  func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
 17318  	s.DiskPath = &v
 17319  	return s
 17320  }
 17321  
 17322  // SetInstanceName sets the InstanceName field's value.
 17323  func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
 17324  	s.InstanceName = &v
 17325  	return s
 17326  }
 17327  
 17328  type AttachDiskOutput 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 timestamp 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.
 17338  //
 17339  // API parameter values that are decorated as "sensitive" in the API will not
 17340  // be included in the string output. The member name will be present, but the
 17341  // value will be replaced with "sensitive".
 17342  func (s AttachDiskOutput) String() string {
 17343  	return awsutil.Prettify(s)
 17344  }
 17345  
 17346  // GoString returns the string representation.
 17347  //
 17348  // API parameter values that are decorated as "sensitive" in the API will not
 17349  // be included in the string output. The member name will be present, but the
 17350  // value will be replaced with "sensitive".
 17351  func (s AttachDiskOutput) GoString() string {
 17352  	return s.String()
 17353  }
 17354  
 17355  // SetOperations sets the Operations field's value.
 17356  func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
 17357  	s.Operations = v
 17358  	return s
 17359  }
 17360  
 17361  type AttachInstancesToLoadBalancerInput struct {
 17362  	_ struct{} `type:"structure"`
 17363  
 17364  	// An array of strings representing the instance name(s) you want to attach
 17365  	// to your load balancer.
 17366  	//
 17367  	// An instance must be running before you can attach it to your load balancer.
 17368  	//
 17369  	// There are no additional limits on the number of instances you can attach
 17370  	// to your load balancer, aside from the limit of Lightsail instances you can
 17371  	// create in your account (20).
 17372  	//
 17373  	// InstanceNames is a required field
 17374  	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
 17375  
 17376  	// The name of the load balancer.
 17377  	//
 17378  	// LoadBalancerName is a required field
 17379  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 17380  }
 17381  
 17382  // String returns the string representation.
 17383  //
 17384  // API parameter values that are decorated as "sensitive" in the API will not
 17385  // be included in the string output. The member name will be present, but the
 17386  // value will be replaced with "sensitive".
 17387  func (s AttachInstancesToLoadBalancerInput) String() string {
 17388  	return awsutil.Prettify(s)
 17389  }
 17390  
 17391  // GoString returns the string representation.
 17392  //
 17393  // API parameter values that are decorated as "sensitive" in the API will not
 17394  // be included in the string output. The member name will be present, but the
 17395  // value will be replaced with "sensitive".
 17396  func (s AttachInstancesToLoadBalancerInput) GoString() string {
 17397  	return s.String()
 17398  }
 17399  
 17400  // Validate inspects the fields of the type to determine if they are valid.
 17401  func (s *AttachInstancesToLoadBalancerInput) Validate() error {
 17402  	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
 17403  	if s.InstanceNames == nil {
 17404  		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
 17405  	}
 17406  	if s.LoadBalancerName == nil {
 17407  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 17408  	}
 17409  
 17410  	if invalidParams.Len() > 0 {
 17411  		return invalidParams
 17412  	}
 17413  	return nil
 17414  }
 17415  
 17416  // SetInstanceNames sets the InstanceNames field's value.
 17417  func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
 17418  	s.InstanceNames = v
 17419  	return s
 17420  }
 17421  
 17422  // SetLoadBalancerName sets the LoadBalancerName field's value.
 17423  func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
 17424  	s.LoadBalancerName = &v
 17425  	return s
 17426  }
 17427  
 17428  type AttachInstancesToLoadBalancerOutput struct {
 17429  	_ struct{} `type:"structure"`
 17430  
 17431  	// An array of objects that describe the result of the action, such as the status
 17432  	// of the request, the timestamp of the request, and the resources affected
 17433  	// by the request.
 17434  	Operations []*Operation `locationName:"operations" type:"list"`
 17435  }
 17436  
 17437  // String returns the string representation.
 17438  //
 17439  // API parameter values that are decorated as "sensitive" in the API will not
 17440  // be included in the string output. The member name will be present, but the
 17441  // value will be replaced with "sensitive".
 17442  func (s AttachInstancesToLoadBalancerOutput) String() string {
 17443  	return awsutil.Prettify(s)
 17444  }
 17445  
 17446  // GoString returns the string representation.
 17447  //
 17448  // API parameter values that are decorated as "sensitive" in the API will not
 17449  // be included in the string output. The member name will be present, but the
 17450  // value will be replaced with "sensitive".
 17451  func (s AttachInstancesToLoadBalancerOutput) GoString() string {
 17452  	return s.String()
 17453  }
 17454  
 17455  // SetOperations sets the Operations field's value.
 17456  func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
 17457  	s.Operations = v
 17458  	return s
 17459  }
 17460  
 17461  type AttachLoadBalancerTlsCertificateInput struct {
 17462  	_ struct{} `type:"structure"`
 17463  
 17464  	// The name of your SSL/TLS certificate.
 17465  	//
 17466  	// CertificateName is a required field
 17467  	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
 17468  
 17469  	// The name of the load balancer to which you want to associate the SSL/TLS
 17470  	// certificate.
 17471  	//
 17472  	// LoadBalancerName is a required field
 17473  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 17474  }
 17475  
 17476  // String returns the string representation.
 17477  //
 17478  // API parameter values that are decorated as "sensitive" in the API will not
 17479  // be included in the string output. The member name will be present, but the
 17480  // value will be replaced with "sensitive".
 17481  func (s AttachLoadBalancerTlsCertificateInput) String() string {
 17482  	return awsutil.Prettify(s)
 17483  }
 17484  
 17485  // GoString returns the string representation.
 17486  //
 17487  // API parameter values that are decorated as "sensitive" in the API will not
 17488  // be included in the string output. The member name will be present, but the
 17489  // value will be replaced with "sensitive".
 17490  func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
 17491  	return s.String()
 17492  }
 17493  
 17494  // Validate inspects the fields of the type to determine if they are valid.
 17495  func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
 17496  	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
 17497  	if s.CertificateName == nil {
 17498  		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
 17499  	}
 17500  	if s.LoadBalancerName == nil {
 17501  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 17502  	}
 17503  
 17504  	if invalidParams.Len() > 0 {
 17505  		return invalidParams
 17506  	}
 17507  	return nil
 17508  }
 17509  
 17510  // SetCertificateName sets the CertificateName field's value.
 17511  func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
 17512  	s.CertificateName = &v
 17513  	return s
 17514  }
 17515  
 17516  // SetLoadBalancerName sets the LoadBalancerName field's value.
 17517  func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
 17518  	s.LoadBalancerName = &v
 17519  	return s
 17520  }
 17521  
 17522  type AttachLoadBalancerTlsCertificateOutput struct {
 17523  	_ struct{} `type:"structure"`
 17524  
 17525  	// An array of objects that describe the result of the action, such as the status
 17526  	// of the request, the timestamp of the request, and the resources affected
 17527  	// by the request.
 17528  	//
 17529  	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
 17530  	// can't get the certificate and use it for another purpose.
 17531  	Operations []*Operation `locationName:"operations" type:"list"`
 17532  }
 17533  
 17534  // String returns the string representation.
 17535  //
 17536  // API parameter values that are decorated as "sensitive" in the API will not
 17537  // be included in the string output. The member name will be present, but the
 17538  // value will be replaced with "sensitive".
 17539  func (s AttachLoadBalancerTlsCertificateOutput) String() string {
 17540  	return awsutil.Prettify(s)
 17541  }
 17542  
 17543  // GoString returns the string representation.
 17544  //
 17545  // API parameter values that are decorated as "sensitive" in the API will not
 17546  // be included in the string output. The member name will be present, but the
 17547  // value will be replaced with "sensitive".
 17548  func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
 17549  	return s.String()
 17550  }
 17551  
 17552  // SetOperations sets the Operations field's value.
 17553  func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
 17554  	s.Operations = v
 17555  	return s
 17556  }
 17557  
 17558  type AttachStaticIpInput struct {
 17559  	_ struct{} `type:"structure"`
 17560  
 17561  	// The instance name to which you want to attach the static IP address.
 17562  	//
 17563  	// InstanceName is a required field
 17564  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 17565  
 17566  	// The name of the static IP.
 17567  	//
 17568  	// StaticIpName is a required field
 17569  	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
 17570  }
 17571  
 17572  // String returns the string representation.
 17573  //
 17574  // API parameter values that are decorated as "sensitive" in the API will not
 17575  // be included in the string output. The member name will be present, but the
 17576  // value will be replaced with "sensitive".
 17577  func (s AttachStaticIpInput) String() string {
 17578  	return awsutil.Prettify(s)
 17579  }
 17580  
 17581  // GoString returns the string representation.
 17582  //
 17583  // API parameter values that are decorated as "sensitive" in the API will not
 17584  // be included in the string output. The member name will be present, but the
 17585  // value will be replaced with "sensitive".
 17586  func (s AttachStaticIpInput) GoString() string {
 17587  	return s.String()
 17588  }
 17589  
 17590  // Validate inspects the fields of the type to determine if they are valid.
 17591  func (s *AttachStaticIpInput) Validate() error {
 17592  	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
 17593  	if s.InstanceName == nil {
 17594  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 17595  	}
 17596  	if s.StaticIpName == nil {
 17597  		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
 17598  	}
 17599  
 17600  	if invalidParams.Len() > 0 {
 17601  		return invalidParams
 17602  	}
 17603  	return nil
 17604  }
 17605  
 17606  // SetInstanceName sets the InstanceName field's value.
 17607  func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
 17608  	s.InstanceName = &v
 17609  	return s
 17610  }
 17611  
 17612  // SetStaticIpName sets the StaticIpName field's value.
 17613  func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
 17614  	s.StaticIpName = &v
 17615  	return s
 17616  }
 17617  
 17618  type AttachStaticIpOutput struct {
 17619  	_ struct{} `type:"structure"`
 17620  
 17621  	// An array of objects that describe the result of the action, such as the status
 17622  	// of the request, the timestamp of the request, and the resources affected
 17623  	// by the request.
 17624  	Operations []*Operation `locationName:"operations" type:"list"`
 17625  }
 17626  
 17627  // String returns the string representation.
 17628  //
 17629  // API parameter values that are decorated as "sensitive" in the API will not
 17630  // be included in the string output. The member name will be present, but the
 17631  // value will be replaced with "sensitive".
 17632  func (s AttachStaticIpOutput) String() string {
 17633  	return awsutil.Prettify(s)
 17634  }
 17635  
 17636  // GoString returns the string representation.
 17637  //
 17638  // API parameter values that are decorated as "sensitive" in the API will not
 17639  // be included in the string output. The member name will be present, but the
 17640  // value will be replaced with "sensitive".
 17641  func (s AttachStaticIpOutput) GoString() string {
 17642  	return s.String()
 17643  }
 17644  
 17645  // SetOperations sets the Operations field's value.
 17646  func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
 17647  	s.Operations = v
 17648  	return s
 17649  }
 17650  
 17651  // Describes a block storage disk that is attached to an instance, and is included
 17652  // in an automatic snapshot.
 17653  type AttachedDisk struct {
 17654  	_ struct{} `type:"structure"`
 17655  
 17656  	// The path of the disk (e.g., /dev/xvdf).
 17657  	Path *string `locationName:"path" type:"string"`
 17658  
 17659  	// The size of the disk in GB.
 17660  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 17661  }
 17662  
 17663  // String returns the string representation.
 17664  //
 17665  // API parameter values that are decorated as "sensitive" in the API will not
 17666  // be included in the string output. The member name will be present, but the
 17667  // value will be replaced with "sensitive".
 17668  func (s AttachedDisk) String() string {
 17669  	return awsutil.Prettify(s)
 17670  }
 17671  
 17672  // GoString returns the string representation.
 17673  //
 17674  // API parameter values that are decorated as "sensitive" in the API will not
 17675  // be included in the string output. The member name will be present, but the
 17676  // value will be replaced with "sensitive".
 17677  func (s AttachedDisk) GoString() string {
 17678  	return s.String()
 17679  }
 17680  
 17681  // SetPath sets the Path field's value.
 17682  func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
 17683  	s.Path = &v
 17684  	return s
 17685  }
 17686  
 17687  // SetSizeInGb sets the SizeInGb field's value.
 17688  func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
 17689  	s.SizeInGb = &v
 17690  	return s
 17691  }
 17692  
 17693  // Describes a request to enable or modify the automatic snapshot add-on for
 17694  // an Amazon Lightsail instance or disk.
 17695  //
 17696  // When you modify the automatic snapshot time for a resource, it is typically
 17697  // effective immediately except under the following conditions:
 17698  //
 17699  //    * If an automatic snapshot has been created for the current day, and you
 17700  //    change the snapshot time to a later time of day, then the new snapshot
 17701  //    time will be effective the following day. This ensures that two snapshots
 17702  //    are not created for the current day.
 17703  //
 17704  //    * If an automatic snapshot has not yet been created for the current day,
 17705  //    and you change the snapshot time to an earlier time of day, then the new
 17706  //    snapshot time will be effective the following day and a snapshot is automatically
 17707  //    created at the previously set time for the current day. This ensures that
 17708  //    a snapshot is created for the current day.
 17709  //
 17710  //    * If an automatic snapshot has not yet been created for the current day,
 17711  //    and you change the snapshot time to a time that is within 30 minutes from
 17712  //    your current time, then the new snapshot time will be effective the following
 17713  //    day and a snapshot is automatically created at the previously set time
 17714  //    for the current day. This ensures that a snapshot is created for the current
 17715  //    day, because 30 minutes is required between your current time and the
 17716  //    new snapshot time that you specify.
 17717  //
 17718  //    * If an automatic snapshot is scheduled to be created within 30 minutes
 17719  //    from your current time and you change the snapshot time, then the new
 17720  //    snapshot time will be effective the following day and a snapshot is automatically
 17721  //    created at the previously set time for the current day. This ensures that
 17722  //    a snapshot is created for the current day, because 30 minutes is required
 17723  //    between your current time and the new snapshot time that you specify.
 17724  type AutoSnapshotAddOnRequest struct {
 17725  	_ struct{} `type:"structure"`
 17726  
 17727  	// The daily time when an automatic snapshot will be created.
 17728  	//
 17729  	// Constraints:
 17730  	//
 17731  	//    * Must be in HH:00 format, and in an hourly increment.
 17732  	//
 17733  	//    * Specified in Coordinated Universal Time (UTC).
 17734  	//
 17735  	//    * The snapshot will be automatically created between the time specified
 17736  	//    and up to 45 minutes after.
 17737  	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
 17738  }
 17739  
 17740  // String returns the string representation.
 17741  //
 17742  // API parameter values that are decorated as "sensitive" in the API will not
 17743  // be included in the string output. The member name will be present, but the
 17744  // value will be replaced with "sensitive".
 17745  func (s AutoSnapshotAddOnRequest) String() string {
 17746  	return awsutil.Prettify(s)
 17747  }
 17748  
 17749  // GoString returns the string representation.
 17750  //
 17751  // API parameter values that are decorated as "sensitive" in the API will not
 17752  // be included in the string output. The member name will be present, but the
 17753  // value will be replaced with "sensitive".
 17754  func (s AutoSnapshotAddOnRequest) GoString() string {
 17755  	return s.String()
 17756  }
 17757  
 17758  // SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
 17759  func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
 17760  	s.SnapshotTimeOfDay = &v
 17761  	return s
 17762  }
 17763  
 17764  // Describes an automatic snapshot.
 17765  type AutoSnapshotDetails struct {
 17766  	_ struct{} `type:"structure"`
 17767  
 17768  	// The timestamp when the automatic snapshot was created.
 17769  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 17770  
 17771  	// The date of the automatic snapshot in YYYY-MM-DD format.
 17772  	Date *string `locationName:"date" type:"string"`
 17773  
 17774  	// An array of objects that describe the block storage disks attached to the
 17775  	// instance when the automatic snapshot was created.
 17776  	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
 17777  
 17778  	// The status of the automatic snapshot.
 17779  	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
 17780  }
 17781  
 17782  // String returns the string representation.
 17783  //
 17784  // API parameter values that are decorated as "sensitive" in the API will not
 17785  // be included in the string output. The member name will be present, but the
 17786  // value will be replaced with "sensitive".
 17787  func (s AutoSnapshotDetails) String() string {
 17788  	return awsutil.Prettify(s)
 17789  }
 17790  
 17791  // GoString returns the string representation.
 17792  //
 17793  // API parameter values that are decorated as "sensitive" in the API will not
 17794  // be included in the string output. The member name will be present, but the
 17795  // value will be replaced with "sensitive".
 17796  func (s AutoSnapshotDetails) GoString() string {
 17797  	return s.String()
 17798  }
 17799  
 17800  // SetCreatedAt sets the CreatedAt field's value.
 17801  func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
 17802  	s.CreatedAt = &v
 17803  	return s
 17804  }
 17805  
 17806  // SetDate sets the Date field's value.
 17807  func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
 17808  	s.Date = &v
 17809  	return s
 17810  }
 17811  
 17812  // SetFromAttachedDisks sets the FromAttachedDisks field's value.
 17813  func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
 17814  	s.FromAttachedDisks = v
 17815  	return s
 17816  }
 17817  
 17818  // SetStatus sets the Status field's value.
 17819  func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
 17820  	s.Status = &v
 17821  	return s
 17822  }
 17823  
 17824  // Describes an Availability Zone.
 17825  type AvailabilityZone struct {
 17826  	_ struct{} `type:"structure"`
 17827  
 17828  	// The state of the Availability Zone.
 17829  	State *string `locationName:"state" type:"string"`
 17830  
 17831  	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
 17832  	ZoneName *string `locationName:"zoneName" type:"string"`
 17833  }
 17834  
 17835  // String returns the string representation.
 17836  //
 17837  // API parameter values that are decorated as "sensitive" in the API will not
 17838  // be included in the string output. The member name will be present, but the
 17839  // value will be replaced with "sensitive".
 17840  func (s AvailabilityZone) String() string {
 17841  	return awsutil.Prettify(s)
 17842  }
 17843  
 17844  // GoString returns the string representation.
 17845  //
 17846  // API parameter values that are decorated as "sensitive" in the API will not
 17847  // be included in the string output. The member name will be present, but the
 17848  // value will be replaced with "sensitive".
 17849  func (s AvailabilityZone) GoString() string {
 17850  	return s.String()
 17851  }
 17852  
 17853  // SetState sets the State field's value.
 17854  func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
 17855  	s.State = &v
 17856  	return s
 17857  }
 17858  
 17859  // SetZoneName sets the ZoneName field's value.
 17860  func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
 17861  	s.ZoneName = &v
 17862  	return s
 17863  }
 17864  
 17865  // Describes a blueprint (a virtual private server image).
 17866  type Blueprint struct {
 17867  	_ struct{} `type:"structure"`
 17868  
 17869  	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
 17870  	BlueprintId *string `locationName:"blueprintId" type:"string"`
 17871  
 17872  	// The description of the blueprint.
 17873  	Description *string `locationName:"description" type:"string"`
 17874  
 17875  	// The group name of the blueprint (e.g., amazon-linux).
 17876  	Group *string `locationName:"group" type:"string"`
 17877  
 17878  	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
 17879  	// are listed to support customers with existing instances but are not necessarily
 17880  	// available for launch of new instances. Blueprints are marked inactive when
 17881  	// they become outdated due to operating system updates or new application releases.
 17882  	IsActive *bool `locationName:"isActive" type:"boolean"`
 17883  
 17884  	// The end-user license agreement URL for the image or blueprint.
 17885  	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
 17886  
 17887  	// The minimum bundle power required to run this blueprint. For example, you
 17888  	// need a bundle with a power value of 500 or more to create an instance that
 17889  	// uses a blueprint with a minimum power value of 500. 0 indicates that the
 17890  	// blueprint runs on all instance sizes.
 17891  	MinPower *int64 `locationName:"minPower" type:"integer"`
 17892  
 17893  	// The friendly name of the blueprint (e.g., Amazon Linux).
 17894  	Name *string `locationName:"name" type:"string"`
 17895  
 17896  	// The operating system platform (either Linux/Unix-based or Windows Server-based)
 17897  	// of the blueprint.
 17898  	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
 17899  
 17900  	// The product URL to learn more about the image or blueprint.
 17901  	ProductUrl *string `locationName:"productUrl" type:"string"`
 17902  
 17903  	// The type of the blueprint (e.g., os or app).
 17904  	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
 17905  
 17906  	// The version number of the operating system, application, or stack (e.g.,
 17907  	// 2016.03.0).
 17908  	Version *string `locationName:"version" type:"string"`
 17909  
 17910  	// The version code.
 17911  	VersionCode *string `locationName:"versionCode" type:"string"`
 17912  }
 17913  
 17914  // String returns the string representation.
 17915  //
 17916  // API parameter values that are decorated as "sensitive" in the API will not
 17917  // be included in the string output. The member name will be present, but the
 17918  // value will be replaced with "sensitive".
 17919  func (s Blueprint) String() string {
 17920  	return awsutil.Prettify(s)
 17921  }
 17922  
 17923  // GoString returns the string representation.
 17924  //
 17925  // API parameter values that are decorated as "sensitive" in the API will not
 17926  // be included in the string output. The member name will be present, but the
 17927  // value will be replaced with "sensitive".
 17928  func (s Blueprint) GoString() string {
 17929  	return s.String()
 17930  }
 17931  
 17932  // SetBlueprintId sets the BlueprintId field's value.
 17933  func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
 17934  	s.BlueprintId = &v
 17935  	return s
 17936  }
 17937  
 17938  // SetDescription sets the Description field's value.
 17939  func (s *Blueprint) SetDescription(v string) *Blueprint {
 17940  	s.Description = &v
 17941  	return s
 17942  }
 17943  
 17944  // SetGroup sets the Group field's value.
 17945  func (s *Blueprint) SetGroup(v string) *Blueprint {
 17946  	s.Group = &v
 17947  	return s
 17948  }
 17949  
 17950  // SetIsActive sets the IsActive field's value.
 17951  func (s *Blueprint) SetIsActive(v bool) *Blueprint {
 17952  	s.IsActive = &v
 17953  	return s
 17954  }
 17955  
 17956  // SetLicenseUrl sets the LicenseUrl field's value.
 17957  func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
 17958  	s.LicenseUrl = &v
 17959  	return s
 17960  }
 17961  
 17962  // SetMinPower sets the MinPower field's value.
 17963  func (s *Blueprint) SetMinPower(v int64) *Blueprint {
 17964  	s.MinPower = &v
 17965  	return s
 17966  }
 17967  
 17968  // SetName sets the Name field's value.
 17969  func (s *Blueprint) SetName(v string) *Blueprint {
 17970  	s.Name = &v
 17971  	return s
 17972  }
 17973  
 17974  // SetPlatform sets the Platform field's value.
 17975  func (s *Blueprint) SetPlatform(v string) *Blueprint {
 17976  	s.Platform = &v
 17977  	return s
 17978  }
 17979  
 17980  // SetProductUrl sets the ProductUrl field's value.
 17981  func (s *Blueprint) SetProductUrl(v string) *Blueprint {
 17982  	s.ProductUrl = &v
 17983  	return s
 17984  }
 17985  
 17986  // SetType sets the Type field's value.
 17987  func (s *Blueprint) SetType(v string) *Blueprint {
 17988  	s.Type = &v
 17989  	return s
 17990  }
 17991  
 17992  // SetVersion sets the Version field's value.
 17993  func (s *Blueprint) SetVersion(v string) *Blueprint {
 17994  	s.Version = &v
 17995  	return s
 17996  }
 17997  
 17998  // SetVersionCode sets the VersionCode field's value.
 17999  func (s *Blueprint) SetVersionCode(v string) *Blueprint {
 18000  	s.VersionCode = &v
 18001  	return s
 18002  }
 18003  
 18004  // Describes an Amazon Lightsail bucket.
 18005  type Bucket struct {
 18006  	_ struct{} `type:"structure"`
 18007  
 18008  	// Indicates whether the bundle that is currently applied to a bucket can be
 18009  	// changed to another bundle.
 18010  	//
 18011  	// You can update a bucket's bundle only one time within a monthly AWS billing
 18012  	// cycle.
 18013  	//
 18014  	// Use the UpdateBucketBundle action to change a bucket's bundle.
 18015  	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
 18016  
 18017  	// An object that describes the access rules of the bucket.
 18018  	AccessRules *AccessRules `locationName:"accessRules" type:"structure"`
 18019  
 18020  	// The Amazon Resource Name (ARN) of the bucket.
 18021  	Arn *string `locationName:"arn" type:"string"`
 18022  
 18023  	// The ID of the bundle currently applied to the bucket.
 18024  	//
 18025  	// A bucket bundle specifies the monthly cost, storage space, and data transfer
 18026  	// quota for a bucket.
 18027  	//
 18028  	// Use the UpdateBucketBundle action to change the bundle of a bucket.
 18029  	BundleId *string `locationName:"bundleId" type:"string"`
 18030  
 18031  	// The timestamp when the distribution was created.
 18032  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 18033  
 18034  	// Describes the resource location.
 18035  	Location *ResourceLocation `locationName:"location" type:"structure"`
 18036  
 18037  	// The name of the bucket.
 18038  	Name *string `locationName:"name" min:"3" type:"string"`
 18039  
 18040  	// Indicates whether object versioning is enabled for the bucket.
 18041  	//
 18042  	// The following options can be configured:
 18043  	//
 18044  	//    * Enabled - Object versioning is enabled.
 18045  	//
 18046  	//    * Suspended - Object versioning was previously enabled but is currently
 18047  	//    suspended. Existing object versions are retained.
 18048  	//
 18049  	//    * NeverEnabled - Object versioning has never been enabled.
 18050  	ObjectVersioning *string `locationName:"objectVersioning" type:"string"`
 18051  
 18052  	// An array of strings that specify the AWS account IDs that have read-only
 18053  	// access to the bucket.
 18054  	ReadonlyAccessAccounts []*string `locationName:"readonlyAccessAccounts" type:"list"`
 18055  
 18056  	// The Lightsail resource type of the bucket (for example, Bucket).
 18057  	ResourceType *string `locationName:"resourceType" type:"string"`
 18058  
 18059  	// An array of objects that describe Lightsail instances that have access to
 18060  	// the bucket.
 18061  	//
 18062  	// Use the SetResourceAccessForBucket action to update the instances that have
 18063  	// access to a bucket.
 18064  	ResourcesReceivingAccess []*ResourceReceivingAccess `locationName:"resourcesReceivingAccess" type:"list"`
 18065  
 18066  	// An object that describes the state of the bucket.
 18067  	State *BucketState `locationName:"state" type:"structure"`
 18068  
 18069  	// The support code for a bucket. Include this code in your email to support
 18070  	// when you have questions about a Lightsail bucket. This code enables our support
 18071  	// team to look up your Lightsail information more easily.
 18072  	SupportCode *string `locationName:"supportCode" type:"string"`
 18073  
 18074  	// The tag keys and optional values for the bucket. For more information, see
 18075  	// Tags in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags)
 18076  	// in the Amazon Lightsail Developer Guide.
 18077  	Tags []*Tag `locationName:"tags" type:"list"`
 18078  
 18079  	// The URL of the bucket.
 18080  	Url *string `locationName:"url" type:"string"`
 18081  }
 18082  
 18083  // String returns the string representation.
 18084  //
 18085  // API parameter values that are decorated as "sensitive" in the API will not
 18086  // be included in the string output. The member name will be present, but the
 18087  // value will be replaced with "sensitive".
 18088  func (s Bucket) String() string {
 18089  	return awsutil.Prettify(s)
 18090  }
 18091  
 18092  // GoString returns the string representation.
 18093  //
 18094  // API parameter values that are decorated as "sensitive" in the API will not
 18095  // be included in the string output. The member name will be present, but the
 18096  // value will be replaced with "sensitive".
 18097  func (s Bucket) GoString() string {
 18098  	return s.String()
 18099  }
 18100  
 18101  // SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
 18102  func (s *Bucket) SetAbleToUpdateBundle(v bool) *Bucket {
 18103  	s.AbleToUpdateBundle = &v
 18104  	return s
 18105  }
 18106  
 18107  // SetAccessRules sets the AccessRules field's value.
 18108  func (s *Bucket) SetAccessRules(v *AccessRules) *Bucket {
 18109  	s.AccessRules = v
 18110  	return s
 18111  }
 18112  
 18113  // SetArn sets the Arn field's value.
 18114  func (s *Bucket) SetArn(v string) *Bucket {
 18115  	s.Arn = &v
 18116  	return s
 18117  }
 18118  
 18119  // SetBundleId sets the BundleId field's value.
 18120  func (s *Bucket) SetBundleId(v string) *Bucket {
 18121  	s.BundleId = &v
 18122  	return s
 18123  }
 18124  
 18125  // SetCreatedAt sets the CreatedAt field's value.
 18126  func (s *Bucket) SetCreatedAt(v time.Time) *Bucket {
 18127  	s.CreatedAt = &v
 18128  	return s
 18129  }
 18130  
 18131  // SetLocation sets the Location field's value.
 18132  func (s *Bucket) SetLocation(v *ResourceLocation) *Bucket {
 18133  	s.Location = v
 18134  	return s
 18135  }
 18136  
 18137  // SetName sets the Name field's value.
 18138  func (s *Bucket) SetName(v string) *Bucket {
 18139  	s.Name = &v
 18140  	return s
 18141  }
 18142  
 18143  // SetObjectVersioning sets the ObjectVersioning field's value.
 18144  func (s *Bucket) SetObjectVersioning(v string) *Bucket {
 18145  	s.ObjectVersioning = &v
 18146  	return s
 18147  }
 18148  
 18149  // SetReadonlyAccessAccounts sets the ReadonlyAccessAccounts field's value.
 18150  func (s *Bucket) SetReadonlyAccessAccounts(v []*string) *Bucket {
 18151  	s.ReadonlyAccessAccounts = v
 18152  	return s
 18153  }
 18154  
 18155  // SetResourceType sets the ResourceType field's value.
 18156  func (s *Bucket) SetResourceType(v string) *Bucket {
 18157  	s.ResourceType = &v
 18158  	return s
 18159  }
 18160  
 18161  // SetResourcesReceivingAccess sets the ResourcesReceivingAccess field's value.
 18162  func (s *Bucket) SetResourcesReceivingAccess(v []*ResourceReceivingAccess) *Bucket {
 18163  	s.ResourcesReceivingAccess = v
 18164  	return s
 18165  }
 18166  
 18167  // SetState sets the State field's value.
 18168  func (s *Bucket) SetState(v *BucketState) *Bucket {
 18169  	s.State = v
 18170  	return s
 18171  }
 18172  
 18173  // SetSupportCode sets the SupportCode field's value.
 18174  func (s *Bucket) SetSupportCode(v string) *Bucket {
 18175  	s.SupportCode = &v
 18176  	return s
 18177  }
 18178  
 18179  // SetTags sets the Tags field's value.
 18180  func (s *Bucket) SetTags(v []*Tag) *Bucket {
 18181  	s.Tags = v
 18182  	return s
 18183  }
 18184  
 18185  // SetUrl sets the Url field's value.
 18186  func (s *Bucket) SetUrl(v string) *Bucket {
 18187  	s.Url = &v
 18188  	return s
 18189  }
 18190  
 18191  // Describes the specifications of a bundle that can be applied to an Amazon
 18192  // Lightsail bucket.
 18193  //
 18194  // A bucket bundle specifies the monthly cost, storage space, and data transfer
 18195  // quota for a bucket.
 18196  type BucketBundle struct {
 18197  	_ struct{} `type:"structure"`
 18198  
 18199  	// The ID of the bundle.
 18200  	BundleId *string `locationName:"bundleId" type:"string"`
 18201  
 18202  	// Indicates whether the bundle is active. Use for a new or existing bucket.
 18203  	IsActive *bool `locationName:"isActive" type:"boolean"`
 18204  
 18205  	// The name of the bundle.
 18206  	Name *string `locationName:"name" type:"string"`
 18207  
 18208  	// The monthly price of the bundle, in US dollars.
 18209  	Price *float64 `locationName:"price" type:"float"`
 18210  
 18211  	// The storage size of the bundle, in GB.
 18212  	StoragePerMonthInGb *int64 `locationName:"storagePerMonthInGb" type:"integer"`
 18213  
 18214  	// The monthly network transfer quota of the bundle.
 18215  	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
 18216  }
 18217  
 18218  // String returns the string representation.
 18219  //
 18220  // API parameter values that are decorated as "sensitive" in the API will not
 18221  // be included in the string output. The member name will be present, but the
 18222  // value will be replaced with "sensitive".
 18223  func (s BucketBundle) String() string {
 18224  	return awsutil.Prettify(s)
 18225  }
 18226  
 18227  // GoString returns the string representation.
 18228  //
 18229  // API parameter values that are decorated as "sensitive" in the API will not
 18230  // be included in the string output. The member name will be present, but the
 18231  // value will be replaced with "sensitive".
 18232  func (s BucketBundle) GoString() string {
 18233  	return s.String()
 18234  }
 18235  
 18236  // SetBundleId sets the BundleId field's value.
 18237  func (s *BucketBundle) SetBundleId(v string) *BucketBundle {
 18238  	s.BundleId = &v
 18239  	return s
 18240  }
 18241  
 18242  // SetIsActive sets the IsActive field's value.
 18243  func (s *BucketBundle) SetIsActive(v bool) *BucketBundle {
 18244  	s.IsActive = &v
 18245  	return s
 18246  }
 18247  
 18248  // SetName sets the Name field's value.
 18249  func (s *BucketBundle) SetName(v string) *BucketBundle {
 18250  	s.Name = &v
 18251  	return s
 18252  }
 18253  
 18254  // SetPrice sets the Price field's value.
 18255  func (s *BucketBundle) SetPrice(v float64) *BucketBundle {
 18256  	s.Price = &v
 18257  	return s
 18258  }
 18259  
 18260  // SetStoragePerMonthInGb sets the StoragePerMonthInGb field's value.
 18261  func (s *BucketBundle) SetStoragePerMonthInGb(v int64) *BucketBundle {
 18262  	s.StoragePerMonthInGb = &v
 18263  	return s
 18264  }
 18265  
 18266  // SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
 18267  func (s *BucketBundle) SetTransferPerMonthInGb(v int64) *BucketBundle {
 18268  	s.TransferPerMonthInGb = &v
 18269  	return s
 18270  }
 18271  
 18272  // Describes the state of an Amazon Lightsail bucket.
 18273  type BucketState struct {
 18274  	_ struct{} `type:"structure"`
 18275  
 18276  	// The state code of the bucket.
 18277  	//
 18278  	// The following codes are possible:
 18279  	//
 18280  	//    * OK - The bucket is in a running state.
 18281  	//
 18282  	//    * Unknown - Creation of the bucket might have timed-out. You might want
 18283  	//    to delete the bucket and create a new one.
 18284  	Code *string `locationName:"code" type:"string"`
 18285  
 18286  	// A message that describes the state of the bucket.
 18287  	Message *string `locationName:"message" type:"string"`
 18288  }
 18289  
 18290  // String returns the string representation.
 18291  //
 18292  // API parameter values that are decorated as "sensitive" in the API will not
 18293  // be included in the string output. The member name will be present, but the
 18294  // value will be replaced with "sensitive".
 18295  func (s BucketState) String() string {
 18296  	return awsutil.Prettify(s)
 18297  }
 18298  
 18299  // GoString returns the string representation.
 18300  //
 18301  // API parameter values that are decorated as "sensitive" in the API will not
 18302  // be included in the string output. The member name will be present, but the
 18303  // value will be replaced with "sensitive".
 18304  func (s BucketState) GoString() string {
 18305  	return s.String()
 18306  }
 18307  
 18308  // SetCode sets the Code field's value.
 18309  func (s *BucketState) SetCode(v string) *BucketState {
 18310  	s.Code = &v
 18311  	return s
 18312  }
 18313  
 18314  // SetMessage sets the Message field's value.
 18315  func (s *BucketState) SetMessage(v string) *BucketState {
 18316  	s.Message = &v
 18317  	return s
 18318  }
 18319  
 18320  // Describes a bundle, which is a set of specs describing your virtual private
 18321  // server (or instance).
 18322  type Bundle struct {
 18323  	_ struct{} `type:"structure"`
 18324  
 18325  	// The bundle ID (e.g., micro_1_0).
 18326  	BundleId *string `locationName:"bundleId" type:"string"`
 18327  
 18328  	// The number of vCPUs included in the bundle (e.g., 2).
 18329  	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
 18330  
 18331  	// The size of the SSD (e.g., 30).
 18332  	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
 18333  
 18334  	// The Amazon EC2 instance type (e.g., t2.micro).
 18335  	InstanceType *string `locationName:"instanceType" type:"string"`
 18336  
 18337  	// A Boolean value indicating whether the bundle is active.
 18338  	IsActive *bool `locationName:"isActive" type:"boolean"`
 18339  
 18340  	// A friendly name for the bundle (e.g., Micro).
 18341  	Name *string `locationName:"name" type:"string"`
 18342  
 18343  	// A numeric value that represents the power of the bundle (e.g., 500). You
 18344  	// can use the bundle's power value in conjunction with a blueprint's minimum
 18345  	// power value to determine whether the blueprint will run on the bundle. For
 18346  	// example, you need a bundle with a power value of 500 or more to create an
 18347  	// instance that uses a blueprint with a minimum power value of 500.
 18348  	Power *int64 `locationName:"power" type:"integer"`
 18349  
 18350  	// The price in US dollars (e.g., 5.0) of the bundle.
 18351  	Price *float64 `locationName:"price" type:"float"`
 18352  
 18353  	// The amount of RAM in GB (e.g., 2.0).
 18354  	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
 18355  
 18356  	// The operating system platform (Linux/Unix-based or Windows Server-based)
 18357  	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
 18358  	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
 18359  	// bundle.
 18360  	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
 18361  
 18362  	// The data transfer rate per month in GB (e.g., 2000).
 18363  	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
 18364  }
 18365  
 18366  // String returns the string representation.
 18367  //
 18368  // API parameter values that are decorated as "sensitive" in the API will not
 18369  // be included in the string output. The member name will be present, but the
 18370  // value will be replaced with "sensitive".
 18371  func (s Bundle) String() string {
 18372  	return awsutil.Prettify(s)
 18373  }
 18374  
 18375  // GoString returns the string representation.
 18376  //
 18377  // API parameter values that are decorated as "sensitive" in the API will not
 18378  // be included in the string output. The member name will be present, but the
 18379  // value will be replaced with "sensitive".
 18380  func (s Bundle) GoString() string {
 18381  	return s.String()
 18382  }
 18383  
 18384  // SetBundleId sets the BundleId field's value.
 18385  func (s *Bundle) SetBundleId(v string) *Bundle {
 18386  	s.BundleId = &v
 18387  	return s
 18388  }
 18389  
 18390  // SetCpuCount sets the CpuCount field's value.
 18391  func (s *Bundle) SetCpuCount(v int64) *Bundle {
 18392  	s.CpuCount = &v
 18393  	return s
 18394  }
 18395  
 18396  // SetDiskSizeInGb sets the DiskSizeInGb field's value.
 18397  func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
 18398  	s.DiskSizeInGb = &v
 18399  	return s
 18400  }
 18401  
 18402  // SetInstanceType sets the InstanceType field's value.
 18403  func (s *Bundle) SetInstanceType(v string) *Bundle {
 18404  	s.InstanceType = &v
 18405  	return s
 18406  }
 18407  
 18408  // SetIsActive sets the IsActive field's value.
 18409  func (s *Bundle) SetIsActive(v bool) *Bundle {
 18410  	s.IsActive = &v
 18411  	return s
 18412  }
 18413  
 18414  // SetName sets the Name field's value.
 18415  func (s *Bundle) SetName(v string) *Bundle {
 18416  	s.Name = &v
 18417  	return s
 18418  }
 18419  
 18420  // SetPower sets the Power field's value.
 18421  func (s *Bundle) SetPower(v int64) *Bundle {
 18422  	s.Power = &v
 18423  	return s
 18424  }
 18425  
 18426  // SetPrice sets the Price field's value.
 18427  func (s *Bundle) SetPrice(v float64) *Bundle {
 18428  	s.Price = &v
 18429  	return s
 18430  }
 18431  
 18432  // SetRamSizeInGb sets the RamSizeInGb field's value.
 18433  func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
 18434  	s.RamSizeInGb = &v
 18435  	return s
 18436  }
 18437  
 18438  // SetSupportedPlatforms sets the SupportedPlatforms field's value.
 18439  func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
 18440  	s.SupportedPlatforms = v
 18441  	return s
 18442  }
 18443  
 18444  // SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
 18445  func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
 18446  	s.TransferPerMonthInGb = &v
 18447  	return s
 18448  }
 18449  
 18450  // Describes the default cache behavior of an Amazon Lightsail content delivery
 18451  // network (CDN) distribution.
 18452  type CacheBehavior struct {
 18453  	_ struct{} `type:"structure"`
 18454  
 18455  	// The cache behavior of the distribution.
 18456  	//
 18457  	// The following cache behaviors can be specified:
 18458  	//
 18459  	//    * cache - This option is best for static sites. When specified, your distribution
 18460  	//    caches and serves your entire website as static content. This behavior
 18461  	//    is ideal for websites with static content that doesn't change depending
 18462  	//    on who views it, or for websites that don't use cookies, headers, or query
 18463  	//    strings to personalize content.
 18464  	//
 18465  	//    * dont-cache - This option is best for sites that serve a mix of static
 18466  	//    and dynamic content. When specified, your distribution caches and serve
 18467  	//    only the content that is specified in the distribution's CacheBehaviorPerPath
 18468  	//    parameter. This behavior is ideal for websites or web applications that
 18469  	//    use cookies, headers, and query strings to personalize content for individual
 18470  	//    users.
 18471  	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
 18472  }
 18473  
 18474  // String returns the string representation.
 18475  //
 18476  // API parameter values that are decorated as "sensitive" in the API will not
 18477  // be included in the string output. The member name will be present, but the
 18478  // value will be replaced with "sensitive".
 18479  func (s CacheBehavior) String() string {
 18480  	return awsutil.Prettify(s)
 18481  }
 18482  
 18483  // GoString returns the string representation.
 18484  //
 18485  // API parameter values that are decorated as "sensitive" in the API will not
 18486  // be included in the string output. The member name will be present, but the
 18487  // value will be replaced with "sensitive".
 18488  func (s CacheBehavior) GoString() string {
 18489  	return s.String()
 18490  }
 18491  
 18492  // SetBehavior sets the Behavior field's value.
 18493  func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior {
 18494  	s.Behavior = &v
 18495  	return s
 18496  }
 18497  
 18498  // Describes the per-path cache behavior of an Amazon Lightsail content delivery
 18499  // network (CDN) distribution.
 18500  //
 18501  // A per-path cache behavior is used to override, or add an exception to, the
 18502  // default cache behavior of a distribution. For example, if the cacheBehavior
 18503  // is set to cache, then a per-path cache behavior can be used to specify a
 18504  // directory, file, or file type that your distribution will cache. Alternately,
 18505  // if the distribution's cacheBehavior is dont-cache, then a per-path cache
 18506  // behavior can be used to specify a directory, file, or file type that your
 18507  // distribution will not cache.
 18508  //
 18509  // if the cacheBehavior's behavior is set to 'cache', then
 18510  type CacheBehaviorPerPath struct {
 18511  	_ struct{} `type:"structure"`
 18512  
 18513  	// The cache behavior for the specified path.
 18514  	//
 18515  	// You can specify one of the following per-path cache behaviors:
 18516  	//
 18517  	//    * cache - This behavior caches the specified path.
 18518  	//
 18519  	//    * dont-cache - This behavior doesn't cache the specified path.
 18520  	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
 18521  
 18522  	// The path to a directory or file to cached, or not cache. Use an asterisk
 18523  	// symbol to specify wildcard directories (path/to/assets/*), and file types
 18524  	// (*.html, *jpg, *js). Directories and file paths are case-sensitive.
 18525  	//
 18526  	// Examples:
 18527  	//
 18528  	//    * Specify the following to cache all files in the document root of an
 18529  	//    Apache web server running on a Lightsail instance. var/www/html/
 18530  	//
 18531  	//    * Specify the following file to cache only the index page in the document
 18532  	//    root of an Apache web server. var/www/html/index.html
 18533  	//
 18534  	//    * Specify the following to cache only the .html files in the document
 18535  	//    root of an Apache web server. var/www/html/*.html
 18536  	//
 18537  	//    * Specify the following to cache only the .jpg, .png, and .gif files in
 18538  	//    the images sub-directory of the document root of an Apache web server.
 18539  	//    var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif
 18540  	//    Specify the following to cache all files in the images sub-directory of
 18541  	//    the document root of an Apache web server. var/www/html/images/
 18542  	Path *string `locationName:"path" type:"string"`
 18543  }
 18544  
 18545  // String returns the string representation.
 18546  //
 18547  // API parameter values that are decorated as "sensitive" in the API will not
 18548  // be included in the string output. The member name will be present, but the
 18549  // value will be replaced with "sensitive".
 18550  func (s CacheBehaviorPerPath) String() string {
 18551  	return awsutil.Prettify(s)
 18552  }
 18553  
 18554  // GoString returns the string representation.
 18555  //
 18556  // API parameter values that are decorated as "sensitive" in the API will not
 18557  // be included in the string output. The member name will be present, but the
 18558  // value will be replaced with "sensitive".
 18559  func (s CacheBehaviorPerPath) GoString() string {
 18560  	return s.String()
 18561  }
 18562  
 18563  // SetBehavior sets the Behavior field's value.
 18564  func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath {
 18565  	s.Behavior = &v
 18566  	return s
 18567  }
 18568  
 18569  // SetPath sets the Path field's value.
 18570  func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath {
 18571  	s.Path = &v
 18572  	return s
 18573  }
 18574  
 18575  // Describes the cache settings of an Amazon Lightsail content delivery network
 18576  // (CDN) distribution.
 18577  //
 18578  // These settings apply only to your distribution's cacheBehaviors (including
 18579  // the defaultCacheBehavior) that have a behavior of cache.
 18580  type CacheSettings struct {
 18581  	_ struct{} `type:"structure"`
 18582  
 18583  	// The HTTP methods that are processed and forwarded to the distribution's origin.
 18584  	//
 18585  	// You can specify the following options:
 18586  	//
 18587  	//    * GET,HEAD - The distribution forwards the GET and HEAD methods.
 18588  	//
 18589  	//    * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS
 18590  	//    methods.
 18591  	//
 18592  	//    * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the
 18593  	//    GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods.
 18594  	//
 18595  	// If you specify the third option, you might need to restrict access to your
 18596  	// distribution's origin so users can't perform operations that you don't want
 18597  	// them to. For example, you might not want users to have permission to delete
 18598  	// objects from your origin.
 18599  	AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"`
 18600  
 18601  	// The HTTP method responses that are cached by your distribution.
 18602  	//
 18603  	// You can specify the following options:
 18604  	//
 18605  	//    * GET,HEAD - The distribution caches responses to the GET and HEAD methods.
 18606  	//
 18607  	//    * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD,
 18608  	//    and OPTIONS methods.
 18609  	CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"`
 18610  
 18611  	// The default amount of time that objects stay in the distribution's cache
 18612  	// before the distribution forwards another request to the origin to determine
 18613  	// whether the content has been updated.
 18614  	//
 18615  	// The value specified applies only when the origin does not add HTTP headers
 18616  	// such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
 18617  	DefaultTTL *int64 `locationName:"defaultTTL" type:"long"`
 18618  
 18619  	// An object that describes the cookies that are forwarded to the origin. Your
 18620  	// content is cached based on the cookies that are forwarded.
 18621  	ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"`
 18622  
 18623  	// An object that describes the headers that are forwarded to the origin. Your
 18624  	// content is cached based on the headers that are forwarded.
 18625  	ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"`
 18626  
 18627  	// An object that describes the query strings that are forwarded to the origin.
 18628  	// Your content is cached based on the query strings that are forwarded.
 18629  	ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"`
 18630  
 18631  	// The maximum amount of time that objects stay in the distribution's cache
 18632  	// before the distribution forwards another request to the origin to determine
 18633  	// whether the object has been updated.
 18634  	//
 18635  	// The value specified applies only when the origin adds HTTP headers such as
 18636  	// Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
 18637  	MaximumTTL *int64 `locationName:"maximumTTL" type:"long"`
 18638  
 18639  	// The minimum amount of time that objects stay in the distribution's cache
 18640  	// before the distribution forwards another request to the origin to determine
 18641  	// whether the object has been updated.
 18642  	//
 18643  	// A value of 0 must be specified for minimumTTL if the distribution is configured
 18644  	// to forward all headers to the origin.
 18645  	MinimumTTL *int64 `locationName:"minimumTTL" type:"long"`
 18646  }
 18647  
 18648  // String returns the string representation.
 18649  //
 18650  // API parameter values that are decorated as "sensitive" in the API will not
 18651  // be included in the string output. The member name will be present, but the
 18652  // value will be replaced with "sensitive".
 18653  func (s CacheSettings) String() string {
 18654  	return awsutil.Prettify(s)
 18655  }
 18656  
 18657  // GoString returns the string representation.
 18658  //
 18659  // API parameter values that are decorated as "sensitive" in the API will not
 18660  // be included in the string output. The member name will be present, but the
 18661  // value will be replaced with "sensitive".
 18662  func (s CacheSettings) GoString() string {
 18663  	return s.String()
 18664  }
 18665  
 18666  // SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value.
 18667  func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings {
 18668  	s.AllowedHTTPMethods = &v
 18669  	return s
 18670  }
 18671  
 18672  // SetCachedHTTPMethods sets the CachedHTTPMethods field's value.
 18673  func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings {
 18674  	s.CachedHTTPMethods = &v
 18675  	return s
 18676  }
 18677  
 18678  // SetDefaultTTL sets the DefaultTTL field's value.
 18679  func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings {
 18680  	s.DefaultTTL = &v
 18681  	return s
 18682  }
 18683  
 18684  // SetForwardedCookies sets the ForwardedCookies field's value.
 18685  func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings {
 18686  	s.ForwardedCookies = v
 18687  	return s
 18688  }
 18689  
 18690  // SetForwardedHeaders sets the ForwardedHeaders field's value.
 18691  func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings {
 18692  	s.ForwardedHeaders = v
 18693  	return s
 18694  }
 18695  
 18696  // SetForwardedQueryStrings sets the ForwardedQueryStrings field's value.
 18697  func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings {
 18698  	s.ForwardedQueryStrings = v
 18699  	return s
 18700  }
 18701  
 18702  // SetMaximumTTL sets the MaximumTTL field's value.
 18703  func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings {
 18704  	s.MaximumTTL = &v
 18705  	return s
 18706  }
 18707  
 18708  // SetMinimumTTL sets the MinimumTTL field's value.
 18709  func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings {
 18710  	s.MinimumTTL = &v
 18711  	return s
 18712  }
 18713  
 18714  // Describes the full details of an Amazon Lightsail SSL/TLS certificate.
 18715  //
 18716  // To get a summary of a certificate, use the GetCertificates action and ommit
 18717  // includeCertificateDetails from your request. The response will include only
 18718  // the certificate Amazon Resource Name (ARN), certificate name, domain name,
 18719  // and tags.
 18720  type Certificate struct {
 18721  	_ struct{} `type:"structure"`
 18722  
 18723  	// The Amazon Resource Name (ARN) of the certificate.
 18724  	Arn *string `locationName:"arn" type:"string"`
 18725  
 18726  	// The timestamp when the certificate was created.
 18727  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 18728  
 18729  	// The domain name of the certificate.
 18730  	DomainName *string `locationName:"domainName" type:"string"`
 18731  
 18732  	// An array of objects that describe the domain validation records of the certificate.
 18733  	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
 18734  
 18735  	// The renewal eligibility of the certificate.
 18736  	EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"`
 18737  
 18738  	// The number of Lightsail resources that the certificate is attached to.
 18739  	InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"`
 18740  
 18741  	// The timestamp when the certificate was issued.
 18742  	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
 18743  
 18744  	// The certificate authority that issued the certificate.
 18745  	IssuerCA *string `locationName:"issuerCA" type:"string"`
 18746  
 18747  	// The algorithm used to generate the key pair (the public and private key)
 18748  	// of the certificate.
 18749  	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
 18750  
 18751  	// The name of the certificate (e.g., my-certificate).
 18752  	Name *string `locationName:"name" type:"string"`
 18753  
 18754  	// The timestamp when the certificate expires.
 18755  	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
 18756  
 18757  	// The timestamp when the certificate is first valid.
 18758  	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
 18759  
 18760  	// An object that describes the status of the certificate renewal managed by
 18761  	// Lightsail.
 18762  	RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"`
 18763  
 18764  	// The validation failure reason, if any, of the certificate.
 18765  	//
 18766  	// The following failure reasons are possible:
 18767  	//
 18768  	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
 18769  	//    is not available for Lightsail certificates.
 18770  	//
 18771  	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
 18772  	//    to process this certificate request. This can happen as a fraud-protection
 18773  	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
 18774  	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
 18775  	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
 18776  	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
 18777  	//    elasticbeanstalk.com.
 18778  	//
 18779  	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
 18780  	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
 18781  	//    To correct the problem, search for your domain name on the VirusTotal
 18782  	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
 18783  	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
 18784  	//    to learn what you can do. If you believe that the result is a false positive,
 18785  	//    notify the organization that is reporting the domain. VirusTotal is an
 18786  	//    aggregate of several antivirus and URL scanners and cannot remove your
 18787  	//    domain from a block list itself. After you correct the problem and the
 18788  	//    VirusTotal registry has been updated, request a new certificate. If you
 18789  	//    see this error and your domain is not included in the VirusTotal list,
 18790  	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
 18791  	//    and create a case.
 18792  	//
 18793  	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
 18794  	//    request is not valid. Typically, this is because a domain name in the
 18795  	//    request is not a valid top-level domain. Try to request a certificate
 18796  	//    again, correcting any spelling errors or typos that were in the failed
 18797  	//    request, and ensure that all domain names in the request are for valid
 18798  	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
 18799  	//    because invalidpublicdomain is not a valid top-level domain.
 18800  	//
 18801  	//    * OTHER - Typically, this failure occurs when there is a typographical
 18802  	//    error in one or more of the domain names in the certificate request. Try
 18803  	//    to request a certificate again, correcting any spelling errors or typos
 18804  	//    that were in the failed request.
 18805  	RequestFailureReason *string `locationName:"requestFailureReason" type:"string"`
 18806  
 18807  	// The reason the certificate was revoked. This value is present only when the
 18808  	// certificate status is REVOKED.
 18809  	RevocationReason *string `locationName:"revocationReason" type:"string"`
 18810  
 18811  	// The timestamp when the certificate was revoked. This value is present only
 18812  	// when the certificate status is REVOKED.
 18813  	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
 18814  
 18815  	// The serial number of the certificate.
 18816  	SerialNumber *string `locationName:"serialNumber" type:"string"`
 18817  
 18818  	// The validation status of the certificate.
 18819  	Status *string `locationName:"status" type:"string" enum:"CertificateStatus"`
 18820  
 18821  	// An array of strings that specify the alternate domains (e.g., example2.com)
 18822  	// and subdomains (e.g., blog.example.com) of the certificate.
 18823  	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
 18824  
 18825  	// The support code. Include this code in your email to support when you have
 18826  	// questions about your Lightsail certificate. This code enables our support
 18827  	// team to look up your Lightsail information more easily.
 18828  	SupportCode *string `locationName:"supportCode" type:"string"`
 18829  
 18830  	// The tag keys and optional values for the resource. For more information about
 18831  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 18832  	Tags []*Tag `locationName:"tags" type:"list"`
 18833  }
 18834  
 18835  // String returns the string representation.
 18836  //
 18837  // API parameter values that are decorated as "sensitive" in the API will not
 18838  // be included in the string output. The member name will be present, but the
 18839  // value will be replaced with "sensitive".
 18840  func (s Certificate) String() string {
 18841  	return awsutil.Prettify(s)
 18842  }
 18843  
 18844  // GoString returns the string representation.
 18845  //
 18846  // API parameter values that are decorated as "sensitive" in the API will not
 18847  // be included in the string output. The member name will be present, but the
 18848  // value will be replaced with "sensitive".
 18849  func (s Certificate) GoString() string {
 18850  	return s.String()
 18851  }
 18852  
 18853  // SetArn sets the Arn field's value.
 18854  func (s *Certificate) SetArn(v string) *Certificate {
 18855  	s.Arn = &v
 18856  	return s
 18857  }
 18858  
 18859  // SetCreatedAt sets the CreatedAt field's value.
 18860  func (s *Certificate) SetCreatedAt(v time.Time) *Certificate {
 18861  	s.CreatedAt = &v
 18862  	return s
 18863  }
 18864  
 18865  // SetDomainName sets the DomainName field's value.
 18866  func (s *Certificate) SetDomainName(v string) *Certificate {
 18867  	s.DomainName = &v
 18868  	return s
 18869  }
 18870  
 18871  // SetDomainValidationRecords sets the DomainValidationRecords field's value.
 18872  func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate {
 18873  	s.DomainValidationRecords = v
 18874  	return s
 18875  }
 18876  
 18877  // SetEligibleToRenew sets the EligibleToRenew field's value.
 18878  func (s *Certificate) SetEligibleToRenew(v string) *Certificate {
 18879  	s.EligibleToRenew = &v
 18880  	return s
 18881  }
 18882  
 18883  // SetInUseResourceCount sets the InUseResourceCount field's value.
 18884  func (s *Certificate) SetInUseResourceCount(v int64) *Certificate {
 18885  	s.InUseResourceCount = &v
 18886  	return s
 18887  }
 18888  
 18889  // SetIssuedAt sets the IssuedAt field's value.
 18890  func (s *Certificate) SetIssuedAt(v time.Time) *Certificate {
 18891  	s.IssuedAt = &v
 18892  	return s
 18893  }
 18894  
 18895  // SetIssuerCA sets the IssuerCA field's value.
 18896  func (s *Certificate) SetIssuerCA(v string) *Certificate {
 18897  	s.IssuerCA = &v
 18898  	return s
 18899  }
 18900  
 18901  // SetKeyAlgorithm sets the KeyAlgorithm field's value.
 18902  func (s *Certificate) SetKeyAlgorithm(v string) *Certificate {
 18903  	s.KeyAlgorithm = &v
 18904  	return s
 18905  }
 18906  
 18907  // SetName sets the Name field's value.
 18908  func (s *Certificate) SetName(v string) *Certificate {
 18909  	s.Name = &v
 18910  	return s
 18911  }
 18912  
 18913  // SetNotAfter sets the NotAfter field's value.
 18914  func (s *Certificate) SetNotAfter(v time.Time) *Certificate {
 18915  	s.NotAfter = &v
 18916  	return s
 18917  }
 18918  
 18919  // SetNotBefore sets the NotBefore field's value.
 18920  func (s *Certificate) SetNotBefore(v time.Time) *Certificate {
 18921  	s.NotBefore = &v
 18922  	return s
 18923  }
 18924  
 18925  // SetRenewalSummary sets the RenewalSummary field's value.
 18926  func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate {
 18927  	s.RenewalSummary = v
 18928  	return s
 18929  }
 18930  
 18931  // SetRequestFailureReason sets the RequestFailureReason field's value.
 18932  func (s *Certificate) SetRequestFailureReason(v string) *Certificate {
 18933  	s.RequestFailureReason = &v
 18934  	return s
 18935  }
 18936  
 18937  // SetRevocationReason sets the RevocationReason field's value.
 18938  func (s *Certificate) SetRevocationReason(v string) *Certificate {
 18939  	s.RevocationReason = &v
 18940  	return s
 18941  }
 18942  
 18943  // SetRevokedAt sets the RevokedAt field's value.
 18944  func (s *Certificate) SetRevokedAt(v time.Time) *Certificate {
 18945  	s.RevokedAt = &v
 18946  	return s
 18947  }
 18948  
 18949  // SetSerialNumber sets the SerialNumber field's value.
 18950  func (s *Certificate) SetSerialNumber(v string) *Certificate {
 18951  	s.SerialNumber = &v
 18952  	return s
 18953  }
 18954  
 18955  // SetStatus sets the Status field's value.
 18956  func (s *Certificate) SetStatus(v string) *Certificate {
 18957  	s.Status = &v
 18958  	return s
 18959  }
 18960  
 18961  // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
 18962  func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate {
 18963  	s.SubjectAlternativeNames = v
 18964  	return s
 18965  }
 18966  
 18967  // SetSupportCode sets the SupportCode field's value.
 18968  func (s *Certificate) SetSupportCode(v string) *Certificate {
 18969  	s.SupportCode = &v
 18970  	return s
 18971  }
 18972  
 18973  // SetTags sets the Tags field's value.
 18974  func (s *Certificate) SetTags(v []*Tag) *Certificate {
 18975  	s.Tags = v
 18976  	return s
 18977  }
 18978  
 18979  // Describes an Amazon Lightsail SSL/TLS certificate.
 18980  type CertificateSummary struct {
 18981  	_ struct{} `type:"structure"`
 18982  
 18983  	// The Amazon Resource Name (ARN) of the certificate.
 18984  	CertificateArn *string `locationName:"certificateArn" type:"string"`
 18985  
 18986  	// An object that describes a certificate in detail.
 18987  	CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"`
 18988  
 18989  	// The name of the certificate.
 18990  	CertificateName *string `locationName:"certificateName" type:"string"`
 18991  
 18992  	// The domain name of the certificate.
 18993  	DomainName *string `locationName:"domainName" type:"string"`
 18994  
 18995  	// The tag keys and optional values for the resource. For more information about
 18996  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 18997  	Tags []*Tag `locationName:"tags" type:"list"`
 18998  }
 18999  
 19000  // String returns the string representation.
 19001  //
 19002  // API parameter values that are decorated as "sensitive" in the API will not
 19003  // be included in the string output. The member name will be present, but the
 19004  // value will be replaced with "sensitive".
 19005  func (s CertificateSummary) String() string {
 19006  	return awsutil.Prettify(s)
 19007  }
 19008  
 19009  // GoString returns the string representation.
 19010  //
 19011  // API parameter values that are decorated as "sensitive" in the API will not
 19012  // be included in the string output. The member name will be present, but the
 19013  // value will be replaced with "sensitive".
 19014  func (s CertificateSummary) GoString() string {
 19015  	return s.String()
 19016  }
 19017  
 19018  // SetCertificateArn sets the CertificateArn field's value.
 19019  func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary {
 19020  	s.CertificateArn = &v
 19021  	return s
 19022  }
 19023  
 19024  // SetCertificateDetail sets the CertificateDetail field's value.
 19025  func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary {
 19026  	s.CertificateDetail = v
 19027  	return s
 19028  }
 19029  
 19030  // SetCertificateName sets the CertificateName field's value.
 19031  func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary {
 19032  	s.CertificateName = &v
 19033  	return s
 19034  }
 19035  
 19036  // SetDomainName sets the DomainName field's value.
 19037  func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary {
 19038  	s.DomainName = &v
 19039  	return s
 19040  }
 19041  
 19042  // SetTags sets the Tags field's value.
 19043  func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary {
 19044  	s.Tags = v
 19045  	return s
 19046  }
 19047  
 19048  type CloseInstancePublicPortsInput struct {
 19049  	_ struct{} `type:"structure"`
 19050  
 19051  	// The name of the instance for which to close ports.
 19052  	//
 19053  	// InstanceName is a required field
 19054  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 19055  
 19056  	// An object to describe the ports to close for the specified instance.
 19057  	//
 19058  	// PortInfo is a required field
 19059  	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
 19060  }
 19061  
 19062  // String returns the string representation.
 19063  //
 19064  // API parameter values that are decorated as "sensitive" in the API will not
 19065  // be included in the string output. The member name will be present, but the
 19066  // value will be replaced with "sensitive".
 19067  func (s CloseInstancePublicPortsInput) String() string {
 19068  	return awsutil.Prettify(s)
 19069  }
 19070  
 19071  // GoString returns the string representation.
 19072  //
 19073  // API parameter values that are decorated as "sensitive" in the API will not
 19074  // be included in the string output. The member name will be present, but the
 19075  // value will be replaced with "sensitive".
 19076  func (s CloseInstancePublicPortsInput) GoString() string {
 19077  	return s.String()
 19078  }
 19079  
 19080  // Validate inspects the fields of the type to determine if they are valid.
 19081  func (s *CloseInstancePublicPortsInput) Validate() error {
 19082  	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
 19083  	if s.InstanceName == nil {
 19084  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 19085  	}
 19086  	if s.PortInfo == nil {
 19087  		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
 19088  	}
 19089  	if s.PortInfo != nil {
 19090  		if err := s.PortInfo.Validate(); err != nil {
 19091  			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
 19092  		}
 19093  	}
 19094  
 19095  	if invalidParams.Len() > 0 {
 19096  		return invalidParams
 19097  	}
 19098  	return nil
 19099  }
 19100  
 19101  // SetInstanceName sets the InstanceName field's value.
 19102  func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
 19103  	s.InstanceName = &v
 19104  	return s
 19105  }
 19106  
 19107  // SetPortInfo sets the PortInfo field's value.
 19108  func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
 19109  	s.PortInfo = v
 19110  	return s
 19111  }
 19112  
 19113  type CloseInstancePublicPortsOutput struct {
 19114  	_ struct{} `type:"structure"`
 19115  
 19116  	// An object that describes the result of the action, such as the status of
 19117  	// the request, the timestamp of the request, and the resources affected by
 19118  	// the request.
 19119  	Operation *Operation `locationName:"operation" type:"structure"`
 19120  }
 19121  
 19122  // String returns the string representation.
 19123  //
 19124  // API parameter values that are decorated as "sensitive" in the API will not
 19125  // be included in the string output. The member name will be present, but the
 19126  // value will be replaced with "sensitive".
 19127  func (s CloseInstancePublicPortsOutput) String() string {
 19128  	return awsutil.Prettify(s)
 19129  }
 19130  
 19131  // GoString returns the string representation.
 19132  //
 19133  // API parameter values that are decorated as "sensitive" in the API will not
 19134  // be included in the string output. The member name will be present, but the
 19135  // value will be replaced with "sensitive".
 19136  func (s CloseInstancePublicPortsOutput) GoString() string {
 19137  	return s.String()
 19138  }
 19139  
 19140  // SetOperation sets the Operation field's value.
 19141  func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
 19142  	s.Operation = v
 19143  	return s
 19144  }
 19145  
 19146  // Describes a CloudFormation stack record created as a result of the create
 19147  // cloud formation stack action.
 19148  //
 19149  // A CloudFormation stack record provides information about the AWS CloudFormation
 19150  // stack used to create a new Amazon Elastic Compute Cloud instance from an
 19151  // exported Lightsail instance snapshot.
 19152  type CloudFormationStackRecord struct {
 19153  	_ struct{} `type:"structure"`
 19154  
 19155  	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
 19156  	Arn *string `locationName:"arn" type:"string"`
 19157  
 19158  	// The date when the CloudFormation stack record was created.
 19159  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19160  
 19161  	// A list of objects describing the destination service, which is AWS CloudFormation,
 19162  	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
 19163  	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
 19164  
 19165  	// A list of objects describing the Availability Zone and AWS Region of the
 19166  	// CloudFormation stack record.
 19167  	Location *ResourceLocation `locationName:"location" type:"structure"`
 19168  
 19169  	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
 19170  	// followed by a GUID.
 19171  	Name *string `locationName:"name" type:"string"`
 19172  
 19173  	// The Lightsail resource type (e.g., CloudFormationStackRecord).
 19174  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 19175  
 19176  	// A list of objects describing the source of the CloudFormation stack record.
 19177  	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
 19178  
 19179  	// The current state of the CloudFormation stack record.
 19180  	State *string `locationName:"state" type:"string" enum:"RecordState"`
 19181  }
 19182  
 19183  // String returns the string representation.
 19184  //
 19185  // API parameter values that are decorated as "sensitive" in the API will not
 19186  // be included in the string output. The member name will be present, but the
 19187  // value will be replaced with "sensitive".
 19188  func (s CloudFormationStackRecord) String() string {
 19189  	return awsutil.Prettify(s)
 19190  }
 19191  
 19192  // GoString returns the string representation.
 19193  //
 19194  // API parameter values that are decorated as "sensitive" in the API will not
 19195  // be included in the string output. The member name will be present, but the
 19196  // value will be replaced with "sensitive".
 19197  func (s CloudFormationStackRecord) GoString() string {
 19198  	return s.String()
 19199  }
 19200  
 19201  // SetArn sets the Arn field's value.
 19202  func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
 19203  	s.Arn = &v
 19204  	return s
 19205  }
 19206  
 19207  // SetCreatedAt sets the CreatedAt field's value.
 19208  func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
 19209  	s.CreatedAt = &v
 19210  	return s
 19211  }
 19212  
 19213  // SetDestinationInfo sets the DestinationInfo field's value.
 19214  func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
 19215  	s.DestinationInfo = v
 19216  	return s
 19217  }
 19218  
 19219  // SetLocation sets the Location field's value.
 19220  func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
 19221  	s.Location = v
 19222  	return s
 19223  }
 19224  
 19225  // SetName sets the Name field's value.
 19226  func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
 19227  	s.Name = &v
 19228  	return s
 19229  }
 19230  
 19231  // SetResourceType sets the ResourceType field's value.
 19232  func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
 19233  	s.ResourceType = &v
 19234  	return s
 19235  }
 19236  
 19237  // SetSourceInfo sets the SourceInfo field's value.
 19238  func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
 19239  	s.SourceInfo = v
 19240  	return s
 19241  }
 19242  
 19243  // SetState sets the State field's value.
 19244  func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
 19245  	s.State = &v
 19246  	return s
 19247  }
 19248  
 19249  // Describes the source of a CloudFormation stack record (i.e., the export snapshot
 19250  // record).
 19251  type CloudFormationStackRecordSourceInfo struct {
 19252  	_ struct{} `type:"structure"`
 19253  
 19254  	// The Amazon Resource Name (ARN) of the export snapshot record.
 19255  	Arn *string `locationName:"arn" type:"string"`
 19256  
 19257  	// The name of the record.
 19258  	Name *string `locationName:"name" type:"string"`
 19259  
 19260  	// The Lightsail resource type (e.g., ExportSnapshotRecord).
 19261  	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
 19262  }
 19263  
 19264  // String returns the string representation.
 19265  //
 19266  // API parameter values that are decorated as "sensitive" in the API will not
 19267  // be included in the string output. The member name will be present, but the
 19268  // value will be replaced with "sensitive".
 19269  func (s CloudFormationStackRecordSourceInfo) String() string {
 19270  	return awsutil.Prettify(s)
 19271  }
 19272  
 19273  // GoString returns the string representation.
 19274  //
 19275  // API parameter values that are decorated as "sensitive" in the API will not
 19276  // be included in the string output. The member name will be present, but the
 19277  // value will be replaced with "sensitive".
 19278  func (s CloudFormationStackRecordSourceInfo) GoString() string {
 19279  	return s.String()
 19280  }
 19281  
 19282  // SetArn sets the Arn field's value.
 19283  func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
 19284  	s.Arn = &v
 19285  	return s
 19286  }
 19287  
 19288  // SetName sets the Name field's value.
 19289  func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
 19290  	s.Name = &v
 19291  	return s
 19292  }
 19293  
 19294  // SetResourceType sets the ResourceType field's value.
 19295  func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
 19296  	s.ResourceType = &v
 19297  	return s
 19298  }
 19299  
 19300  // Describes a contact method.
 19301  //
 19302  // A contact method is a way to send you notifications. For more information,
 19303  // see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
 19304  type ContactMethod struct {
 19305  	_ struct{} `type:"structure"`
 19306  
 19307  	// The Amazon Resource Name (ARN) of the contact method.
 19308  	Arn *string `locationName:"arn" type:"string"`
 19309  
 19310  	// The destination of the contact method, such as an email address or a mobile
 19311  	// phone number.
 19312  	ContactEndpoint *string `locationName:"contactEndpoint" type:"string"`
 19313  
 19314  	// The timestamp when the contact method was created.
 19315  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19316  
 19317  	// Describes the resource location.
 19318  	Location *ResourceLocation `locationName:"location" type:"structure"`
 19319  
 19320  	// The name of the contact method.
 19321  	Name *string `locationName:"name" type:"string"`
 19322  
 19323  	// The protocol of the contact method, such as email or SMS (text messaging).
 19324  	Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"`
 19325  
 19326  	// The Lightsail resource type (e.g., ContactMethod).
 19327  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 19328  
 19329  	// The current status of the contact method.
 19330  	//
 19331  	// A contact method has the following possible status:
 19332  	//
 19333  	//    * PendingVerification - The contact method has not yet been verified,
 19334  	//    and the verification has not yet expired.
 19335  	//
 19336  	//    * Valid - The contact method has been verified.
 19337  	//
 19338  	//    * InValid - An attempt was made to verify the contact method, but the
 19339  	//    verification has expired.
 19340  	Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"`
 19341  
 19342  	// The support code. Include this code in your email to support when you have
 19343  	// questions about your Lightsail contact method. This code enables our support
 19344  	// team to look up your Lightsail information more easily.
 19345  	SupportCode *string `locationName:"supportCode" type:"string"`
 19346  }
 19347  
 19348  // String returns the string representation.
 19349  //
 19350  // API parameter values that are decorated as "sensitive" in the API will not
 19351  // be included in the string output. The member name will be present, but the
 19352  // value will be replaced with "sensitive".
 19353  func (s ContactMethod) String() string {
 19354  	return awsutil.Prettify(s)
 19355  }
 19356  
 19357  // GoString returns the string representation.
 19358  //
 19359  // API parameter values that are decorated as "sensitive" in the API will not
 19360  // be included in the string output. The member name will be present, but the
 19361  // value will be replaced with "sensitive".
 19362  func (s ContactMethod) GoString() string {
 19363  	return s.String()
 19364  }
 19365  
 19366  // SetArn sets the Arn field's value.
 19367  func (s *ContactMethod) SetArn(v string) *ContactMethod {
 19368  	s.Arn = &v
 19369  	return s
 19370  }
 19371  
 19372  // SetContactEndpoint sets the ContactEndpoint field's value.
 19373  func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod {
 19374  	s.ContactEndpoint = &v
 19375  	return s
 19376  }
 19377  
 19378  // SetCreatedAt sets the CreatedAt field's value.
 19379  func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod {
 19380  	s.CreatedAt = &v
 19381  	return s
 19382  }
 19383  
 19384  // SetLocation sets the Location field's value.
 19385  func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod {
 19386  	s.Location = v
 19387  	return s
 19388  }
 19389  
 19390  // SetName sets the Name field's value.
 19391  func (s *ContactMethod) SetName(v string) *ContactMethod {
 19392  	s.Name = &v
 19393  	return s
 19394  }
 19395  
 19396  // SetProtocol sets the Protocol field's value.
 19397  func (s *ContactMethod) SetProtocol(v string) *ContactMethod {
 19398  	s.Protocol = &v
 19399  	return s
 19400  }
 19401  
 19402  // SetResourceType sets the ResourceType field's value.
 19403  func (s *ContactMethod) SetResourceType(v string) *ContactMethod {
 19404  	s.ResourceType = &v
 19405  	return s
 19406  }
 19407  
 19408  // SetStatus sets the Status field's value.
 19409  func (s *ContactMethod) SetStatus(v string) *ContactMethod {
 19410  	s.Status = &v
 19411  	return s
 19412  }
 19413  
 19414  // SetSupportCode sets the SupportCode field's value.
 19415  func (s *ContactMethod) SetSupportCode(v string) *ContactMethod {
 19416  	s.SupportCode = &v
 19417  	return s
 19418  }
 19419  
 19420  // Describes the settings of a container that will be launched, or that is launched,
 19421  // to an Amazon Lightsail container service.
 19422  type Container struct {
 19423  	_ struct{} `type:"structure"`
 19424  
 19425  	// The launch command for the container.
 19426  	Command []*string `locationName:"command" type:"list"`
 19427  
 19428  	// The environment variables of the container.
 19429  	Environment map[string]*string `locationName:"environment" type:"map"`
 19430  
 19431  	// The name of the image used for the container.
 19432  	//
 19433  	// Container images sourced from your Lightsail container service, that are
 19434  	// registered and stored on your service, start with a colon (:). For example,
 19435  	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
 19436  	// registry like Docker Hub don't start with a colon. For example, nginx:latest
 19437  	// or nginx.
 19438  	Image *string `locationName:"image" type:"string"`
 19439  
 19440  	// The open firewall ports of the container.
 19441  	Ports map[string]*string `locationName:"ports" type:"map"`
 19442  }
 19443  
 19444  // String returns the string representation.
 19445  //
 19446  // API parameter values that are decorated as "sensitive" in the API will not
 19447  // be included in the string output. The member name will be present, but the
 19448  // value will be replaced with "sensitive".
 19449  func (s Container) String() string {
 19450  	return awsutil.Prettify(s)
 19451  }
 19452  
 19453  // GoString returns the string representation.
 19454  //
 19455  // API parameter values that are decorated as "sensitive" in the API will not
 19456  // be included in the string output. The member name will be present, but the
 19457  // value will be replaced with "sensitive".
 19458  func (s Container) GoString() string {
 19459  	return s.String()
 19460  }
 19461  
 19462  // SetCommand sets the Command field's value.
 19463  func (s *Container) SetCommand(v []*string) *Container {
 19464  	s.Command = v
 19465  	return s
 19466  }
 19467  
 19468  // SetEnvironment sets the Environment field's value.
 19469  func (s *Container) SetEnvironment(v map[string]*string) *Container {
 19470  	s.Environment = v
 19471  	return s
 19472  }
 19473  
 19474  // SetImage sets the Image field's value.
 19475  func (s *Container) SetImage(v string) *Container {
 19476  	s.Image = &v
 19477  	return s
 19478  }
 19479  
 19480  // SetPorts sets the Ports field's value.
 19481  func (s *Container) SetPorts(v map[string]*string) *Container {
 19482  	s.Ports = v
 19483  	return s
 19484  }
 19485  
 19486  // Describes a container image that is registered to an Amazon Lightsail container
 19487  // service.
 19488  type ContainerImage struct {
 19489  	_ struct{} `type:"structure"`
 19490  
 19491  	// The timestamp when the container image was created.
 19492  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19493  
 19494  	// The digest of the container image.
 19495  	Digest *string `locationName:"digest" type:"string"`
 19496  
 19497  	// The name of the container image.
 19498  	Image *string `locationName:"image" type:"string"`
 19499  }
 19500  
 19501  // String returns the string representation.
 19502  //
 19503  // API parameter values that are decorated as "sensitive" in the API will not
 19504  // be included in the string output. The member name will be present, but the
 19505  // value will be replaced with "sensitive".
 19506  func (s ContainerImage) String() string {
 19507  	return awsutil.Prettify(s)
 19508  }
 19509  
 19510  // GoString returns the string representation.
 19511  //
 19512  // API parameter values that are decorated as "sensitive" in the API will not
 19513  // be included in the string output. The member name will be present, but the
 19514  // value will be replaced with "sensitive".
 19515  func (s ContainerImage) GoString() string {
 19516  	return s.String()
 19517  }
 19518  
 19519  // SetCreatedAt sets the CreatedAt field's value.
 19520  func (s *ContainerImage) SetCreatedAt(v time.Time) *ContainerImage {
 19521  	s.CreatedAt = &v
 19522  	return s
 19523  }
 19524  
 19525  // SetDigest sets the Digest field's value.
 19526  func (s *ContainerImage) SetDigest(v string) *ContainerImage {
 19527  	s.Digest = &v
 19528  	return s
 19529  }
 19530  
 19531  // SetImage sets the Image field's value.
 19532  func (s *ContainerImage) SetImage(v string) *ContainerImage {
 19533  	s.Image = &v
 19534  	return s
 19535  }
 19536  
 19537  // Describes an Amazon Lightsail container service.
 19538  type ContainerService struct {
 19539  	_ struct{} `type:"structure"`
 19540  
 19541  	// The Amazon Resource Name (ARN) of the container service.
 19542  	Arn *string `locationName:"arn" type:"string"`
 19543  
 19544  	// The name of the container service.
 19545  	ContainerServiceName *string `locationName:"containerServiceName" min:"1" type:"string"`
 19546  
 19547  	// The timestamp when the container service was created.
 19548  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19549  
 19550  	// An object that describes the current container deployment of the container
 19551  	// service.
 19552  	CurrentDeployment *ContainerServiceDeployment `locationName:"currentDeployment" type:"structure"`
 19553  
 19554  	// A Boolean value indicating whether the container service is disabled.
 19555  	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
 19556  
 19557  	// An object that describes the location of the container service, such as the
 19558  	// AWS Region and Availability Zone.
 19559  	Location *ResourceLocation `locationName:"location" type:"structure"`
 19560  
 19561  	// An object that describes the next deployment of the container service.
 19562  	//
 19563  	// This value is null when there is no deployment in a pending state.
 19564  	NextDeployment *ContainerServiceDeployment `locationName:"nextDeployment" type:"structure"`
 19565  
 19566  	// The power specification of the container service.
 19567  	//
 19568  	// The power specifies the amount of RAM, the number of vCPUs, and the base
 19569  	// price of the container service.
 19570  	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
 19571  
 19572  	// The ID of the power of the container service.
 19573  	PowerId *string `locationName:"powerId" type:"string"`
 19574  
 19575  	// The principal ARN of the container service.
 19576  	//
 19577  	// The principal ARN can be used to create a trust relationship between your
 19578  	// standard AWS account and your Lightsail container service. This allows you
 19579  	// to give your service permission to access resources in your standard AWS
 19580  	// account.
 19581  	PrincipalArn *string `locationName:"principalArn" type:"string"`
 19582  
 19583  	// The private domain name of the container service.
 19584  	//
 19585  	// The private domain name is accessible only by other resources within the
 19586  	// default virtual private cloud (VPC) of your Lightsail account.
 19587  	PrivateDomainName *string `locationName:"privateDomainName" type:"string"`
 19588  
 19589  	// The public domain name of the container service, such as example.com and
 19590  	// www.example.com.
 19591  	//
 19592  	// You can specify up to four public domain names for a container service. The
 19593  	// domain names that you specify are used when you create a deployment with
 19594  	// a container configured as the public endpoint of your container service.
 19595  	//
 19596  	// If you don't specify public domain names, then you can use the default domain
 19597  	// of the container service.
 19598  	//
 19599  	// You must create and validate an SSL/TLS certificate before you can use public
 19600  	// domain names with your container service. Use the CreateCertificate action
 19601  	// to create a certificate for the public domain names you want to use with
 19602  	// your container service.
 19603  	//
 19604  	// See CreateContainerService or UpdateContainerService for information about
 19605  	// how to specify public domain names for your Lightsail container service.
 19606  	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
 19607  
 19608  	// The Lightsail resource type of the container service (i.e., ContainerService).
 19609  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 19610  
 19611  	// The scale specification of the container service.
 19612  	//
 19613  	// The scale specifies the allocated compute nodes of the container service.
 19614  	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
 19615  
 19616  	// The current state of the container service.
 19617  	//
 19618  	// The following container service states are possible:
 19619  	//
 19620  	//    * PENDING - The container service is being created.
 19621  	//
 19622  	//    * READY - The container service is running but it does not have an active
 19623  	//    container deployment.
 19624  	//
 19625  	//    * DEPLOYING - The container service is launching a container deployment.
 19626  	//
 19627  	//    * RUNNING - The container service is running and it has an active container
 19628  	//    deployment.
 19629  	//
 19630  	//    * UPDATING - The container service capacity or its custom domains are
 19631  	//    being updated.
 19632  	//
 19633  	//    * DELETING - The container service is being deleted.
 19634  	//
 19635  	//    * DISABLED - The container service is disabled, and its active deployment
 19636  	//    and containers, if any, are shut down.
 19637  	State *string `locationName:"state" type:"string" enum:"ContainerServiceState"`
 19638  
 19639  	// An object that describes the current state of the container service.
 19640  	//
 19641  	// The state detail is populated only when a container service is in a PENDING,
 19642  	// DEPLOYING, or UPDATING state.
 19643  	StateDetail *ContainerServiceStateDetail `locationName:"stateDetail" type:"structure"`
 19644  
 19645  	// The tag keys and optional values for the resource. For more information about
 19646  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 19647  	Tags []*Tag `locationName:"tags" type:"list"`
 19648  
 19649  	// The publicly accessible URL of the container service.
 19650  	//
 19651  	// If no public endpoint is specified in the currentDeployment, this URL returns
 19652  	// a 404 response.
 19653  	Url *string `locationName:"url" type:"string"`
 19654  }
 19655  
 19656  // String returns the string representation.
 19657  //
 19658  // API parameter values that are decorated as "sensitive" in the API will not
 19659  // be included in the string output. The member name will be present, but the
 19660  // value will be replaced with "sensitive".
 19661  func (s ContainerService) String() string {
 19662  	return awsutil.Prettify(s)
 19663  }
 19664  
 19665  // GoString returns the string representation.
 19666  //
 19667  // API parameter values that are decorated as "sensitive" in the API will not
 19668  // be included in the string output. The member name will be present, but the
 19669  // value will be replaced with "sensitive".
 19670  func (s ContainerService) GoString() string {
 19671  	return s.String()
 19672  }
 19673  
 19674  // SetArn sets the Arn field's value.
 19675  func (s *ContainerService) SetArn(v string) *ContainerService {
 19676  	s.Arn = &v
 19677  	return s
 19678  }
 19679  
 19680  // SetContainerServiceName sets the ContainerServiceName field's value.
 19681  func (s *ContainerService) SetContainerServiceName(v string) *ContainerService {
 19682  	s.ContainerServiceName = &v
 19683  	return s
 19684  }
 19685  
 19686  // SetCreatedAt sets the CreatedAt field's value.
 19687  func (s *ContainerService) SetCreatedAt(v time.Time) *ContainerService {
 19688  	s.CreatedAt = &v
 19689  	return s
 19690  }
 19691  
 19692  // SetCurrentDeployment sets the CurrentDeployment field's value.
 19693  func (s *ContainerService) SetCurrentDeployment(v *ContainerServiceDeployment) *ContainerService {
 19694  	s.CurrentDeployment = v
 19695  	return s
 19696  }
 19697  
 19698  // SetIsDisabled sets the IsDisabled field's value.
 19699  func (s *ContainerService) SetIsDisabled(v bool) *ContainerService {
 19700  	s.IsDisabled = &v
 19701  	return s
 19702  }
 19703  
 19704  // SetLocation sets the Location field's value.
 19705  func (s *ContainerService) SetLocation(v *ResourceLocation) *ContainerService {
 19706  	s.Location = v
 19707  	return s
 19708  }
 19709  
 19710  // SetNextDeployment sets the NextDeployment field's value.
 19711  func (s *ContainerService) SetNextDeployment(v *ContainerServiceDeployment) *ContainerService {
 19712  	s.NextDeployment = v
 19713  	return s
 19714  }
 19715  
 19716  // SetPower sets the Power field's value.
 19717  func (s *ContainerService) SetPower(v string) *ContainerService {
 19718  	s.Power = &v
 19719  	return s
 19720  }
 19721  
 19722  // SetPowerId sets the PowerId field's value.
 19723  func (s *ContainerService) SetPowerId(v string) *ContainerService {
 19724  	s.PowerId = &v
 19725  	return s
 19726  }
 19727  
 19728  // SetPrincipalArn sets the PrincipalArn field's value.
 19729  func (s *ContainerService) SetPrincipalArn(v string) *ContainerService {
 19730  	s.PrincipalArn = &v
 19731  	return s
 19732  }
 19733  
 19734  // SetPrivateDomainName sets the PrivateDomainName field's value.
 19735  func (s *ContainerService) SetPrivateDomainName(v string) *ContainerService {
 19736  	s.PrivateDomainName = &v
 19737  	return s
 19738  }
 19739  
 19740  // SetPublicDomainNames sets the PublicDomainNames field's value.
 19741  func (s *ContainerService) SetPublicDomainNames(v map[string][]*string) *ContainerService {
 19742  	s.PublicDomainNames = v
 19743  	return s
 19744  }
 19745  
 19746  // SetResourceType sets the ResourceType field's value.
 19747  func (s *ContainerService) SetResourceType(v string) *ContainerService {
 19748  	s.ResourceType = &v
 19749  	return s
 19750  }
 19751  
 19752  // SetScale sets the Scale field's value.
 19753  func (s *ContainerService) SetScale(v int64) *ContainerService {
 19754  	s.Scale = &v
 19755  	return s
 19756  }
 19757  
 19758  // SetState sets the State field's value.
 19759  func (s *ContainerService) SetState(v string) *ContainerService {
 19760  	s.State = &v
 19761  	return s
 19762  }
 19763  
 19764  // SetStateDetail sets the StateDetail field's value.
 19765  func (s *ContainerService) SetStateDetail(v *ContainerServiceStateDetail) *ContainerService {
 19766  	s.StateDetail = v
 19767  	return s
 19768  }
 19769  
 19770  // SetTags sets the Tags field's value.
 19771  func (s *ContainerService) SetTags(v []*Tag) *ContainerService {
 19772  	s.Tags = v
 19773  	return s
 19774  }
 19775  
 19776  // SetUrl sets the Url field's value.
 19777  func (s *ContainerService) SetUrl(v string) *ContainerService {
 19778  	s.Url = &v
 19779  	return s
 19780  }
 19781  
 19782  // Describes a container deployment configuration of an Amazon Lightsail container
 19783  // service.
 19784  //
 19785  // A deployment specifies the settings, such as the ports and launch command,
 19786  // of containers that are deployed to your container service.
 19787  type ContainerServiceDeployment struct {
 19788  	_ struct{} `type:"structure"`
 19789  
 19790  	// An object that describes the configuration for the containers of the deployment.
 19791  	Containers map[string]*Container `locationName:"containers" type:"map"`
 19792  
 19793  	// The timestamp when the deployment was created.
 19794  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19795  
 19796  	// An object that describes the endpoint of the deployment.
 19797  	PublicEndpoint *ContainerServiceEndpoint `locationName:"publicEndpoint" type:"structure"`
 19798  
 19799  	// The state of the deployment.
 19800  	//
 19801  	// A deployment can be in one of the following states:
 19802  	//
 19803  	//    * Activating - The deployment is being created.
 19804  	//
 19805  	//    * Active - The deployment was successfully created, and it's currently
 19806  	//    running on the container service. The container service can have only
 19807  	//    one deployment in an active state at a time.
 19808  	//
 19809  	//    * Inactive - The deployment was previously successfully created, but it
 19810  	//    is not currently running on the container service.
 19811  	//
 19812  	//    * Failed - The deployment failed. Use the GetContainerLog action to view
 19813  	//    the log events for the containers in the deployment to try to determine
 19814  	//    the reason for the failure.
 19815  	State *string `locationName:"state" type:"string" enum:"ContainerServiceDeploymentState"`
 19816  
 19817  	// The version number of the deployment.
 19818  	Version *int64 `locationName:"version" type:"integer"`
 19819  }
 19820  
 19821  // String returns the string representation.
 19822  //
 19823  // API parameter values that are decorated as "sensitive" in the API will not
 19824  // be included in the string output. The member name will be present, but the
 19825  // value will be replaced with "sensitive".
 19826  func (s ContainerServiceDeployment) String() string {
 19827  	return awsutil.Prettify(s)
 19828  }
 19829  
 19830  // GoString returns the string representation.
 19831  //
 19832  // API parameter values that are decorated as "sensitive" in the API will not
 19833  // be included in the string output. The member name will be present, but the
 19834  // value will be replaced with "sensitive".
 19835  func (s ContainerServiceDeployment) GoString() string {
 19836  	return s.String()
 19837  }
 19838  
 19839  // SetContainers sets the Containers field's value.
 19840  func (s *ContainerServiceDeployment) SetContainers(v map[string]*Container) *ContainerServiceDeployment {
 19841  	s.Containers = v
 19842  	return s
 19843  }
 19844  
 19845  // SetCreatedAt sets the CreatedAt field's value.
 19846  func (s *ContainerServiceDeployment) SetCreatedAt(v time.Time) *ContainerServiceDeployment {
 19847  	s.CreatedAt = &v
 19848  	return s
 19849  }
 19850  
 19851  // SetPublicEndpoint sets the PublicEndpoint field's value.
 19852  func (s *ContainerServiceDeployment) SetPublicEndpoint(v *ContainerServiceEndpoint) *ContainerServiceDeployment {
 19853  	s.PublicEndpoint = v
 19854  	return s
 19855  }
 19856  
 19857  // SetState sets the State field's value.
 19858  func (s *ContainerServiceDeployment) SetState(v string) *ContainerServiceDeployment {
 19859  	s.State = &v
 19860  	return s
 19861  }
 19862  
 19863  // SetVersion sets the Version field's value.
 19864  func (s *ContainerServiceDeployment) SetVersion(v int64) *ContainerServiceDeployment {
 19865  	s.Version = &v
 19866  	return s
 19867  }
 19868  
 19869  // Describes a container deployment configuration of an Amazon Lightsail container
 19870  // service.
 19871  //
 19872  // A deployment specifies the settings, such as the ports and launch command,
 19873  // of containers that are deployed to your container service.
 19874  type ContainerServiceDeploymentRequest struct {
 19875  	_ struct{} `type:"structure"`
 19876  
 19877  	// An object that describes the configuration for the containers of the deployment.
 19878  	Containers map[string]*Container `locationName:"containers" type:"map"`
 19879  
 19880  	// An object that describes the endpoint of the deployment.
 19881  	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
 19882  }
 19883  
 19884  // String returns the string representation.
 19885  //
 19886  // API parameter values that are decorated as "sensitive" in the API will not
 19887  // be included in the string output. The member name will be present, but the
 19888  // value will be replaced with "sensitive".
 19889  func (s ContainerServiceDeploymentRequest) String() string {
 19890  	return awsutil.Prettify(s)
 19891  }
 19892  
 19893  // GoString returns the string representation.
 19894  //
 19895  // API parameter values that are decorated as "sensitive" in the API will not
 19896  // be included in the string output. The member name will be present, but the
 19897  // value will be replaced with "sensitive".
 19898  func (s ContainerServiceDeploymentRequest) GoString() string {
 19899  	return s.String()
 19900  }
 19901  
 19902  // Validate inspects the fields of the type to determine if they are valid.
 19903  func (s *ContainerServiceDeploymentRequest) Validate() error {
 19904  	invalidParams := request.ErrInvalidParams{Context: "ContainerServiceDeploymentRequest"}
 19905  	if s.PublicEndpoint != nil {
 19906  		if err := s.PublicEndpoint.Validate(); err != nil {
 19907  			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
 19908  		}
 19909  	}
 19910  
 19911  	if invalidParams.Len() > 0 {
 19912  		return invalidParams
 19913  	}
 19914  	return nil
 19915  }
 19916  
 19917  // SetContainers sets the Containers field's value.
 19918  func (s *ContainerServiceDeploymentRequest) SetContainers(v map[string]*Container) *ContainerServiceDeploymentRequest {
 19919  	s.Containers = v
 19920  	return s
 19921  }
 19922  
 19923  // SetPublicEndpoint sets the PublicEndpoint field's value.
 19924  func (s *ContainerServiceDeploymentRequest) SetPublicEndpoint(v *EndpointRequest) *ContainerServiceDeploymentRequest {
 19925  	s.PublicEndpoint = v
 19926  	return s
 19927  }
 19928  
 19929  // Describes the public endpoint configuration of a deployment of an Amazon
 19930  // Lightsail container service.
 19931  type ContainerServiceEndpoint struct {
 19932  	_ struct{} `type:"structure"`
 19933  
 19934  	// The name of the container entry of the deployment that the endpoint configuration
 19935  	// applies to.
 19936  	ContainerName *string `locationName:"containerName" type:"string"`
 19937  
 19938  	// The port of the specified container to which traffic is forwarded to.
 19939  	ContainerPort *int64 `locationName:"containerPort" type:"integer"`
 19940  
 19941  	// An object that describes the health check configuration of the container.
 19942  	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
 19943  }
 19944  
 19945  // String returns the string representation.
 19946  //
 19947  // API parameter values that are decorated as "sensitive" in the API will not
 19948  // be included in the string output. The member name will be present, but the
 19949  // value will be replaced with "sensitive".
 19950  func (s ContainerServiceEndpoint) String() string {
 19951  	return awsutil.Prettify(s)
 19952  }
 19953  
 19954  // GoString returns the string representation.
 19955  //
 19956  // API parameter values that are decorated as "sensitive" in the API will not
 19957  // be included in the string output. The member name will be present, but the
 19958  // value will be replaced with "sensitive".
 19959  func (s ContainerServiceEndpoint) GoString() string {
 19960  	return s.String()
 19961  }
 19962  
 19963  // SetContainerName sets the ContainerName field's value.
 19964  func (s *ContainerServiceEndpoint) SetContainerName(v string) *ContainerServiceEndpoint {
 19965  	s.ContainerName = &v
 19966  	return s
 19967  }
 19968  
 19969  // SetContainerPort sets the ContainerPort field's value.
 19970  func (s *ContainerServiceEndpoint) SetContainerPort(v int64) *ContainerServiceEndpoint {
 19971  	s.ContainerPort = &v
 19972  	return s
 19973  }
 19974  
 19975  // SetHealthCheck sets the HealthCheck field's value.
 19976  func (s *ContainerServiceEndpoint) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *ContainerServiceEndpoint {
 19977  	s.HealthCheck = v
 19978  	return s
 19979  }
 19980  
 19981  // Describes the health check configuration of an Amazon Lightsail container
 19982  // service.
 19983  type ContainerServiceHealthCheckConfig struct {
 19984  	_ struct{} `type:"structure"`
 19985  
 19986  	// The number of consecutive health checks successes required before moving
 19987  	// the container to the Healthy state. The default value is 2.
 19988  	HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"`
 19989  
 19990  	// The approximate interval, in seconds, between health checks of an individual
 19991  	// container. You can specify between 5 and 300 seconds. The default value is
 19992  	// 5.
 19993  	IntervalSeconds *int64 `locationName:"intervalSeconds" type:"integer"`
 19994  
 19995  	// The path on the container on which to perform the health check. The default
 19996  	// value is /.
 19997  	Path *string `locationName:"path" type:"string"`
 19998  
 19999  	// The HTTP codes to use when checking for a successful response from a container.
 20000  	// You can specify values between 200 and 499. You can specify multiple values
 20001  	// (for example, 200,202) or a range of values (for example, 200-299).
 20002  	SuccessCodes *string `locationName:"successCodes" type:"string"`
 20003  
 20004  	// The amount of time, in seconds, during which no response means a failed health
 20005  	// check. You can specify between 2 and 60 seconds. The default value is 2.
 20006  	TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"`
 20007  
 20008  	// The number of consecutive health check failures required before moving the
 20009  	// container to the Unhealthy state. The default value is 2.
 20010  	UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"`
 20011  }
 20012  
 20013  // String returns the string representation.
 20014  //
 20015  // API parameter values that are decorated as "sensitive" in the API will not
 20016  // be included in the string output. The member name will be present, but the
 20017  // value will be replaced with "sensitive".
 20018  func (s ContainerServiceHealthCheckConfig) String() string {
 20019  	return awsutil.Prettify(s)
 20020  }
 20021  
 20022  // GoString returns the string representation.
 20023  //
 20024  // API parameter values that are decorated as "sensitive" in the API will not
 20025  // be included in the string output. The member name will be present, but the
 20026  // value will be replaced with "sensitive".
 20027  func (s ContainerServiceHealthCheckConfig) GoString() string {
 20028  	return s.String()
 20029  }
 20030  
 20031  // SetHealthyThreshold sets the HealthyThreshold field's value.
 20032  func (s *ContainerServiceHealthCheckConfig) SetHealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
 20033  	s.HealthyThreshold = &v
 20034  	return s
 20035  }
 20036  
 20037  // SetIntervalSeconds sets the IntervalSeconds field's value.
 20038  func (s *ContainerServiceHealthCheckConfig) SetIntervalSeconds(v int64) *ContainerServiceHealthCheckConfig {
 20039  	s.IntervalSeconds = &v
 20040  	return s
 20041  }
 20042  
 20043  // SetPath sets the Path field's value.
 20044  func (s *ContainerServiceHealthCheckConfig) SetPath(v string) *ContainerServiceHealthCheckConfig {
 20045  	s.Path = &v
 20046  	return s
 20047  }
 20048  
 20049  // SetSuccessCodes sets the SuccessCodes field's value.
 20050  func (s *ContainerServiceHealthCheckConfig) SetSuccessCodes(v string) *ContainerServiceHealthCheckConfig {
 20051  	s.SuccessCodes = &v
 20052  	return s
 20053  }
 20054  
 20055  // SetTimeoutSeconds sets the TimeoutSeconds field's value.
 20056  func (s *ContainerServiceHealthCheckConfig) SetTimeoutSeconds(v int64) *ContainerServiceHealthCheckConfig {
 20057  	s.TimeoutSeconds = &v
 20058  	return s
 20059  }
 20060  
 20061  // SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
 20062  func (s *ContainerServiceHealthCheckConfig) SetUnhealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
 20063  	s.UnhealthyThreshold = &v
 20064  	return s
 20065  }
 20066  
 20067  // Describes the log events of a container of an Amazon Lightsail container
 20068  // service.
 20069  type ContainerServiceLogEvent struct {
 20070  	_ struct{} `type:"structure"`
 20071  
 20072  	// The timestamp when the container service log event was created.
 20073  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 20074  
 20075  	// The message of the container service log event.
 20076  	Message *string `locationName:"message" type:"string"`
 20077  }
 20078  
 20079  // String returns the string representation.
 20080  //
 20081  // API parameter values that are decorated as "sensitive" in the API will not
 20082  // be included in the string output. The member name will be present, but the
 20083  // value will be replaced with "sensitive".
 20084  func (s ContainerServiceLogEvent) String() string {
 20085  	return awsutil.Prettify(s)
 20086  }
 20087  
 20088  // GoString returns the string representation.
 20089  //
 20090  // API parameter values that are decorated as "sensitive" in the API will not
 20091  // be included in the string output. The member name will be present, but the
 20092  // value will be replaced with "sensitive".
 20093  func (s ContainerServiceLogEvent) GoString() string {
 20094  	return s.String()
 20095  }
 20096  
 20097  // SetCreatedAt sets the CreatedAt field's value.
 20098  func (s *ContainerServiceLogEvent) SetCreatedAt(v time.Time) *ContainerServiceLogEvent {
 20099  	s.CreatedAt = &v
 20100  	return s
 20101  }
 20102  
 20103  // SetMessage sets the Message field's value.
 20104  func (s *ContainerServiceLogEvent) SetMessage(v string) *ContainerServiceLogEvent {
 20105  	s.Message = &v
 20106  	return s
 20107  }
 20108  
 20109  // Describes the powers that can be specified for an Amazon Lightsail container
 20110  // service.
 20111  //
 20112  // The power specifies the amount of RAM, the number of vCPUs, and the base
 20113  // price of the container service.
 20114  type ContainerServicePower struct {
 20115  	_ struct{} `type:"structure"`
 20116  
 20117  	// The number of vCPUs included in the power.
 20118  	CpuCount *float64 `locationName:"cpuCount" type:"float"`
 20119  
 20120  	// A Boolean value indicating whether the power is active and can be specified
 20121  	// for container services.
 20122  	IsActive *bool `locationName:"isActive" type:"boolean"`
 20123  
 20124  	// The friendly name of the power (e.g., nano).
 20125  	Name *string `locationName:"name" type:"string"`
 20126  
 20127  	// The ID of the power (e.g., nano-1).
 20128  	PowerId *string `locationName:"powerId" type:"string"`
 20129  
 20130  	// The monthly price of the power in USD.
 20131  	Price *float64 `locationName:"price" type:"float"`
 20132  
 20133  	// The amount of RAM (in GB) of the power.
 20134  	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
 20135  }
 20136  
 20137  // String returns the string representation.
 20138  //
 20139  // API parameter values that are decorated as "sensitive" in the API will not
 20140  // be included in the string output. The member name will be present, but the
 20141  // value will be replaced with "sensitive".
 20142  func (s ContainerServicePower) String() string {
 20143  	return awsutil.Prettify(s)
 20144  }
 20145  
 20146  // GoString returns the string representation.
 20147  //
 20148  // API parameter values that are decorated as "sensitive" in the API will not
 20149  // be included in the string output. The member name will be present, but the
 20150  // value will be replaced with "sensitive".
 20151  func (s ContainerServicePower) GoString() string {
 20152  	return s.String()
 20153  }
 20154  
 20155  // SetCpuCount sets the CpuCount field's value.
 20156  func (s *ContainerServicePower) SetCpuCount(v float64) *ContainerServicePower {
 20157  	s.CpuCount = &v
 20158  	return s
 20159  }
 20160  
 20161  // SetIsActive sets the IsActive field's value.
 20162  func (s *ContainerServicePower) SetIsActive(v bool) *ContainerServicePower {
 20163  	s.IsActive = &v
 20164  	return s
 20165  }
 20166  
 20167  // SetName sets the Name field's value.
 20168  func (s *ContainerServicePower) SetName(v string) *ContainerServicePower {
 20169  	s.Name = &v
 20170  	return s
 20171  }
 20172  
 20173  // SetPowerId sets the PowerId field's value.
 20174  func (s *ContainerServicePower) SetPowerId(v string) *ContainerServicePower {
 20175  	s.PowerId = &v
 20176  	return s
 20177  }
 20178  
 20179  // SetPrice sets the Price field's value.
 20180  func (s *ContainerServicePower) SetPrice(v float64) *ContainerServicePower {
 20181  	s.Price = &v
 20182  	return s
 20183  }
 20184  
 20185  // SetRamSizeInGb sets the RamSizeInGb field's value.
 20186  func (s *ContainerServicePower) SetRamSizeInGb(v float64) *ContainerServicePower {
 20187  	s.RamSizeInGb = &v
 20188  	return s
 20189  }
 20190  
 20191  // Describes the login information for the container image registry of an Amazon
 20192  // Lightsail account.
 20193  type ContainerServiceRegistryLogin struct {
 20194  	_ struct{} `type:"structure"`
 20195  
 20196  	// The timestamp of when the container image registry username and password
 20197  	// expire.
 20198  	//
 20199  	// The log in credentials expire 12 hours after they are created, at which point
 20200  	// you will need to create a new set of log in credentials using the CreateContainerServiceRegistryLogin
 20201  	// action.
 20202  	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
 20203  
 20204  	// The container service registry password to use to push container images to
 20205  	// the container image registry of a Lightsail account
 20206  	Password *string `locationName:"password" type:"string"`
 20207  
 20208  	// The address to use to push container images to the container image registry
 20209  	// of a Lightsail account.
 20210  	Registry *string `locationName:"registry" type:"string"`
 20211  
 20212  	// The container service registry username to use to push container images to
 20213  	// the container image registry of a Lightsail account.
 20214  	Username *string `locationName:"username" type:"string"`
 20215  }
 20216  
 20217  // String returns the string representation.
 20218  //
 20219  // API parameter values that are decorated as "sensitive" in the API will not
 20220  // be included in the string output. The member name will be present, but the
 20221  // value will be replaced with "sensitive".
 20222  func (s ContainerServiceRegistryLogin) String() string {
 20223  	return awsutil.Prettify(s)
 20224  }
 20225  
 20226  // GoString returns the string representation.
 20227  //
 20228  // API parameter values that are decorated as "sensitive" in the API will not
 20229  // be included in the string output. The member name will be present, but the
 20230  // value will be replaced with "sensitive".
 20231  func (s ContainerServiceRegistryLogin) GoString() string {
 20232  	return s.String()
 20233  }
 20234  
 20235  // SetExpiresAt sets the ExpiresAt field's value.
 20236  func (s *ContainerServiceRegistryLogin) SetExpiresAt(v time.Time) *ContainerServiceRegistryLogin {
 20237  	s.ExpiresAt = &v
 20238  	return s
 20239  }
 20240  
 20241  // SetPassword sets the Password field's value.
 20242  func (s *ContainerServiceRegistryLogin) SetPassword(v string) *ContainerServiceRegistryLogin {
 20243  	s.Password = &v
 20244  	return s
 20245  }
 20246  
 20247  // SetRegistry sets the Registry field's value.
 20248  func (s *ContainerServiceRegistryLogin) SetRegistry(v string) *ContainerServiceRegistryLogin {
 20249  	s.Registry = &v
 20250  	return s
 20251  }
 20252  
 20253  // SetUsername sets the Username field's value.
 20254  func (s *ContainerServiceRegistryLogin) SetUsername(v string) *ContainerServiceRegistryLogin {
 20255  	s.Username = &v
 20256  	return s
 20257  }
 20258  
 20259  // Describes the current state of a container service.
 20260  type ContainerServiceStateDetail struct {
 20261  	_ struct{} `type:"structure"`
 20262  
 20263  	// The state code of the container service.
 20264  	//
 20265  	// The following state codes are possible:
 20266  	//
 20267  	//    * The following state codes are possible if your container service is
 20268  	//    in a DEPLOYING or UPDATING state: CREATING_SYSTEM_RESOURCES - The system
 20269  	//    resources for your container service are being created. CREATING_NETWORK_INFRASTRUCTURE
 20270  	//    - The network infrastructure for your container service are being created.
 20271  	//    PROVISIONING_CERTIFICATE - The SSL/TLS certificate for your container
 20272  	//    service is being created. PROVISIONING_SERVICE - Your container service
 20273  	//    is being provisioned. CREATING_DEPLOYMENT - Your deployment is being created
 20274  	//    on your container service. EVALUATING_HEALTH_CHECK - The health of your
 20275  	//    deployment is being evaluated. ACTIVATING_DEPLOYMENT - Your deployment
 20276  	//    is being activated.
 20277  	//
 20278  	//    * The following state codes are possible if your container service is
 20279  	//    in a PENDING state: CERTIFICATE_LIMIT_EXCEEDED - The SSL/TLS certificate
 20280  	//    required for your container service exceeds the maximum number of certificates
 20281  	//    allowed for your account. UNKNOWN_ERROR - An error was experienced when
 20282  	//    your container service was being created.
 20283  	Code *string `locationName:"code" type:"string" enum:"ContainerServiceStateDetailCode"`
 20284  
 20285  	// A message that provides more information for the state code.
 20286  	//
 20287  	// The state detail is populated only when a container service is in a PENDING,
 20288  	// DEPLOYING, or UPDATING state.
 20289  	Message *string `locationName:"message" type:"string"`
 20290  }
 20291  
 20292  // String returns the string representation.
 20293  //
 20294  // API parameter values that are decorated as "sensitive" in the API will not
 20295  // be included in the string output. The member name will be present, but the
 20296  // value will be replaced with "sensitive".
 20297  func (s ContainerServiceStateDetail) String() string {
 20298  	return awsutil.Prettify(s)
 20299  }
 20300  
 20301  // GoString returns the string representation.
 20302  //
 20303  // API parameter values that are decorated as "sensitive" in the API will not
 20304  // be included in the string output. The member name will be present, but the
 20305  // value will be replaced with "sensitive".
 20306  func (s ContainerServiceStateDetail) GoString() string {
 20307  	return s.String()
 20308  }
 20309  
 20310  // SetCode sets the Code field's value.
 20311  func (s *ContainerServiceStateDetail) SetCode(v string) *ContainerServiceStateDetail {
 20312  	s.Code = &v
 20313  	return s
 20314  }
 20315  
 20316  // SetMessage sets the Message field's value.
 20317  func (s *ContainerServiceStateDetail) SetMessage(v string) *ContainerServiceStateDetail {
 20318  	s.Message = &v
 20319  	return s
 20320  }
 20321  
 20322  // Describes whether an Amazon Lightsail content delivery network (CDN) distribution
 20323  // forwards cookies to the origin and, if so, which ones.
 20324  //
 20325  // For the cookies that you specify, your distribution caches separate versions
 20326  // of the specified content based on the cookie values in viewer requests.
 20327  type CookieObject struct {
 20328  	_ struct{} `type:"structure"`
 20329  
 20330  	// The specific cookies to forward to your distribution's origin.
 20331  	CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"`
 20332  
 20333  	// Specifies which cookies to forward to the distribution's origin for a cache
 20334  	// behavior: all, none, or allow-list to forward only the cookies specified
 20335  	// in the cookiesAllowList parameter.
 20336  	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
 20337  }
 20338  
 20339  // String returns the string representation.
 20340  //
 20341  // API parameter values that are decorated as "sensitive" in the API will not
 20342  // be included in the string output. The member name will be present, but the
 20343  // value will be replaced with "sensitive".
 20344  func (s CookieObject) String() string {
 20345  	return awsutil.Prettify(s)
 20346  }
 20347  
 20348  // GoString returns the string representation.
 20349  //
 20350  // API parameter values that are decorated as "sensitive" in the API will not
 20351  // be included in the string output. The member name will be present, but the
 20352  // value will be replaced with "sensitive".
 20353  func (s CookieObject) GoString() string {
 20354  	return s.String()
 20355  }
 20356  
 20357  // SetCookiesAllowList sets the CookiesAllowList field's value.
 20358  func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject {
 20359  	s.CookiesAllowList = v
 20360  	return s
 20361  }
 20362  
 20363  // SetOption sets the Option field's value.
 20364  func (s *CookieObject) SetOption(v string) *CookieObject {
 20365  	s.Option = &v
 20366  	return s
 20367  }
 20368  
 20369  type CopySnapshotInput struct {
 20370  	_ struct{} `type:"structure"`
 20371  
 20372  	// The date of the source automatic snapshot to copy. Use the get auto snapshots
 20373  	// operation to identify the dates of the available automatic snapshots.
 20374  	//
 20375  	// Constraints:
 20376  	//
 20377  	//    * Must be specified in YYYY-MM-DD format.
 20378  	//
 20379  	//    * This parameter cannot be defined together with the use latest restorable
 20380  	//    auto snapshot parameter. The restore date and use latest restorable auto
 20381  	//    snapshot parameters are mutually exclusive.
 20382  	//
 20383  	//    * Define this parameter only when copying an automatic snapshot as a manual
 20384  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 20385  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
 20386  	RestoreDate *string `locationName:"restoreDate" type:"string"`
 20387  
 20388  	// The AWS Region where the source manual or automatic snapshot is located.
 20389  	//
 20390  	// SourceRegion is a required field
 20391  	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
 20392  
 20393  	// The name of the source instance or disk from which the source automatic snapshot
 20394  	// was created.
 20395  	//
 20396  	// Constraint:
 20397  	//
 20398  	//    * Define this parameter only when copying an automatic snapshot as a manual
 20399  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 20400  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
 20401  	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
 20402  
 20403  	// The name of the source manual snapshot to copy.
 20404  	//
 20405  	// Constraint:
 20406  	//
 20407  	//    * Define this parameter only when copying a manual snapshot as another
 20408  	//    manual snapshot.
 20409  	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
 20410  
 20411  	// The name of the new manual snapshot to be created as a copy.
 20412  	//
 20413  	// TargetSnapshotName is a required field
 20414  	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
 20415  
 20416  	// A Boolean value to indicate whether to use the latest available automatic
 20417  	// snapshot of the specified source instance or disk.
 20418  	//
 20419  	// Constraints:
 20420  	//
 20421  	//    * This parameter cannot be defined together with the restore date parameter.
 20422  	//    The use latest restorable auto snapshot and restore date parameters are
 20423  	//    mutually exclusive.
 20424  	//
 20425  	//    * Define this parameter only when copying an automatic snapshot as a manual
 20426  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 20427  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
 20428  	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
 20429  }
 20430  
 20431  // String returns the string representation.
 20432  //
 20433  // API parameter values that are decorated as "sensitive" in the API will not
 20434  // be included in the string output. The member name will be present, but the
 20435  // value will be replaced with "sensitive".
 20436  func (s CopySnapshotInput) String() string {
 20437  	return awsutil.Prettify(s)
 20438  }
 20439  
 20440  // GoString returns the string representation.
 20441  //
 20442  // API parameter values that are decorated as "sensitive" in the API will not
 20443  // be included in the string output. The member name will be present, but the
 20444  // value will be replaced with "sensitive".
 20445  func (s CopySnapshotInput) GoString() string {
 20446  	return s.String()
 20447  }
 20448  
 20449  // Validate inspects the fields of the type to determine if they are valid.
 20450  func (s *CopySnapshotInput) Validate() error {
 20451  	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
 20452  	if s.SourceRegion == nil {
 20453  		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
 20454  	}
 20455  	if s.TargetSnapshotName == nil {
 20456  		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
 20457  	}
 20458  
 20459  	if invalidParams.Len() > 0 {
 20460  		return invalidParams
 20461  	}
 20462  	return nil
 20463  }
 20464  
 20465  // SetRestoreDate sets the RestoreDate field's value.
 20466  func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
 20467  	s.RestoreDate = &v
 20468  	return s
 20469  }
 20470  
 20471  // SetSourceRegion sets the SourceRegion field's value.
 20472  func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
 20473  	s.SourceRegion = &v
 20474  	return s
 20475  }
 20476  
 20477  // SetSourceResourceName sets the SourceResourceName field's value.
 20478  func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
 20479  	s.SourceResourceName = &v
 20480  	return s
 20481  }
 20482  
 20483  // SetSourceSnapshotName sets the SourceSnapshotName field's value.
 20484  func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
 20485  	s.SourceSnapshotName = &v
 20486  	return s
 20487  }
 20488  
 20489  // SetTargetSnapshotName sets the TargetSnapshotName field's value.
 20490  func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
 20491  	s.TargetSnapshotName = &v
 20492  	return s
 20493  }
 20494  
 20495  // SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
 20496  func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
 20497  	s.UseLatestRestorableAutoSnapshot = &v
 20498  	return s
 20499  }
 20500  
 20501  type CopySnapshotOutput struct {
 20502  	_ struct{} `type:"structure"`
 20503  
 20504  	// An array of objects that describe the result of the action, such as the status
 20505  	// of the request, the timestamp of the request, and the resources affected
 20506  	// by the request.
 20507  	Operations []*Operation `locationName:"operations" type:"list"`
 20508  }
 20509  
 20510  // String returns the string representation.
 20511  //
 20512  // API parameter values that are decorated as "sensitive" in the API will not
 20513  // be included in the string output. The member name will be present, but the
 20514  // value will be replaced with "sensitive".
 20515  func (s CopySnapshotOutput) String() string {
 20516  	return awsutil.Prettify(s)
 20517  }
 20518  
 20519  // GoString returns the string representation.
 20520  //
 20521  // API parameter values that are decorated as "sensitive" in the API will not
 20522  // be included in the string output. The member name will be present, but the
 20523  // value will be replaced with "sensitive".
 20524  func (s CopySnapshotOutput) GoString() string {
 20525  	return s.String()
 20526  }
 20527  
 20528  // SetOperations sets the Operations field's value.
 20529  func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
 20530  	s.Operations = v
 20531  	return s
 20532  }
 20533  
 20534  type CreateBucketAccessKeyInput struct {
 20535  	_ struct{} `type:"structure"`
 20536  
 20537  	// The name of the bucket that the new access key will belong to, and grant
 20538  	// access to.
 20539  	//
 20540  	// BucketName is a required field
 20541  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 20542  }
 20543  
 20544  // String returns the string representation.
 20545  //
 20546  // API parameter values that are decorated as "sensitive" in the API will not
 20547  // be included in the string output. The member name will be present, but the
 20548  // value will be replaced with "sensitive".
 20549  func (s CreateBucketAccessKeyInput) String() string {
 20550  	return awsutil.Prettify(s)
 20551  }
 20552  
 20553  // GoString returns the string representation.
 20554  //
 20555  // API parameter values that are decorated as "sensitive" in the API will not
 20556  // be included in the string output. The member name will be present, but the
 20557  // value will be replaced with "sensitive".
 20558  func (s CreateBucketAccessKeyInput) GoString() string {
 20559  	return s.String()
 20560  }
 20561  
 20562  // Validate inspects the fields of the type to determine if they are valid.
 20563  func (s *CreateBucketAccessKeyInput) Validate() error {
 20564  	invalidParams := request.ErrInvalidParams{Context: "CreateBucketAccessKeyInput"}
 20565  	if s.BucketName == nil {
 20566  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 20567  	}
 20568  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 20569  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 20570  	}
 20571  
 20572  	if invalidParams.Len() > 0 {
 20573  		return invalidParams
 20574  	}
 20575  	return nil
 20576  }
 20577  
 20578  // SetBucketName sets the BucketName field's value.
 20579  func (s *CreateBucketAccessKeyInput) SetBucketName(v string) *CreateBucketAccessKeyInput {
 20580  	s.BucketName = &v
 20581  	return s
 20582  }
 20583  
 20584  type CreateBucketAccessKeyOutput struct {
 20585  	_ struct{} `type:"structure"`
 20586  
 20587  	// An object that describes the access key that is created.
 20588  	AccessKey *AccessKey `locationName:"accessKey" type:"structure"`
 20589  
 20590  	// An array of objects that describe the result of the action, such as the status
 20591  	// of the request, the timestamp of the request, and the resources affected
 20592  	// by the request.
 20593  	Operations []*Operation `locationName:"operations" type:"list"`
 20594  }
 20595  
 20596  // String returns the string representation.
 20597  //
 20598  // API parameter values that are decorated as "sensitive" in the API will not
 20599  // be included in the string output. The member name will be present, but the
 20600  // value will be replaced with "sensitive".
 20601  func (s CreateBucketAccessKeyOutput) String() string {
 20602  	return awsutil.Prettify(s)
 20603  }
 20604  
 20605  // GoString returns the string representation.
 20606  //
 20607  // API parameter values that are decorated as "sensitive" in the API will not
 20608  // be included in the string output. The member name will be present, but the
 20609  // value will be replaced with "sensitive".
 20610  func (s CreateBucketAccessKeyOutput) GoString() string {
 20611  	return s.String()
 20612  }
 20613  
 20614  // SetAccessKey sets the AccessKey field's value.
 20615  func (s *CreateBucketAccessKeyOutput) SetAccessKey(v *AccessKey) *CreateBucketAccessKeyOutput {
 20616  	s.AccessKey = v
 20617  	return s
 20618  }
 20619  
 20620  // SetOperations sets the Operations field's value.
 20621  func (s *CreateBucketAccessKeyOutput) SetOperations(v []*Operation) *CreateBucketAccessKeyOutput {
 20622  	s.Operations = v
 20623  	return s
 20624  }
 20625  
 20626  type CreateBucketInput struct {
 20627  	_ struct{} `type:"structure"`
 20628  
 20629  	// The name for the bucket.
 20630  	//
 20631  	// For more information about bucket names, see Bucket naming rules in Amazon
 20632  	// Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/bucket-naming-rules-in-amazon-lightsail)
 20633  	// in the Amazon Lightsail Developer Guide.
 20634  	//
 20635  	// BucketName is a required field
 20636  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 20637  
 20638  	// The ID of the bundle to use for the bucket.
 20639  	//
 20640  	// A bucket bundle specifies the monthly cost, storage space, and data transfer
 20641  	// quota for a bucket.
 20642  	//
 20643  	// Use the GetBucketBundles action to get a list of bundle IDs that you can
 20644  	// specify.
 20645  	//
 20646  	// Use the UpdateBucketBundle action to change the bundle after the bucket is
 20647  	// created.
 20648  	//
 20649  	// BundleId is a required field
 20650  	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
 20651  
 20652  	// A Boolean value that indicates whether to enable versioning of objects in
 20653  	// the bucket.
 20654  	//
 20655  	// For more information about versioning, see Enabling and suspending object
 20656  	// versioning in a bucket in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-managing-bucket-object-versioning)
 20657  	// in the Amazon Lightsail Developer Guide.
 20658  	EnableObjectVersioning *bool `locationName:"enableObjectVersioning" type:"boolean"`
 20659  
 20660  	// The tag keys and optional values to add to the bucket during creation.
 20661  	//
 20662  	// Use the TagResource action to tag the bucket after it's created.
 20663  	Tags []*Tag `locationName:"tags" type:"list"`
 20664  }
 20665  
 20666  // String returns the string representation.
 20667  //
 20668  // API parameter values that are decorated as "sensitive" in the API will not
 20669  // be included in the string output. The member name will be present, but the
 20670  // value will be replaced with "sensitive".
 20671  func (s CreateBucketInput) String() string {
 20672  	return awsutil.Prettify(s)
 20673  }
 20674  
 20675  // GoString returns the string representation.
 20676  //
 20677  // API parameter values that are decorated as "sensitive" in the API will not
 20678  // be included in the string output. The member name will be present, but the
 20679  // value will be replaced with "sensitive".
 20680  func (s CreateBucketInput) GoString() string {
 20681  	return s.String()
 20682  }
 20683  
 20684  // Validate inspects the fields of the type to determine if they are valid.
 20685  func (s *CreateBucketInput) Validate() error {
 20686  	invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
 20687  	if s.BucketName == nil {
 20688  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 20689  	}
 20690  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 20691  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 20692  	}
 20693  	if s.BundleId == nil {
 20694  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
 20695  	}
 20696  
 20697  	if invalidParams.Len() > 0 {
 20698  		return invalidParams
 20699  	}
 20700  	return nil
 20701  }
 20702  
 20703  // SetBucketName sets the BucketName field's value.
 20704  func (s *CreateBucketInput) SetBucketName(v string) *CreateBucketInput {
 20705  	s.BucketName = &v
 20706  	return s
 20707  }
 20708  
 20709  // SetBundleId sets the BundleId field's value.
 20710  func (s *CreateBucketInput) SetBundleId(v string) *CreateBucketInput {
 20711  	s.BundleId = &v
 20712  	return s
 20713  }
 20714  
 20715  // SetEnableObjectVersioning sets the EnableObjectVersioning field's value.
 20716  func (s *CreateBucketInput) SetEnableObjectVersioning(v bool) *CreateBucketInput {
 20717  	s.EnableObjectVersioning = &v
 20718  	return s
 20719  }
 20720  
 20721  // SetTags sets the Tags field's value.
 20722  func (s *CreateBucketInput) SetTags(v []*Tag) *CreateBucketInput {
 20723  	s.Tags = v
 20724  	return s
 20725  }
 20726  
 20727  type CreateBucketOutput struct {
 20728  	_ struct{} `type:"structure"`
 20729  
 20730  	// An object that describes the bucket that is created.
 20731  	Bucket *Bucket `locationName:"bucket" type:"structure"`
 20732  
 20733  	// An array of objects that describe the result of the action, such as the status
 20734  	// of the request, the timestamp of the request, and the resources affected
 20735  	// by the request.
 20736  	Operations []*Operation `locationName:"operations" type:"list"`
 20737  }
 20738  
 20739  // String returns the string representation.
 20740  //
 20741  // API parameter values that are decorated as "sensitive" in the API will not
 20742  // be included in the string output. The member name will be present, but the
 20743  // value will be replaced with "sensitive".
 20744  func (s CreateBucketOutput) String() string {
 20745  	return awsutil.Prettify(s)
 20746  }
 20747  
 20748  // GoString returns the string representation.
 20749  //
 20750  // API parameter values that are decorated as "sensitive" in the API will not
 20751  // be included in the string output. The member name will be present, but the
 20752  // value will be replaced with "sensitive".
 20753  func (s CreateBucketOutput) GoString() string {
 20754  	return s.String()
 20755  }
 20756  
 20757  // SetBucket sets the Bucket field's value.
 20758  func (s *CreateBucketOutput) SetBucket(v *Bucket) *CreateBucketOutput {
 20759  	s.Bucket = v
 20760  	return s
 20761  }
 20762  
 20763  // SetOperations sets the Operations field's value.
 20764  func (s *CreateBucketOutput) SetOperations(v []*Operation) *CreateBucketOutput {
 20765  	s.Operations = v
 20766  	return s
 20767  }
 20768  
 20769  type CreateCertificateInput struct {
 20770  	_ struct{} `type:"structure"`
 20771  
 20772  	// The name for the certificate.
 20773  	//
 20774  	// CertificateName is a required field
 20775  	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
 20776  
 20777  	// The domain name (e.g., example.com) for the certificate.
 20778  	//
 20779  	// DomainName is a required field
 20780  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 20781  
 20782  	// An array of strings that specify the alternate domains (e.g., example2.com)
 20783  	// and subdomains (e.g., blog.example.com) for the certificate.
 20784  	//
 20785  	// You can specify a maximum of nine alternate domains (in addition to the primary
 20786  	// domain name).
 20787  	//
 20788  	// Wildcard domain entries (e.g., *.example.com) are not supported.
 20789  	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
 20790  
 20791  	// The tag keys and optional values to add to the certificate during create.
 20792  	//
 20793  	// Use the TagResource action to tag a resource after it's created.
 20794  	Tags []*Tag `locationName:"tags" type:"list"`
 20795  }
 20796  
 20797  // String returns the string representation.
 20798  //
 20799  // API parameter values that are decorated as "sensitive" in the API will not
 20800  // be included in the string output. The member name will be present, but the
 20801  // value will be replaced with "sensitive".
 20802  func (s CreateCertificateInput) String() string {
 20803  	return awsutil.Prettify(s)
 20804  }
 20805  
 20806  // GoString returns the string representation.
 20807  //
 20808  // API parameter values that are decorated as "sensitive" in the API will not
 20809  // be included in the string output. The member name will be present, but the
 20810  // value will be replaced with "sensitive".
 20811  func (s CreateCertificateInput) GoString() string {
 20812  	return s.String()
 20813  }
 20814  
 20815  // Validate inspects the fields of the type to determine if they are valid.
 20816  func (s *CreateCertificateInput) Validate() error {
 20817  	invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"}
 20818  	if s.CertificateName == nil {
 20819  		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
 20820  	}
 20821  	if s.DomainName == nil {
 20822  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 20823  	}
 20824  
 20825  	if invalidParams.Len() > 0 {
 20826  		return invalidParams
 20827  	}
 20828  	return nil
 20829  }
 20830  
 20831  // SetCertificateName sets the CertificateName field's value.
 20832  func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput {
 20833  	s.CertificateName = &v
 20834  	return s
 20835  }
 20836  
 20837  // SetDomainName sets the DomainName field's value.
 20838  func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput {
 20839  	s.DomainName = &v
 20840  	return s
 20841  }
 20842  
 20843  // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
 20844  func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput {
 20845  	s.SubjectAlternativeNames = v
 20846  	return s
 20847  }
 20848  
 20849  // SetTags sets the Tags field's value.
 20850  func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput {
 20851  	s.Tags = v
 20852  	return s
 20853  }
 20854  
 20855  type CreateCertificateOutput struct {
 20856  	_ struct{} `type:"structure"`
 20857  
 20858  	// An object that describes the certificate created.
 20859  	Certificate *CertificateSummary `locationName:"certificate" type:"structure"`
 20860  
 20861  	// An array of objects that describe the result of the action, such as the status
 20862  	// of the request, the timestamp of the request, and the resources affected
 20863  	// by the request.
 20864  	Operations []*Operation `locationName:"operations" type:"list"`
 20865  }
 20866  
 20867  // String returns the string representation.
 20868  //
 20869  // API parameter values that are decorated as "sensitive" in the API will not
 20870  // be included in the string output. The member name will be present, but the
 20871  // value will be replaced with "sensitive".
 20872  func (s CreateCertificateOutput) String() string {
 20873  	return awsutil.Prettify(s)
 20874  }
 20875  
 20876  // GoString returns the string representation.
 20877  //
 20878  // API parameter values that are decorated as "sensitive" in the API will not
 20879  // be included in the string output. The member name will be present, but the
 20880  // value will be replaced with "sensitive".
 20881  func (s CreateCertificateOutput) GoString() string {
 20882  	return s.String()
 20883  }
 20884  
 20885  // SetCertificate sets the Certificate field's value.
 20886  func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput {
 20887  	s.Certificate = v
 20888  	return s
 20889  }
 20890  
 20891  // SetOperations sets the Operations field's value.
 20892  func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput {
 20893  	s.Operations = v
 20894  	return s
 20895  }
 20896  
 20897  type CreateCloudFormationStackInput struct {
 20898  	_ struct{} `type:"structure"`
 20899  
 20900  	// An array of parameters that will be used to create the new Amazon EC2 instance.
 20901  	// You can only pass one instance entry at a time in this array. You will get
 20902  	// an invalid parameter error if you pass more than one instance entry in this
 20903  	// array.
 20904  	//
 20905  	// Instances is a required field
 20906  	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
 20907  }
 20908  
 20909  // String returns the string representation.
 20910  //
 20911  // API parameter values that are decorated as "sensitive" in the API will not
 20912  // be included in the string output. The member name will be present, but the
 20913  // value will be replaced with "sensitive".
 20914  func (s CreateCloudFormationStackInput) String() string {
 20915  	return awsutil.Prettify(s)
 20916  }
 20917  
 20918  // GoString returns the string representation.
 20919  //
 20920  // API parameter values that are decorated as "sensitive" in the API will not
 20921  // be included in the string output. The member name will be present, but the
 20922  // value will be replaced with "sensitive".
 20923  func (s CreateCloudFormationStackInput) GoString() string {
 20924  	return s.String()
 20925  }
 20926  
 20927  // Validate inspects the fields of the type to determine if they are valid.
 20928  func (s *CreateCloudFormationStackInput) Validate() error {
 20929  	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
 20930  	if s.Instances == nil {
 20931  		invalidParams.Add(request.NewErrParamRequired("Instances"))
 20932  	}
 20933  	if s.Instances != nil {
 20934  		for i, v := range s.Instances {
 20935  			if v == nil {
 20936  				continue
 20937  			}
 20938  			if err := v.Validate(); err != nil {
 20939  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
 20940  			}
 20941  		}
 20942  	}
 20943  
 20944  	if invalidParams.Len() > 0 {
 20945  		return invalidParams
 20946  	}
 20947  	return nil
 20948  }
 20949  
 20950  // SetInstances sets the Instances field's value.
 20951  func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
 20952  	s.Instances = v
 20953  	return s
 20954  }
 20955  
 20956  type CreateCloudFormationStackOutput struct {
 20957  	_ struct{} `type:"structure"`
 20958  
 20959  	// An array of objects that describe the result of the action, such as the status
 20960  	// of the request, the timestamp of the request, and the resources affected
 20961  	// by the request.
 20962  	Operations []*Operation `locationName:"operations" type:"list"`
 20963  }
 20964  
 20965  // String returns the string representation.
 20966  //
 20967  // API parameter values that are decorated as "sensitive" in the API will not
 20968  // be included in the string output. The member name will be present, but the
 20969  // value will be replaced with "sensitive".
 20970  func (s CreateCloudFormationStackOutput) String() string {
 20971  	return awsutil.Prettify(s)
 20972  }
 20973  
 20974  // GoString returns the string representation.
 20975  //
 20976  // API parameter values that are decorated as "sensitive" in the API will not
 20977  // be included in the string output. The member name will be present, but the
 20978  // value will be replaced with "sensitive".
 20979  func (s CreateCloudFormationStackOutput) GoString() string {
 20980  	return s.String()
 20981  }
 20982  
 20983  // SetOperations sets the Operations field's value.
 20984  func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
 20985  	s.Operations = v
 20986  	return s
 20987  }
 20988  
 20989  type CreateContactMethodInput struct {
 20990  	_ struct{} `type:"structure"`
 20991  
 20992  	// The destination of the contact method, such as an email address or a mobile
 20993  	// phone number.
 20994  	//
 20995  	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
 20996  	// for the phone number structure used for international telecommunication.
 20997  	// Phone numbers that follow this format can have a maximum of 15 digits, and
 20998  	// they are prefixed with the plus character (+) and the country code. For example,
 20999  	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
 21000  	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia.
 21001  	//
 21002  	// ContactEndpoint is a required field
 21003  	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
 21004  
 21005  	// The protocol of the contact method, such as Email or SMS (text messaging).
 21006  	//
 21007  	// The SMS protocol is supported only in the following AWS Regions.
 21008  	//
 21009  	//    * US East (N. Virginia) (us-east-1)
 21010  	//
 21011  	//    * US West (Oregon) (us-west-2)
 21012  	//
 21013  	//    * Europe (Ireland) (eu-west-1)
 21014  	//
 21015  	//    * Asia Pacific (Tokyo) (ap-northeast-1)
 21016  	//
 21017  	//    * Asia Pacific (Singapore) (ap-southeast-1)
 21018  	//
 21019  	//    * Asia Pacific (Sydney) (ap-southeast-2)
 21020  	//
 21021  	// For a list of countries/regions where SMS text messages can be sent, and
 21022  	// the latest AWS Regions where SMS text messaging is supported, see Supported
 21023  	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
 21024  	// in the Amazon SNS Developer Guide.
 21025  	//
 21026  	// For more information about notifications in Amazon Lightsail, see Notifications
 21027  	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
 21028  	//
 21029  	// Protocol is a required field
 21030  	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
 21031  }
 21032  
 21033  // String returns the string representation.
 21034  //
 21035  // API parameter values that are decorated as "sensitive" in the API will not
 21036  // be included in the string output. The member name will be present, but the
 21037  // value will be replaced with "sensitive".
 21038  func (s CreateContactMethodInput) String() string {
 21039  	return awsutil.Prettify(s)
 21040  }
 21041  
 21042  // GoString returns the string representation.
 21043  //
 21044  // API parameter values that are decorated as "sensitive" in the API will not
 21045  // be included in the string output. The member name will be present, but the
 21046  // value will be replaced with "sensitive".
 21047  func (s CreateContactMethodInput) GoString() string {
 21048  	return s.String()
 21049  }
 21050  
 21051  // Validate inspects the fields of the type to determine if they are valid.
 21052  func (s *CreateContactMethodInput) Validate() error {
 21053  	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
 21054  	if s.ContactEndpoint == nil {
 21055  		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
 21056  	}
 21057  	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
 21058  		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
 21059  	}
 21060  	if s.Protocol == nil {
 21061  		invalidParams.Add(request.NewErrParamRequired("Protocol"))
 21062  	}
 21063  
 21064  	if invalidParams.Len() > 0 {
 21065  		return invalidParams
 21066  	}
 21067  	return nil
 21068  }
 21069  
 21070  // SetContactEndpoint sets the ContactEndpoint field's value.
 21071  func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
 21072  	s.ContactEndpoint = &v
 21073  	return s
 21074  }
 21075  
 21076  // SetProtocol sets the Protocol field's value.
 21077  func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
 21078  	s.Protocol = &v
 21079  	return s
 21080  }
 21081  
 21082  type CreateContactMethodOutput struct {
 21083  	_ struct{} `type:"structure"`
 21084  
 21085  	// An array of objects that describe the result of the action, such as the status
 21086  	// of the request, the timestamp of the request, and the resources affected
 21087  	// by the request.
 21088  	Operations []*Operation `locationName:"operations" type:"list"`
 21089  }
 21090  
 21091  // String returns the string representation.
 21092  //
 21093  // API parameter values that are decorated as "sensitive" in the API will not
 21094  // be included in the string output. The member name will be present, but the
 21095  // value will be replaced with "sensitive".
 21096  func (s CreateContactMethodOutput) String() string {
 21097  	return awsutil.Prettify(s)
 21098  }
 21099  
 21100  // GoString returns the string representation.
 21101  //
 21102  // API parameter values that are decorated as "sensitive" in the API will not
 21103  // be included in the string output. The member name will be present, but the
 21104  // value will be replaced with "sensitive".
 21105  func (s CreateContactMethodOutput) GoString() string {
 21106  	return s.String()
 21107  }
 21108  
 21109  // SetOperations sets the Operations field's value.
 21110  func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
 21111  	s.Operations = v
 21112  	return s
 21113  }
 21114  
 21115  type CreateContainerServiceDeploymentInput struct {
 21116  	_ struct{} `type:"structure"`
 21117  
 21118  	// An object that describes the settings of the containers that will be launched
 21119  	// on the container service.
 21120  	Containers map[string]*Container `locationName:"containers" type:"map"`
 21121  
 21122  	// An object that describes the settings of the public endpoint for the container
 21123  	// service.
 21124  	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
 21125  
 21126  	// The name of the container service for which to create the deployment.
 21127  	//
 21128  	// ServiceName is a required field
 21129  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 21130  }
 21131  
 21132  // String returns the string representation.
 21133  //
 21134  // API parameter values that are decorated as "sensitive" in the API will not
 21135  // be included in the string output. The member name will be present, but the
 21136  // value will be replaced with "sensitive".
 21137  func (s CreateContainerServiceDeploymentInput) String() string {
 21138  	return awsutil.Prettify(s)
 21139  }
 21140  
 21141  // GoString returns the string representation.
 21142  //
 21143  // API parameter values that are decorated as "sensitive" in the API will not
 21144  // be included in the string output. The member name will be present, but the
 21145  // value will be replaced with "sensitive".
 21146  func (s CreateContainerServiceDeploymentInput) GoString() string {
 21147  	return s.String()
 21148  }
 21149  
 21150  // Validate inspects the fields of the type to determine if they are valid.
 21151  func (s *CreateContainerServiceDeploymentInput) Validate() error {
 21152  	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceDeploymentInput"}
 21153  	if s.ServiceName == nil {
 21154  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 21155  	}
 21156  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 21157  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 21158  	}
 21159  	if s.PublicEndpoint != nil {
 21160  		if err := s.PublicEndpoint.Validate(); err != nil {
 21161  			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
 21162  		}
 21163  	}
 21164  
 21165  	if invalidParams.Len() > 0 {
 21166  		return invalidParams
 21167  	}
 21168  	return nil
 21169  }
 21170  
 21171  // SetContainers sets the Containers field's value.
 21172  func (s *CreateContainerServiceDeploymentInput) SetContainers(v map[string]*Container) *CreateContainerServiceDeploymentInput {
 21173  	s.Containers = v
 21174  	return s
 21175  }
 21176  
 21177  // SetPublicEndpoint sets the PublicEndpoint field's value.
 21178  func (s *CreateContainerServiceDeploymentInput) SetPublicEndpoint(v *EndpointRequest) *CreateContainerServiceDeploymentInput {
 21179  	s.PublicEndpoint = v
 21180  	return s
 21181  }
 21182  
 21183  // SetServiceName sets the ServiceName field's value.
 21184  func (s *CreateContainerServiceDeploymentInput) SetServiceName(v string) *CreateContainerServiceDeploymentInput {
 21185  	s.ServiceName = &v
 21186  	return s
 21187  }
 21188  
 21189  type CreateContainerServiceDeploymentOutput struct {
 21190  	_ struct{} `type:"structure"`
 21191  
 21192  	// An object that describes a container service.
 21193  	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
 21194  }
 21195  
 21196  // String returns the string representation.
 21197  //
 21198  // API parameter values that are decorated as "sensitive" in the API will not
 21199  // be included in the string output. The member name will be present, but the
 21200  // value will be replaced with "sensitive".
 21201  func (s CreateContainerServiceDeploymentOutput) String() string {
 21202  	return awsutil.Prettify(s)
 21203  }
 21204  
 21205  // GoString returns the string representation.
 21206  //
 21207  // API parameter values that are decorated as "sensitive" in the API will not
 21208  // be included in the string output. The member name will be present, but the
 21209  // value will be replaced with "sensitive".
 21210  func (s CreateContainerServiceDeploymentOutput) GoString() string {
 21211  	return s.String()
 21212  }
 21213  
 21214  // SetContainerService sets the ContainerService field's value.
 21215  func (s *CreateContainerServiceDeploymentOutput) SetContainerService(v *ContainerService) *CreateContainerServiceDeploymentOutput {
 21216  	s.ContainerService = v
 21217  	return s
 21218  }
 21219  
 21220  type CreateContainerServiceInput struct {
 21221  	_ struct{} `type:"structure"`
 21222  
 21223  	// An object that describes a deployment for the container service.
 21224  	//
 21225  	// A deployment specifies the containers that will be launched on the container
 21226  	// service and their settings, such as the ports to open, the environment variables
 21227  	// to apply, and the launch command to run. It also specifies the container
 21228  	// that will serve as the public endpoint of the deployment and its settings,
 21229  	// such as the HTTP or HTTPS port to use, and the health check configuration.
 21230  	Deployment *ContainerServiceDeploymentRequest `locationName:"deployment" type:"structure"`
 21231  
 21232  	// The power specification for the container service.
 21233  	//
 21234  	// The power specifies the amount of memory, vCPUs, and base monthly cost of
 21235  	// each node of the container service. The power and scale of a container service
 21236  	// makes up its configured capacity. To determine the monthly price of your
 21237  	// container service, multiply the base price of the power with the scale (the
 21238  	// number of nodes) of the service.
 21239  	//
 21240  	// Use the GetContainerServicePowers action to get a list of power options that
 21241  	// you can specify using this parameter, and their base monthly cost.
 21242  	//
 21243  	// Power is a required field
 21244  	Power *string `locationName:"power" type:"string" required:"true" enum:"ContainerServicePowerName"`
 21245  
 21246  	// The public domain names to use with the container service, such as example.com
 21247  	// and www.example.com.
 21248  	//
 21249  	// You can specify up to four public domain names for a container service. The
 21250  	// domain names that you specify are used when you create a deployment with
 21251  	// a container configured as the public endpoint of your container service.
 21252  	//
 21253  	// If you don't specify public domain names, then you can use the default domain
 21254  	// of the container service.
 21255  	//
 21256  	// You must create and validate an SSL/TLS certificate before you can use public
 21257  	// domain names with your container service. Use the CreateCertificate action
 21258  	// to create a certificate for the public domain names you want to use with
 21259  	// your container service.
 21260  	//
 21261  	// You can specify public domain names using a string to array map as shown
 21262  	// in the example later on this page.
 21263  	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
 21264  
 21265  	// The scale specification for the container service.
 21266  	//
 21267  	// The scale specifies the allocated compute nodes of the container service.
 21268  	// The power and scale of a container service makes up its configured capacity.
 21269  	// To determine the monthly price of your container service, multiply the base
 21270  	// price of the power with the scale (the number of nodes) of the service.
 21271  	//
 21272  	// Scale is a required field
 21273  	Scale *int64 `locationName:"scale" min:"1" type:"integer" required:"true"`
 21274  
 21275  	// The name for the container service.
 21276  	//
 21277  	// The name that you specify for your container service will make up part of
 21278  	// its default domain. The default domain of a container service is typically
 21279  	// https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. If
 21280  	// the name of your container service is container-service-1, and it's located
 21281  	// in the US East (Ohio) AWS region (us-east-2), then the domain for your container
 21282  	// service will be like the following example: https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com
 21283  	//
 21284  	// The following are the requirements for container service names:
 21285  	//
 21286  	//    * Must be unique within each AWS Region in your Lightsail account.
 21287  	//
 21288  	//    * Must contain 1 to 63 characters.
 21289  	//
 21290  	//    * Must contain only alphanumeric characters and hyphens.
 21291  	//
 21292  	//    * A hyphen (-) can separate words but cannot be at the start or end of
 21293  	//    the name.
 21294  	//
 21295  	// ServiceName is a required field
 21296  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 21297  
 21298  	// The tag keys and optional values to add to the certificate during create.
 21299  	//
 21300  	// Use the TagResource action to tag a resource after it's created.
 21301  	//
 21302  	// For more information about tags in Lightsail, see the Amazon Lightsail Developer
 21303  	// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 21304  	Tags []*Tag `locationName:"tags" type:"list"`
 21305  }
 21306  
 21307  // String returns the string representation.
 21308  //
 21309  // API parameter values that are decorated as "sensitive" in the API will not
 21310  // be included in the string output. The member name will be present, but the
 21311  // value will be replaced with "sensitive".
 21312  func (s CreateContainerServiceInput) String() string {
 21313  	return awsutil.Prettify(s)
 21314  }
 21315  
 21316  // GoString returns the string representation.
 21317  //
 21318  // API parameter values that are decorated as "sensitive" in the API will not
 21319  // be included in the string output. The member name will be present, but the
 21320  // value will be replaced with "sensitive".
 21321  func (s CreateContainerServiceInput) GoString() string {
 21322  	return s.String()
 21323  }
 21324  
 21325  // Validate inspects the fields of the type to determine if they are valid.
 21326  func (s *CreateContainerServiceInput) Validate() error {
 21327  	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceInput"}
 21328  	if s.Power == nil {
 21329  		invalidParams.Add(request.NewErrParamRequired("Power"))
 21330  	}
 21331  	if s.Scale == nil {
 21332  		invalidParams.Add(request.NewErrParamRequired("Scale"))
 21333  	}
 21334  	if s.Scale != nil && *s.Scale < 1 {
 21335  		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
 21336  	}
 21337  	if s.ServiceName == nil {
 21338  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 21339  	}
 21340  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 21341  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 21342  	}
 21343  	if s.Deployment != nil {
 21344  		if err := s.Deployment.Validate(); err != nil {
 21345  			invalidParams.AddNested("Deployment", err.(request.ErrInvalidParams))
 21346  		}
 21347  	}
 21348  
 21349  	if invalidParams.Len() > 0 {
 21350  		return invalidParams
 21351  	}
 21352  	return nil
 21353  }
 21354  
 21355  // SetDeployment sets the Deployment field's value.
 21356  func (s *CreateContainerServiceInput) SetDeployment(v *ContainerServiceDeploymentRequest) *CreateContainerServiceInput {
 21357  	s.Deployment = v
 21358  	return s
 21359  }
 21360  
 21361  // SetPower sets the Power field's value.
 21362  func (s *CreateContainerServiceInput) SetPower(v string) *CreateContainerServiceInput {
 21363  	s.Power = &v
 21364  	return s
 21365  }
 21366  
 21367  // SetPublicDomainNames sets the PublicDomainNames field's value.
 21368  func (s *CreateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *CreateContainerServiceInput {
 21369  	s.PublicDomainNames = v
 21370  	return s
 21371  }
 21372  
 21373  // SetScale sets the Scale field's value.
 21374  func (s *CreateContainerServiceInput) SetScale(v int64) *CreateContainerServiceInput {
 21375  	s.Scale = &v
 21376  	return s
 21377  }
 21378  
 21379  // SetServiceName sets the ServiceName field's value.
 21380  func (s *CreateContainerServiceInput) SetServiceName(v string) *CreateContainerServiceInput {
 21381  	s.ServiceName = &v
 21382  	return s
 21383  }
 21384  
 21385  // SetTags sets the Tags field's value.
 21386  func (s *CreateContainerServiceInput) SetTags(v []*Tag) *CreateContainerServiceInput {
 21387  	s.Tags = v
 21388  	return s
 21389  }
 21390  
 21391  type CreateContainerServiceOutput struct {
 21392  	_ struct{} `type:"structure"`
 21393  
 21394  	// An object that describes a container service.
 21395  	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
 21396  }
 21397  
 21398  // String returns the string representation.
 21399  //
 21400  // API parameter values that are decorated as "sensitive" in the API will not
 21401  // be included in the string output. The member name will be present, but the
 21402  // value will be replaced with "sensitive".
 21403  func (s CreateContainerServiceOutput) String() string {
 21404  	return awsutil.Prettify(s)
 21405  }
 21406  
 21407  // GoString returns the string representation.
 21408  //
 21409  // API parameter values that are decorated as "sensitive" in the API will not
 21410  // be included in the string output. The member name will be present, but the
 21411  // value will be replaced with "sensitive".
 21412  func (s CreateContainerServiceOutput) GoString() string {
 21413  	return s.String()
 21414  }
 21415  
 21416  // SetContainerService sets the ContainerService field's value.
 21417  func (s *CreateContainerServiceOutput) SetContainerService(v *ContainerService) *CreateContainerServiceOutput {
 21418  	s.ContainerService = v
 21419  	return s
 21420  }
 21421  
 21422  type CreateContainerServiceRegistryLoginInput struct {
 21423  	_ struct{} `type:"structure"`
 21424  }
 21425  
 21426  // String returns the string representation.
 21427  //
 21428  // API parameter values that are decorated as "sensitive" in the API will not
 21429  // be included in the string output. The member name will be present, but the
 21430  // value will be replaced with "sensitive".
 21431  func (s CreateContainerServiceRegistryLoginInput) String() string {
 21432  	return awsutil.Prettify(s)
 21433  }
 21434  
 21435  // GoString returns the string representation.
 21436  //
 21437  // API parameter values that are decorated as "sensitive" in the API will not
 21438  // be included in the string output. The member name will be present, but the
 21439  // value will be replaced with "sensitive".
 21440  func (s CreateContainerServiceRegistryLoginInput) GoString() string {
 21441  	return s.String()
 21442  }
 21443  
 21444  type CreateContainerServiceRegistryLoginOutput struct {
 21445  	_ struct{} `type:"structure"`
 21446  
 21447  	// An object that describes the log in information for the container service
 21448  	// registry of your Lightsail account.
 21449  	RegistryLogin *ContainerServiceRegistryLogin `locationName:"registryLogin" type:"structure"`
 21450  }
 21451  
 21452  // String returns the string representation.
 21453  //
 21454  // API parameter values that are decorated as "sensitive" in the API will not
 21455  // be included in the string output. The member name will be present, but the
 21456  // value will be replaced with "sensitive".
 21457  func (s CreateContainerServiceRegistryLoginOutput) String() string {
 21458  	return awsutil.Prettify(s)
 21459  }
 21460  
 21461  // GoString returns the string representation.
 21462  //
 21463  // API parameter values that are decorated as "sensitive" in the API will not
 21464  // be included in the string output. The member name will be present, but the
 21465  // value will be replaced with "sensitive".
 21466  func (s CreateContainerServiceRegistryLoginOutput) GoString() string {
 21467  	return s.String()
 21468  }
 21469  
 21470  // SetRegistryLogin sets the RegistryLogin field's value.
 21471  func (s *CreateContainerServiceRegistryLoginOutput) SetRegistryLogin(v *ContainerServiceRegistryLogin) *CreateContainerServiceRegistryLoginOutput {
 21472  	s.RegistryLogin = v
 21473  	return s
 21474  }
 21475  
 21476  type CreateDiskFromSnapshotInput struct {
 21477  	_ struct{} `type:"structure"`
 21478  
 21479  	// An array of objects that represent the add-ons to enable for the new disk.
 21480  	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
 21481  
 21482  	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
 21483  	// Choose the same Availability Zone as the Lightsail instance where you want
 21484  	// to create the disk.
 21485  	//
 21486  	// Use the GetRegions operation to list the Availability Zones where Lightsail
 21487  	// is currently available.
 21488  	//
 21489  	// AvailabilityZone is a required field
 21490  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
 21491  
 21492  	// The unique Lightsail disk name (e.g., my-disk).
 21493  	//
 21494  	// DiskName is a required field
 21495  	DiskName *string `locationName:"diskName" type:"string" required:"true"`
 21496  
 21497  	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
 21498  	// new storage disk.
 21499  	//
 21500  	// Constraint:
 21501  	//
 21502  	//    * This parameter cannot be defined together with the source disk name
 21503  	//    parameter. The disk snapshot name and source disk name parameters are
 21504  	//    mutually exclusive.
 21505  	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
 21506  
 21507  	// The date of the automatic snapshot to use for the new disk. Use the get auto
 21508  	// snapshots operation to identify the dates of the available automatic snapshots.
 21509  	//
 21510  	// Constraints:
 21511  	//
 21512  	//    * Must be specified in YYYY-MM-DD format.
 21513  	//
 21514  	//    * This parameter cannot be defined together with the use latest restorable
 21515  	//    auto snapshot parameter. The restore date and use latest restorable auto
 21516  	//    snapshot parameters are mutually exclusive.
 21517  	//
 21518  	//    * Define this parameter only when creating a new disk from an automatic
 21519  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 21520  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
 21521  	RestoreDate *string `locationName:"restoreDate" type:"string"`
 21522  
 21523  	// The size of the disk in GB (e.g., 32).
 21524  	//
 21525  	// SizeInGb is a required field
 21526  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
 21527  
 21528  	// The name of the source disk from which the source automatic snapshot was
 21529  	// created.
 21530  	//
 21531  	// Constraints:
 21532  	//
 21533  	//    * This parameter cannot be defined together with the disk snapshot name
 21534  	//    parameter. The source disk name and disk snapshot name parameters are
 21535  	//    mutually exclusive.
 21536  	//
 21537  	//    * Define this parameter only when creating a new disk from an automatic
 21538  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 21539  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
 21540  	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
 21541  
 21542  	// The tag keys and optional values to add to the resource during create.
 21543  	//
 21544  	// Use the TagResource action to tag a resource after it's created.
 21545  	Tags []*Tag `locationName:"tags" type:"list"`
 21546  
 21547  	// A Boolean value to indicate whether to use the latest available automatic
 21548  	// snapshot.
 21549  	//
 21550  	// Constraints:
 21551  	//
 21552  	//    * This parameter cannot be defined together with the restore date parameter.
 21553  	//    The use latest restorable auto snapshot and restore date parameters are
 21554  	//    mutually exclusive.
 21555  	//
 21556  	//    * Define this parameter only when creating a new disk from an automatic
 21557  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 21558  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
 21559  	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
 21560  }
 21561  
 21562  // String returns the string representation.
 21563  //
 21564  // API parameter values that are decorated as "sensitive" in the API will not
 21565  // be included in the string output. The member name will be present, but the
 21566  // value will be replaced with "sensitive".
 21567  func (s CreateDiskFromSnapshotInput) String() string {
 21568  	return awsutil.Prettify(s)
 21569  }
 21570  
 21571  // GoString returns the string representation.
 21572  //
 21573  // API parameter values that are decorated as "sensitive" in the API will not
 21574  // be included in the string output. The member name will be present, but the
 21575  // value will be replaced with "sensitive".
 21576  func (s CreateDiskFromSnapshotInput) GoString() string {
 21577  	return s.String()
 21578  }
 21579  
 21580  // Validate inspects the fields of the type to determine if they are valid.
 21581  func (s *CreateDiskFromSnapshotInput) Validate() error {
 21582  	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
 21583  	if s.AvailabilityZone == nil {
 21584  		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
 21585  	}
 21586  	if s.DiskName == nil {
 21587  		invalidParams.Add(request.NewErrParamRequired("DiskName"))
 21588  	}
 21589  	if s.SizeInGb == nil {
 21590  		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
 21591  	}
 21592  	if s.AddOns != nil {
 21593  		for i, v := range s.AddOns {
 21594  			if v == nil {
 21595  				continue
 21596  			}
 21597  			if err := v.Validate(); err != nil {
 21598  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
 21599  			}
 21600  		}
 21601  	}
 21602  
 21603  	if invalidParams.Len() > 0 {
 21604  		return invalidParams
 21605  	}
 21606  	return nil
 21607  }
 21608  
 21609  // SetAddOns sets the AddOns field's value.
 21610  func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
 21611  	s.AddOns = v
 21612  	return s
 21613  }
 21614  
 21615  // SetAvailabilityZone sets the AvailabilityZone field's value.
 21616  func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
 21617  	s.AvailabilityZone = &v
 21618  	return s
 21619  }
 21620  
 21621  // SetDiskName sets the DiskName field's value.
 21622  func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
 21623  	s.DiskName = &v
 21624  	return s
 21625  }
 21626  
 21627  // SetDiskSnapshotName sets the DiskSnapshotName field's value.
 21628  func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
 21629  	s.DiskSnapshotName = &v
 21630  	return s
 21631  }
 21632  
 21633  // SetRestoreDate sets the RestoreDate field's value.
 21634  func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
 21635  	s.RestoreDate = &v
 21636  	return s
 21637  }
 21638  
 21639  // SetSizeInGb sets the SizeInGb field's value.
 21640  func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
 21641  	s.SizeInGb = &v
 21642  	return s
 21643  }
 21644  
 21645  // SetSourceDiskName sets the SourceDiskName field's value.
 21646  func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
 21647  	s.SourceDiskName = &v
 21648  	return s
 21649  }
 21650  
 21651  // SetTags sets the Tags field's value.
 21652  func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
 21653  	s.Tags = v
 21654  	return s
 21655  }
 21656  
 21657  // SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
 21658  func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
 21659  	s.UseLatestRestorableAutoSnapshot = &v
 21660  	return s
 21661  }
 21662  
 21663  type CreateDiskFromSnapshotOutput struct {
 21664  	_ struct{} `type:"structure"`
 21665  
 21666  	// An array of objects that describe the result of the action, such as the status
 21667  	// of the request, the timestamp of the request, and the resources affected
 21668  	// by the request.
 21669  	Operations []*Operation `locationName:"operations" type:"list"`
 21670  }
 21671  
 21672  // String returns the string representation.
 21673  //
 21674  // API parameter values that are decorated as "sensitive" in the API will not
 21675  // be included in the string output. The member name will be present, but the
 21676  // value will be replaced with "sensitive".
 21677  func (s CreateDiskFromSnapshotOutput) String() string {
 21678  	return awsutil.Prettify(s)
 21679  }
 21680  
 21681  // GoString returns the string representation.
 21682  //
 21683  // API parameter values that are decorated as "sensitive" in the API will not
 21684  // be included in the string output. The member name will be present, but the
 21685  // value will be replaced with "sensitive".
 21686  func (s CreateDiskFromSnapshotOutput) GoString() string {
 21687  	return s.String()
 21688  }
 21689  
 21690  // SetOperations sets the Operations field's value.
 21691  func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
 21692  	s.Operations = v
 21693  	return s
 21694  }
 21695  
 21696  type CreateDiskInput struct {
 21697  	_ struct{} `type:"structure"`
 21698  
 21699  	// An array of objects that represent the add-ons to enable for the new disk.
 21700  	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
 21701  
 21702  	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
 21703  	// Use the same Availability Zone as the Lightsail instance to which you want
 21704  	// to attach the disk.
 21705  	//
 21706  	// Use the get regions operation to list the Availability Zones where Lightsail
 21707  	// is currently available.
 21708  	//
 21709  	// AvailabilityZone is a required field
 21710  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
 21711  
 21712  	// The unique Lightsail disk name (e.g., my-disk).
 21713  	//
 21714  	// DiskName is a required field
 21715  	DiskName *string `locationName:"diskName" type:"string" required:"true"`
 21716  
 21717  	// The size of the disk in GB (e.g., 32).
 21718  	//
 21719  	// SizeInGb is a required field
 21720  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
 21721  
 21722  	// The tag keys and optional values to add to the resource during create.
 21723  	//
 21724  	// Use the TagResource action to tag a resource after it's created.
 21725  	Tags []*Tag `locationName:"tags" type:"list"`
 21726  }
 21727  
 21728  // String returns the string representation.
 21729  //
 21730  // API parameter values that are decorated as "sensitive" in the API will not
 21731  // be included in the string output. The member name will be present, but the
 21732  // value will be replaced with "sensitive".
 21733  func (s CreateDiskInput) String() string {
 21734  	return awsutil.Prettify(s)
 21735  }
 21736  
 21737  // GoString returns the string representation.
 21738  //
 21739  // API parameter values that are decorated as "sensitive" in the API will not
 21740  // be included in the string output. The member name will be present, but the
 21741  // value will be replaced with "sensitive".
 21742  func (s CreateDiskInput) GoString() string {
 21743  	return s.String()
 21744  }
 21745  
 21746  // Validate inspects the fields of the type to determine if they are valid.
 21747  func (s *CreateDiskInput) Validate() error {
 21748  	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
 21749  	if s.AvailabilityZone == nil {
 21750  		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
 21751  	}
 21752  	if s.DiskName == nil {
 21753  		invalidParams.Add(request.NewErrParamRequired("DiskName"))
 21754  	}
 21755  	if s.SizeInGb == nil {
 21756  		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
 21757  	}
 21758  	if s.AddOns != nil {
 21759  		for i, v := range s.AddOns {
 21760  			if v == nil {
 21761  				continue
 21762  			}
 21763  			if err := v.Validate(); err != nil {
 21764  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
 21765  			}
 21766  		}
 21767  	}
 21768  
 21769  	if invalidParams.Len() > 0 {
 21770  		return invalidParams
 21771  	}
 21772  	return nil
 21773  }
 21774  
 21775  // SetAddOns sets the AddOns field's value.
 21776  func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
 21777  	s.AddOns = v
 21778  	return s
 21779  }
 21780  
 21781  // SetAvailabilityZone sets the AvailabilityZone field's value.
 21782  func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
 21783  	s.AvailabilityZone = &v
 21784  	return s
 21785  }
 21786  
 21787  // SetDiskName sets the DiskName field's value.
 21788  func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
 21789  	s.DiskName = &v
 21790  	return s
 21791  }
 21792  
 21793  // SetSizeInGb sets the SizeInGb field's value.
 21794  func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
 21795  	s.SizeInGb = &v
 21796  	return s
 21797  }
 21798  
 21799  // SetTags sets the Tags field's value.
 21800  func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
 21801  	s.Tags = v
 21802  	return s
 21803  }
 21804  
 21805  type CreateDiskOutput struct {
 21806  	_ struct{} `type:"structure"`
 21807  
 21808  	// An array of objects that describe the result of the action, such as the status
 21809  	// of the request, the timestamp of the request, and the resources affected
 21810  	// by the request.
 21811  	Operations []*Operation `locationName:"operations" type:"list"`
 21812  }
 21813  
 21814  // String returns the string representation.
 21815  //
 21816  // API parameter values that are decorated as "sensitive" in the API will not
 21817  // be included in the string output. The member name will be present, but the
 21818  // value will be replaced with "sensitive".
 21819  func (s CreateDiskOutput) String() string {
 21820  	return awsutil.Prettify(s)
 21821  }
 21822  
 21823  // GoString returns the string representation.
 21824  //
 21825  // API parameter values that are decorated as "sensitive" in the API will not
 21826  // be included in the string output. The member name will be present, but the
 21827  // value will be replaced with "sensitive".
 21828  func (s CreateDiskOutput) GoString() string {
 21829  	return s.String()
 21830  }
 21831  
 21832  // SetOperations sets the Operations field's value.
 21833  func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
 21834  	s.Operations = v
 21835  	return s
 21836  }
 21837  
 21838  type CreateDiskSnapshotInput struct {
 21839  	_ struct{} `type:"structure"`
 21840  
 21841  	// The unique name of the source disk (e.g., Disk-Virginia-1).
 21842  	//
 21843  	// This parameter cannot be defined together with the instance name parameter.
 21844  	// The disk name and instance name parameters are mutually exclusive.
 21845  	DiskName *string `locationName:"diskName" type:"string"`
 21846  
 21847  	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
 21848  	// on the source disk.
 21849  	//
 21850  	// DiskSnapshotName is a required field
 21851  	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
 21852  
 21853  	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
 21854  	// When this is defined, a snapshot of the instance's system volume is created.
 21855  	//
 21856  	// This parameter cannot be defined together with the disk name parameter. The
 21857  	// instance name and disk name parameters are mutually exclusive.
 21858  	InstanceName *string `locationName:"instanceName" type:"string"`
 21859  
 21860  	// The tag keys and optional values to add to the resource during create.
 21861  	//
 21862  	// Use the TagResource action to tag a resource after it's created.
 21863  	Tags []*Tag `locationName:"tags" type:"list"`
 21864  }
 21865  
 21866  // String returns the string representation.
 21867  //
 21868  // API parameter values that are decorated as "sensitive" in the API will not
 21869  // be included in the string output. The member name will be present, but the
 21870  // value will be replaced with "sensitive".
 21871  func (s CreateDiskSnapshotInput) String() string {
 21872  	return awsutil.Prettify(s)
 21873  }
 21874  
 21875  // GoString returns the string representation.
 21876  //
 21877  // API parameter values that are decorated as "sensitive" in the API will not
 21878  // be included in the string output. The member name will be present, but the
 21879  // value will be replaced with "sensitive".
 21880  func (s CreateDiskSnapshotInput) GoString() string {
 21881  	return s.String()
 21882  }
 21883  
 21884  // Validate inspects the fields of the type to determine if they are valid.
 21885  func (s *CreateDiskSnapshotInput) Validate() error {
 21886  	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
 21887  	if s.DiskSnapshotName == nil {
 21888  		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
 21889  	}
 21890  
 21891  	if invalidParams.Len() > 0 {
 21892  		return invalidParams
 21893  	}
 21894  	return nil
 21895  }
 21896  
 21897  // SetDiskName sets the DiskName field's value.
 21898  func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
 21899  	s.DiskName = &v
 21900  	return s
 21901  }
 21902  
 21903  // SetDiskSnapshotName sets the DiskSnapshotName field's value.
 21904  func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
 21905  	s.DiskSnapshotName = &v
 21906  	return s
 21907  }
 21908  
 21909  // SetInstanceName sets the InstanceName field's value.
 21910  func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
 21911  	s.InstanceName = &v
 21912  	return s
 21913  }
 21914  
 21915  // SetTags sets the Tags field's value.
 21916  func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
 21917  	s.Tags = v
 21918  	return s
 21919  }
 21920  
 21921  type CreateDiskSnapshotOutput struct {
 21922  	_ struct{} `type:"structure"`
 21923  
 21924  	// An array of objects that describe the result of the action, such as the status
 21925  	// of the request, the timestamp of the request, and the resources affected
 21926  	// by the request.
 21927  	Operations []*Operation `locationName:"operations" type:"list"`
 21928  }
 21929  
 21930  // String returns the string representation.
 21931  //
 21932  // API parameter values that are decorated as "sensitive" in the API will not
 21933  // be included in the string output. The member name will be present, but the
 21934  // value will be replaced with "sensitive".
 21935  func (s CreateDiskSnapshotOutput) String() string {
 21936  	return awsutil.Prettify(s)
 21937  }
 21938  
 21939  // GoString returns the string representation.
 21940  //
 21941  // API parameter values that are decorated as "sensitive" in the API will not
 21942  // be included in the string output. The member name will be present, but the
 21943  // value will be replaced with "sensitive".
 21944  func (s CreateDiskSnapshotOutput) GoString() string {
 21945  	return s.String()
 21946  }
 21947  
 21948  // SetOperations sets the Operations field's value.
 21949  func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
 21950  	s.Operations = v
 21951  	return s
 21952  }
 21953  
 21954  type CreateDistributionInput struct {
 21955  	_ struct{} `type:"structure"`
 21956  
 21957  	// The bundle ID to use for the distribution.
 21958  	//
 21959  	// A distribution bundle describes the specifications of your distribution,
 21960  	// such as the monthly cost and monthly network transfer quota.
 21961  	//
 21962  	// Use the GetDistributionBundles action to get a list of distribution bundle
 21963  	// IDs that you can specify.
 21964  	//
 21965  	// BundleId is a required field
 21966  	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
 21967  
 21968  	// An object that describes the cache behavior settings for the distribution.
 21969  	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
 21970  
 21971  	// An array of objects that describe the per-path cache behavior for the distribution.
 21972  	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
 21973  
 21974  	// An object that describes the default cache behavior for the distribution.
 21975  	//
 21976  	// DefaultCacheBehavior is a required field
 21977  	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"`
 21978  
 21979  	// The name for the distribution.
 21980  	//
 21981  	// DistributionName is a required field
 21982  	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
 21983  
 21984  	// The IP address type for the distribution.
 21985  	//
 21986  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 21987  	//
 21988  	// The default value is dualstack.
 21989  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 21990  
 21991  	// An object that describes the origin resource for the distribution, such as
 21992  	// a Lightsail instance or load balancer.
 21993  	//
 21994  	// The distribution pulls, caches, and serves content from the origin.
 21995  	//
 21996  	// Origin is a required field
 21997  	Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"`
 21998  
 21999  	// The tag keys and optional values to add to the distribution during create.
 22000  	//
 22001  	// Use the TagResource action to tag a resource after it's created.
 22002  	Tags []*Tag `locationName:"tags" type:"list"`
 22003  }
 22004  
 22005  // String returns the string representation.
 22006  //
 22007  // API parameter values that are decorated as "sensitive" in the API will not
 22008  // be included in the string output. The member name will be present, but the
 22009  // value will be replaced with "sensitive".
 22010  func (s CreateDistributionInput) String() string {
 22011  	return awsutil.Prettify(s)
 22012  }
 22013  
 22014  // GoString returns the string representation.
 22015  //
 22016  // API parameter values that are decorated as "sensitive" in the API will not
 22017  // be included in the string output. The member name will be present, but the
 22018  // value will be replaced with "sensitive".
 22019  func (s CreateDistributionInput) GoString() string {
 22020  	return s.String()
 22021  }
 22022  
 22023  // Validate inspects the fields of the type to determine if they are valid.
 22024  func (s *CreateDistributionInput) Validate() error {
 22025  	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
 22026  	if s.BundleId == nil {
 22027  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
 22028  	}
 22029  	if s.DefaultCacheBehavior == nil {
 22030  		invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
 22031  	}
 22032  	if s.DistributionName == nil {
 22033  		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
 22034  	}
 22035  	if s.Origin == nil {
 22036  		invalidParams.Add(request.NewErrParamRequired("Origin"))
 22037  	}
 22038  
 22039  	if invalidParams.Len() > 0 {
 22040  		return invalidParams
 22041  	}
 22042  	return nil
 22043  }
 22044  
 22045  // SetBundleId sets the BundleId field's value.
 22046  func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput {
 22047  	s.BundleId = &v
 22048  	return s
 22049  }
 22050  
 22051  // SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
 22052  func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput {
 22053  	s.CacheBehaviorSettings = v
 22054  	return s
 22055  }
 22056  
 22057  // SetCacheBehaviors sets the CacheBehaviors field's value.
 22058  func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput {
 22059  	s.CacheBehaviors = v
 22060  	return s
 22061  }
 22062  
 22063  // SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
 22064  func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput {
 22065  	s.DefaultCacheBehavior = v
 22066  	return s
 22067  }
 22068  
 22069  // SetDistributionName sets the DistributionName field's value.
 22070  func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput {
 22071  	s.DistributionName = &v
 22072  	return s
 22073  }
 22074  
 22075  // SetIpAddressType sets the IpAddressType field's value.
 22076  func (s *CreateDistributionInput) SetIpAddressType(v string) *CreateDistributionInput {
 22077  	s.IpAddressType = &v
 22078  	return s
 22079  }
 22080  
 22081  // SetOrigin sets the Origin field's value.
 22082  func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput {
 22083  	s.Origin = v
 22084  	return s
 22085  }
 22086  
 22087  // SetTags sets the Tags field's value.
 22088  func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput {
 22089  	s.Tags = v
 22090  	return s
 22091  }
 22092  
 22093  type CreateDistributionOutput struct {
 22094  	_ struct{} `type:"structure"`
 22095  
 22096  	// An object that describes the distribution created.
 22097  	Distribution *LightsailDistribution `locationName:"distribution" type:"structure"`
 22098  
 22099  	// An array of objects that describe the result of the action, such as the status
 22100  	// of the request, the timestamp of the request, and the resources affected
 22101  	// by the request.
 22102  	Operation *Operation `locationName:"operation" type:"structure"`
 22103  }
 22104  
 22105  // String returns the string representation.
 22106  //
 22107  // API parameter values that are decorated as "sensitive" in the API will not
 22108  // be included in the string output. The member name will be present, but the
 22109  // value will be replaced with "sensitive".
 22110  func (s CreateDistributionOutput) String() string {
 22111  	return awsutil.Prettify(s)
 22112  }
 22113  
 22114  // GoString returns the string representation.
 22115  //
 22116  // API parameter values that are decorated as "sensitive" in the API will not
 22117  // be included in the string output. The member name will be present, but the
 22118  // value will be replaced with "sensitive".
 22119  func (s CreateDistributionOutput) GoString() string {
 22120  	return s.String()
 22121  }
 22122  
 22123  // SetDistribution sets the Distribution field's value.
 22124  func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput {
 22125  	s.Distribution = v
 22126  	return s
 22127  }
 22128  
 22129  // SetOperation sets the Operation field's value.
 22130  func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput {
 22131  	s.Operation = v
 22132  	return s
 22133  }
 22134  
 22135  type CreateDomainEntryInput struct {
 22136  	_ struct{} `type:"structure"`
 22137  
 22138  	// An array of key-value pairs containing information about the domain entry
 22139  	// request.
 22140  	//
 22141  	// DomainEntry is a required field
 22142  	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
 22143  
 22144  	// The domain name (e.g., example.com) for which you want to create the domain
 22145  	// entry.
 22146  	//
 22147  	// DomainName is a required field
 22148  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 22149  }
 22150  
 22151  // String returns the string representation.
 22152  //
 22153  // API parameter values that are decorated as "sensitive" in the API will not
 22154  // be included in the string output. The member name will be present, but the
 22155  // value will be replaced with "sensitive".
 22156  func (s CreateDomainEntryInput) String() string {
 22157  	return awsutil.Prettify(s)
 22158  }
 22159  
 22160  // GoString returns the string representation.
 22161  //
 22162  // API parameter values that are decorated as "sensitive" in the API will not
 22163  // be included in the string output. The member name will be present, but the
 22164  // value will be replaced with "sensitive".
 22165  func (s CreateDomainEntryInput) GoString() string {
 22166  	return s.String()
 22167  }
 22168  
 22169  // Validate inspects the fields of the type to determine if they are valid.
 22170  func (s *CreateDomainEntryInput) Validate() error {
 22171  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
 22172  	if s.DomainEntry == nil {
 22173  		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
 22174  	}
 22175  	if s.DomainName == nil {
 22176  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 22177  	}
 22178  
 22179  	if invalidParams.Len() > 0 {
 22180  		return invalidParams
 22181  	}
 22182  	return nil
 22183  }
 22184  
 22185  // SetDomainEntry sets the DomainEntry field's value.
 22186  func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
 22187  	s.DomainEntry = v
 22188  	return s
 22189  }
 22190  
 22191  // SetDomainName sets the DomainName field's value.
 22192  func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
 22193  	s.DomainName = &v
 22194  	return s
 22195  }
 22196  
 22197  type CreateDomainEntryOutput struct {
 22198  	_ struct{} `type:"structure"`
 22199  
 22200  	// An array of objects that describe the result of the action, such as the status
 22201  	// of the request, the timestamp of the request, and the resources affected
 22202  	// by the request.
 22203  	Operation *Operation `locationName:"operation" type:"structure"`
 22204  }
 22205  
 22206  // String returns the string representation.
 22207  //
 22208  // API parameter values that are decorated as "sensitive" in the API will not
 22209  // be included in the string output. The member name will be present, but the
 22210  // value will be replaced with "sensitive".
 22211  func (s CreateDomainEntryOutput) String() string {
 22212  	return awsutil.Prettify(s)
 22213  }
 22214  
 22215  // GoString returns the string representation.
 22216  //
 22217  // API parameter values that are decorated as "sensitive" in the API will not
 22218  // be included in the string output. The member name will be present, but the
 22219  // value will be replaced with "sensitive".
 22220  func (s CreateDomainEntryOutput) GoString() string {
 22221  	return s.String()
 22222  }
 22223  
 22224  // SetOperation sets the Operation field's value.
 22225  func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
 22226  	s.Operation = v
 22227  	return s
 22228  }
 22229  
 22230  type CreateDomainInput struct {
 22231  	_ struct{} `type:"structure"`
 22232  
 22233  	// The domain name to manage (e.g., example.com).
 22234  	//
 22235  	// You cannot register a new domain name using Lightsail. You must register
 22236  	// a domain name using Amazon Route 53 or another domain name registrar. If
 22237  	// you have already registered your domain, you can enter its name in this parameter
 22238  	// to manage the DNS records for that domain using Lightsail.
 22239  	//
 22240  	// DomainName is a required field
 22241  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 22242  
 22243  	// The tag keys and optional values to add to the resource during create.
 22244  	//
 22245  	// Use the TagResource action to tag a resource after it's created.
 22246  	Tags []*Tag `locationName:"tags" type:"list"`
 22247  }
 22248  
 22249  // String returns the string representation.
 22250  //
 22251  // API parameter values that are decorated as "sensitive" in the API will not
 22252  // be included in the string output. The member name will be present, but the
 22253  // value will be replaced with "sensitive".
 22254  func (s CreateDomainInput) String() string {
 22255  	return awsutil.Prettify(s)
 22256  }
 22257  
 22258  // GoString returns the string representation.
 22259  //
 22260  // API parameter values that are decorated as "sensitive" in the API will not
 22261  // be included in the string output. The member name will be present, but the
 22262  // value will be replaced with "sensitive".
 22263  func (s CreateDomainInput) GoString() string {
 22264  	return s.String()
 22265  }
 22266  
 22267  // Validate inspects the fields of the type to determine if they are valid.
 22268  func (s *CreateDomainInput) Validate() error {
 22269  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
 22270  	if s.DomainName == nil {
 22271  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 22272  	}
 22273  
 22274  	if invalidParams.Len() > 0 {
 22275  		return invalidParams
 22276  	}
 22277  	return nil
 22278  }
 22279  
 22280  // SetDomainName sets the DomainName field's value.
 22281  func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
 22282  	s.DomainName = &v
 22283  	return s
 22284  }
 22285  
 22286  // SetTags sets the Tags field's value.
 22287  func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
 22288  	s.Tags = v
 22289  	return s
 22290  }
 22291  
 22292  type CreateDomainOutput struct {
 22293  	_ struct{} `type:"structure"`
 22294  
 22295  	// An array of objects that describe the result of the action, such as the status
 22296  	// of the request, the timestamp of the request, and the resources affected
 22297  	// by the request.
 22298  	Operation *Operation `locationName:"operation" type:"structure"`
 22299  }
 22300  
 22301  // String returns the string representation.
 22302  //
 22303  // API parameter values that are decorated as "sensitive" in the API will not
 22304  // be included in the string output. The member name will be present, but the
 22305  // value will be replaced with "sensitive".
 22306  func (s CreateDomainOutput) String() string {
 22307  	return awsutil.Prettify(s)
 22308  }
 22309  
 22310  // GoString returns the string representation.
 22311  //
 22312  // API parameter values that are decorated as "sensitive" in the API will not
 22313  // be included in the string output. The member name will be present, but the
 22314  // value will be replaced with "sensitive".
 22315  func (s CreateDomainOutput) GoString() string {
 22316  	return s.String()
 22317  }
 22318  
 22319  // SetOperation sets the Operation field's value.
 22320  func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
 22321  	s.Operation = v
 22322  	return s
 22323  }
 22324  
 22325  type CreateInstanceSnapshotInput struct {
 22326  	_ struct{} `type:"structure"`
 22327  
 22328  	// The Lightsail instance on which to base your snapshot.
 22329  	//
 22330  	// InstanceName is a required field
 22331  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 22332  
 22333  	// The name for your new snapshot.
 22334  	//
 22335  	// InstanceSnapshotName is a required field
 22336  	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
 22337  
 22338  	// The tag keys and optional values to add to the resource during create.
 22339  	//
 22340  	// Use the TagResource action to tag a resource after it's created.
 22341  	Tags []*Tag `locationName:"tags" type:"list"`
 22342  }
 22343  
 22344  // String returns the string representation.
 22345  //
 22346  // API parameter values that are decorated as "sensitive" in the API will not
 22347  // be included in the string output. The member name will be present, but the
 22348  // value will be replaced with "sensitive".
 22349  func (s CreateInstanceSnapshotInput) String() string {
 22350  	return awsutil.Prettify(s)
 22351  }
 22352  
 22353  // GoString returns the string representation.
 22354  //
 22355  // API parameter values that are decorated as "sensitive" in the API will not
 22356  // be included in the string output. The member name will be present, but the
 22357  // value will be replaced with "sensitive".
 22358  func (s CreateInstanceSnapshotInput) GoString() string {
 22359  	return s.String()
 22360  }
 22361  
 22362  // Validate inspects the fields of the type to determine if they are valid.
 22363  func (s *CreateInstanceSnapshotInput) Validate() error {
 22364  	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
 22365  	if s.InstanceName == nil {
 22366  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 22367  	}
 22368  	if s.InstanceSnapshotName == nil {
 22369  		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
 22370  	}
 22371  
 22372  	if invalidParams.Len() > 0 {
 22373  		return invalidParams
 22374  	}
 22375  	return nil
 22376  }
 22377  
 22378  // SetInstanceName sets the InstanceName field's value.
 22379  func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
 22380  	s.InstanceName = &v
 22381  	return s
 22382  }
 22383  
 22384  // SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
 22385  func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
 22386  	s.InstanceSnapshotName = &v
 22387  	return s
 22388  }
 22389  
 22390  // SetTags sets the Tags field's value.
 22391  func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
 22392  	s.Tags = v
 22393  	return s
 22394  }
 22395  
 22396  type CreateInstanceSnapshotOutput struct {
 22397  	_ struct{} `type:"structure"`
 22398  
 22399  	// An array of objects that describe the result of the action, such as the status
 22400  	// of the request, the timestamp of the request, and the resources affected
 22401  	// by the request.
 22402  	Operations []*Operation `locationName:"operations" type:"list"`
 22403  }
 22404  
 22405  // String returns the string representation.
 22406  //
 22407  // API parameter values that are decorated as "sensitive" in the API will not
 22408  // be included in the string output. The member name will be present, but the
 22409  // value will be replaced with "sensitive".
 22410  func (s CreateInstanceSnapshotOutput) String() string {
 22411  	return awsutil.Prettify(s)
 22412  }
 22413  
 22414  // GoString returns the string representation.
 22415  //
 22416  // API parameter values that are decorated as "sensitive" in the API will not
 22417  // be included in the string output. The member name will be present, but the
 22418  // value will be replaced with "sensitive".
 22419  func (s CreateInstanceSnapshotOutput) GoString() string {
 22420  	return s.String()
 22421  }
 22422  
 22423  // SetOperations sets the Operations field's value.
 22424  func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
 22425  	s.Operations = v
 22426  	return s
 22427  }
 22428  
 22429  type CreateInstancesFromSnapshotInput struct {
 22430  	_ struct{} `type:"structure"`
 22431  
 22432  	// An array of objects representing the add-ons to enable for the new instance.
 22433  	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
 22434  
 22435  	// An object containing information about one or more disk mappings.
 22436  	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
 22437  
 22438  	// The Availability Zone where you want to create your instances. Use the following
 22439  	// formatting: us-east-2a (case sensitive). You can get a list of Availability
 22440  	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
 22441  	// operation. Be sure to add the include Availability Zones parameter to your
 22442  	// request.
 22443  	//
 22444  	// AvailabilityZone is a required field
 22445  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
 22446  
 22447  	// The bundle of specification information for your virtual private server (or
 22448  	// instance), including the pricing plan (e.g., micro_1_0).
 22449  	//
 22450  	// BundleId is a required field
 22451  	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
 22452  
 22453  	// The names for your new instances.
 22454  	//
 22455  	// InstanceNames is a required field
 22456  	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
 22457  
 22458  	// The name of the instance snapshot on which you are basing your new instances.
 22459  	// Use the get instance snapshots operation to return information about your
 22460  	// existing snapshots.
 22461  	//
 22462  	// Constraint:
 22463  	//
 22464  	//    * This parameter cannot be defined together with the source instance name
 22465  	//    parameter. The instance snapshot name and source instance name parameters
 22466  	//    are mutually exclusive.
 22467  	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
 22468  
 22469  	// The IP address type for the instance.
 22470  	//
 22471  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 22472  	//
 22473  	// The default value is dualstack.
 22474  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 22475  
 22476  	// The name for your key pair.
 22477  	KeyPairName *string `locationName:"keyPairName" type:"string"`
 22478  
 22479  	// The date of the automatic snapshot to use for the new instance. Use the get
 22480  	// auto snapshots operation to identify the dates of the available automatic
 22481  	// snapshots.
 22482  	//
 22483  	// Constraints:
 22484  	//
 22485  	//    * Must be specified in YYYY-MM-DD format.
 22486  	//
 22487  	//    * This parameter cannot be defined together with the use latest restorable
 22488  	//    auto snapshot parameter. The restore date and use latest restorable auto
 22489  	//    snapshot parameters are mutually exclusive.
 22490  	//
 22491  	//    * Define this parameter only when creating a new instance from an automatic
 22492  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 22493  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
 22494  	RestoreDate *string `locationName:"restoreDate" type:"string"`
 22495  
 22496  	// The name of the source instance from which the source automatic snapshot
 22497  	// was created.
 22498  	//
 22499  	// Constraints:
 22500  	//
 22501  	//    * This parameter cannot be defined together with the instance snapshot
 22502  	//    name parameter. The source instance name and instance snapshot name parameters
 22503  	//    are mutually exclusive.
 22504  	//
 22505  	//    * Define this parameter only when creating a new instance from an automatic
 22506  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 22507  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
 22508  	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
 22509  
 22510  	// The tag keys and optional values to add to the resource during create.
 22511  	//
 22512  	// Use the TagResource action to tag a resource after it's created.
 22513  	Tags []*Tag `locationName:"tags" type:"list"`
 22514  
 22515  	// A Boolean value to indicate whether to use the latest available automatic
 22516  	// snapshot.
 22517  	//
 22518  	// Constraints:
 22519  	//
 22520  	//    * This parameter cannot be defined together with the restore date parameter.
 22521  	//    The use latest restorable auto snapshot and restore date parameters are
 22522  	//    mutually exclusive.
 22523  	//
 22524  	//    * Define this parameter only when creating a new instance from an automatic
 22525  	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
 22526  	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
 22527  	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
 22528  
 22529  	// You can create a launch script that configures a server with additional user
 22530  	// data. For example, apt-get -y update.
 22531  	//
 22532  	// Depending on the machine image you choose, the command to get software on
 22533  	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
 22534  	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Amazon Lightsail
 22535  	// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/compare-options-choose-lightsail-instance-image).
 22536  	UserData *string `locationName:"userData" type:"string"`
 22537  }
 22538  
 22539  // String returns the string representation.
 22540  //
 22541  // API parameter values that are decorated as "sensitive" in the API will not
 22542  // be included in the string output. The member name will be present, but the
 22543  // value will be replaced with "sensitive".
 22544  func (s CreateInstancesFromSnapshotInput) String() string {
 22545  	return awsutil.Prettify(s)
 22546  }
 22547  
 22548  // GoString returns the string representation.
 22549  //
 22550  // API parameter values that are decorated as "sensitive" in the API will not
 22551  // be included in the string output. The member name will be present, but the
 22552  // value will be replaced with "sensitive".
 22553  func (s CreateInstancesFromSnapshotInput) GoString() string {
 22554  	return s.String()
 22555  }
 22556  
 22557  // Validate inspects the fields of the type to determine if they are valid.
 22558  func (s *CreateInstancesFromSnapshotInput) Validate() error {
 22559  	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
 22560  	if s.AvailabilityZone == nil {
 22561  		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
 22562  	}
 22563  	if s.BundleId == nil {
 22564  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
 22565  	}
 22566  	if s.InstanceNames == nil {
 22567  		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
 22568  	}
 22569  	if s.AddOns != nil {
 22570  		for i, v := range s.AddOns {
 22571  			if v == nil {
 22572  				continue
 22573  			}
 22574  			if err := v.Validate(); err != nil {
 22575  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
 22576  			}
 22577  		}
 22578  	}
 22579  
 22580  	if invalidParams.Len() > 0 {
 22581  		return invalidParams
 22582  	}
 22583  	return nil
 22584  }
 22585  
 22586  // SetAddOns sets the AddOns field's value.
 22587  func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
 22588  	s.AddOns = v
 22589  	return s
 22590  }
 22591  
 22592  // SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
 22593  func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
 22594  	s.AttachedDiskMapping = v
 22595  	return s
 22596  }
 22597  
 22598  // SetAvailabilityZone sets the AvailabilityZone field's value.
 22599  func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
 22600  	s.AvailabilityZone = &v
 22601  	return s
 22602  }
 22603  
 22604  // SetBundleId sets the BundleId field's value.
 22605  func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
 22606  	s.BundleId = &v
 22607  	return s
 22608  }
 22609  
 22610  // SetInstanceNames sets the InstanceNames field's value.
 22611  func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
 22612  	s.InstanceNames = v
 22613  	return s
 22614  }
 22615  
 22616  // SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
 22617  func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
 22618  	s.InstanceSnapshotName = &v
 22619  	return s
 22620  }
 22621  
 22622  // SetIpAddressType sets the IpAddressType field's value.
 22623  func (s *CreateInstancesFromSnapshotInput) SetIpAddressType(v string) *CreateInstancesFromSnapshotInput {
 22624  	s.IpAddressType = &v
 22625  	return s
 22626  }
 22627  
 22628  // SetKeyPairName sets the KeyPairName field's value.
 22629  func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
 22630  	s.KeyPairName = &v
 22631  	return s
 22632  }
 22633  
 22634  // SetRestoreDate sets the RestoreDate field's value.
 22635  func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
 22636  	s.RestoreDate = &v
 22637  	return s
 22638  }
 22639  
 22640  // SetSourceInstanceName sets the SourceInstanceName field's value.
 22641  func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
 22642  	s.SourceInstanceName = &v
 22643  	return s
 22644  }
 22645  
 22646  // SetTags sets the Tags field's value.
 22647  func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
 22648  	s.Tags = v
 22649  	return s
 22650  }
 22651  
 22652  // SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
 22653  func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
 22654  	s.UseLatestRestorableAutoSnapshot = &v
 22655  	return s
 22656  }
 22657  
 22658  // SetUserData sets the UserData field's value.
 22659  func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
 22660  	s.UserData = &v
 22661  	return s
 22662  }
 22663  
 22664  type CreateInstancesFromSnapshotOutput struct {
 22665  	_ struct{} `type:"structure"`
 22666  
 22667  	// An array of objects that describe the result of the action, such as the status
 22668  	// of the request, the timestamp of the request, and the resources affected
 22669  	// by the request.
 22670  	Operations []*Operation `locationName:"operations" type:"list"`
 22671  }
 22672  
 22673  // String returns the string representation.
 22674  //
 22675  // API parameter values that are decorated as "sensitive" in the API will not
 22676  // be included in the string output. The member name will be present, but the
 22677  // value will be replaced with "sensitive".
 22678  func (s CreateInstancesFromSnapshotOutput) String() string {
 22679  	return awsutil.Prettify(s)
 22680  }
 22681  
 22682  // GoString returns the string representation.
 22683  //
 22684  // API parameter values that are decorated as "sensitive" in the API will not
 22685  // be included in the string output. The member name will be present, but the
 22686  // value will be replaced with "sensitive".
 22687  func (s CreateInstancesFromSnapshotOutput) GoString() string {
 22688  	return s.String()
 22689  }
 22690  
 22691  // SetOperations sets the Operations field's value.
 22692  func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
 22693  	s.Operations = v
 22694  	return s
 22695  }
 22696  
 22697  type CreateInstancesInput struct {
 22698  	_ struct{} `type:"structure"`
 22699  
 22700  	// An array of objects representing the add-ons to enable for the new instance.
 22701  	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
 22702  
 22703  	// The Availability Zone in which to create your instance. Use the following
 22704  	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
 22705  	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
 22706  	// operation. Be sure to add the include Availability Zones parameter to your
 22707  	// request.
 22708  	//
 22709  	// AvailabilityZone is a required field
 22710  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
 22711  
 22712  	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
 22713  	// Use the get blueprints operation to return a list of available images (or
 22714  	// blueprints).
 22715  	//
 22716  	// Use active blueprints when creating new instances. Inactive blueprints are
 22717  	// listed to support customers with existing instances and are not necessarily
 22718  	// available to create new instances. Blueprints are marked inactive when they
 22719  	// become outdated due to operating system updates or new application releases.
 22720  	//
 22721  	// BlueprintId is a required field
 22722  	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
 22723  
 22724  	// The bundle of specification information for your virtual private server (or
 22725  	// instance), including the pricing plan (e.g., micro_1_0).
 22726  	//
 22727  	// BundleId is a required field
 22728  	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
 22729  
 22730  	// (Deprecated) The name for your custom image.
 22731  	//
 22732  	// In releases prior to June 12, 2017, this parameter was ignored by the API.
 22733  	// It is now deprecated.
 22734  	//
 22735  	// Deprecated: CustomImageName has been deprecated
 22736  	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
 22737  
 22738  	// The names to use for your new Lightsail instances. Separate multiple values
 22739  	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
 22740  	//
 22741  	// InstanceNames is a required field
 22742  	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
 22743  
 22744  	// The IP address type for the instance.
 22745  	//
 22746  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 22747  	//
 22748  	// The default value is dualstack.
 22749  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 22750  
 22751  	// The name of your key pair.
 22752  	KeyPairName *string `locationName:"keyPairName" type:"string"`
 22753  
 22754  	// The tag keys and optional values to add to the resource during create.
 22755  	//
 22756  	// Use the TagResource action to tag a resource after it's created.
 22757  	Tags []*Tag `locationName:"tags" type:"list"`
 22758  
 22759  	// A launch script you can create that configures a server with additional user
 22760  	// data. For example, you might want to run apt-get -y update.
 22761  	//
 22762  	// Depending on the machine image you choose, the command to get software on
 22763  	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
 22764  	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Amazon Lightsail
 22765  	// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/compare-options-choose-lightsail-instance-image).
 22766  	UserData *string `locationName:"userData" type:"string"`
 22767  }
 22768  
 22769  // String returns the string representation.
 22770  //
 22771  // API parameter values that are decorated as "sensitive" in the API will not
 22772  // be included in the string output. The member name will be present, but the
 22773  // value will be replaced with "sensitive".
 22774  func (s CreateInstancesInput) String() string {
 22775  	return awsutil.Prettify(s)
 22776  }
 22777  
 22778  // GoString returns the string representation.
 22779  //
 22780  // API parameter values that are decorated as "sensitive" in the API will not
 22781  // be included in the string output. The member name will be present, but the
 22782  // value will be replaced with "sensitive".
 22783  func (s CreateInstancesInput) GoString() string {
 22784  	return s.String()
 22785  }
 22786  
 22787  // Validate inspects the fields of the type to determine if they are valid.
 22788  func (s *CreateInstancesInput) Validate() error {
 22789  	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
 22790  	if s.AvailabilityZone == nil {
 22791  		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
 22792  	}
 22793  	if s.BlueprintId == nil {
 22794  		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
 22795  	}
 22796  	if s.BundleId == nil {
 22797  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
 22798  	}
 22799  	if s.InstanceNames == nil {
 22800  		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
 22801  	}
 22802  	if s.AddOns != nil {
 22803  		for i, v := range s.AddOns {
 22804  			if v == nil {
 22805  				continue
 22806  			}
 22807  			if err := v.Validate(); err != nil {
 22808  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
 22809  			}
 22810  		}
 22811  	}
 22812  
 22813  	if invalidParams.Len() > 0 {
 22814  		return invalidParams
 22815  	}
 22816  	return nil
 22817  }
 22818  
 22819  // SetAddOns sets the AddOns field's value.
 22820  func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
 22821  	s.AddOns = v
 22822  	return s
 22823  }
 22824  
 22825  // SetAvailabilityZone sets the AvailabilityZone field's value.
 22826  func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
 22827  	s.AvailabilityZone = &v
 22828  	return s
 22829  }
 22830  
 22831  // SetBlueprintId sets the BlueprintId field's value.
 22832  func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
 22833  	s.BlueprintId = &v
 22834  	return s
 22835  }
 22836  
 22837  // SetBundleId sets the BundleId field's value.
 22838  func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
 22839  	s.BundleId = &v
 22840  	return s
 22841  }
 22842  
 22843  // SetCustomImageName sets the CustomImageName field's value.
 22844  func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
 22845  	s.CustomImageName = &v
 22846  	return s
 22847  }
 22848  
 22849  // SetInstanceNames sets the InstanceNames field's value.
 22850  func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
 22851  	s.InstanceNames = v
 22852  	return s
 22853  }
 22854  
 22855  // SetIpAddressType sets the IpAddressType field's value.
 22856  func (s *CreateInstancesInput) SetIpAddressType(v string) *CreateInstancesInput {
 22857  	s.IpAddressType = &v
 22858  	return s
 22859  }
 22860  
 22861  // SetKeyPairName sets the KeyPairName field's value.
 22862  func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
 22863  	s.KeyPairName = &v
 22864  	return s
 22865  }
 22866  
 22867  // SetTags sets the Tags field's value.
 22868  func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
 22869  	s.Tags = v
 22870  	return s
 22871  }
 22872  
 22873  // SetUserData sets the UserData field's value.
 22874  func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
 22875  	s.UserData = &v
 22876  	return s
 22877  }
 22878  
 22879  type CreateInstancesOutput struct {
 22880  	_ struct{} `type:"structure"`
 22881  
 22882  	// An array of objects that describe the result of the action, such as the status
 22883  	// of the request, the timestamp of the request, and the resources affected
 22884  	// by the request.
 22885  	Operations []*Operation `locationName:"operations" type:"list"`
 22886  }
 22887  
 22888  // String returns the string representation.
 22889  //
 22890  // API parameter values that are decorated as "sensitive" in the API will not
 22891  // be included in the string output. The member name will be present, but the
 22892  // value will be replaced with "sensitive".
 22893  func (s CreateInstancesOutput) String() string {
 22894  	return awsutil.Prettify(s)
 22895  }
 22896  
 22897  // GoString returns the string representation.
 22898  //
 22899  // API parameter values that are decorated as "sensitive" in the API will not
 22900  // be included in the string output. The member name will be present, but the
 22901  // value will be replaced with "sensitive".
 22902  func (s CreateInstancesOutput) GoString() string {
 22903  	return s.String()
 22904  }
 22905  
 22906  // SetOperations sets the Operations field's value.
 22907  func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
 22908  	s.Operations = v
 22909  	return s
 22910  }
 22911  
 22912  type CreateKeyPairInput struct {
 22913  	_ struct{} `type:"structure"`
 22914  
 22915  	// The name for your new key pair.
 22916  	//
 22917  	// KeyPairName is a required field
 22918  	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
 22919  
 22920  	// The tag keys and optional values to add to the resource during create.
 22921  	//
 22922  	// Use the TagResource action to tag a resource after it's created.
 22923  	Tags []*Tag `locationName:"tags" type:"list"`
 22924  }
 22925  
 22926  // String returns the string representation.
 22927  //
 22928  // API parameter values that are decorated as "sensitive" in the API will not
 22929  // be included in the string output. The member name will be present, but the
 22930  // value will be replaced with "sensitive".
 22931  func (s CreateKeyPairInput) String() string {
 22932  	return awsutil.Prettify(s)
 22933  }
 22934  
 22935  // GoString returns the string representation.
 22936  //
 22937  // API parameter values that are decorated as "sensitive" in the API will not
 22938  // be included in the string output. The member name will be present, but the
 22939  // value will be replaced with "sensitive".
 22940  func (s CreateKeyPairInput) GoString() string {
 22941  	return s.String()
 22942  }
 22943  
 22944  // Validate inspects the fields of the type to determine if they are valid.
 22945  func (s *CreateKeyPairInput) Validate() error {
 22946  	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
 22947  	if s.KeyPairName == nil {
 22948  		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
 22949  	}
 22950  
 22951  	if invalidParams.Len() > 0 {
 22952  		return invalidParams
 22953  	}
 22954  	return nil
 22955  }
 22956  
 22957  // SetKeyPairName sets the KeyPairName field's value.
 22958  func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
 22959  	s.KeyPairName = &v
 22960  	return s
 22961  }
 22962  
 22963  // SetTags sets the Tags field's value.
 22964  func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
 22965  	s.Tags = v
 22966  	return s
 22967  }
 22968  
 22969  type CreateKeyPairOutput struct {
 22970  	_ struct{} `type:"structure"`
 22971  
 22972  	// An array of key-value pairs containing information about the new key pair
 22973  	// you just created.
 22974  	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
 22975  
 22976  	// An array of objects that describe the result of the action, such as the status
 22977  	// of the request, the timestamp of the request, and the resources affected
 22978  	// by the request.
 22979  	Operation *Operation `locationName:"operation" type:"structure"`
 22980  
 22981  	// A base64-encoded RSA private key.
 22982  	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
 22983  
 22984  	// A base64-encoded public key of the ssh-rsa type.
 22985  	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
 22986  }
 22987  
 22988  // String returns the string representation.
 22989  //
 22990  // API parameter values that are decorated as "sensitive" in the API will not
 22991  // be included in the string output. The member name will be present, but the
 22992  // value will be replaced with "sensitive".
 22993  func (s CreateKeyPairOutput) String() string {
 22994  	return awsutil.Prettify(s)
 22995  }
 22996  
 22997  // GoString returns the string representation.
 22998  //
 22999  // API parameter values that are decorated as "sensitive" in the API will not
 23000  // be included in the string output. The member name will be present, but the
 23001  // value will be replaced with "sensitive".
 23002  func (s CreateKeyPairOutput) GoString() string {
 23003  	return s.String()
 23004  }
 23005  
 23006  // SetKeyPair sets the KeyPair field's value.
 23007  func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
 23008  	s.KeyPair = v
 23009  	return s
 23010  }
 23011  
 23012  // SetOperation sets the Operation field's value.
 23013  func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
 23014  	s.Operation = v
 23015  	return s
 23016  }
 23017  
 23018  // SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
 23019  func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
 23020  	s.PrivateKeyBase64 = &v
 23021  	return s
 23022  }
 23023  
 23024  // SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
 23025  func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
 23026  	s.PublicKeyBase64 = &v
 23027  	return s
 23028  }
 23029  
 23030  type CreateLoadBalancerInput struct {
 23031  	_ struct{} `type:"structure"`
 23032  
 23033  	// The optional alternative domains and subdomains to use with your SSL/TLS
 23034  	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
 23035  	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
 23036  
 23037  	// The domain name with which your certificate is associated (e.g., example.com).
 23038  	//
 23039  	// If you specify certificateDomainName, then certificateName is required (and
 23040  	// vice-versa).
 23041  	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
 23042  
 23043  	// The name of the SSL/TLS certificate.
 23044  	//
 23045  	// If you specify certificateName, then certificateDomainName is required (and
 23046  	// vice-versa).
 23047  	CertificateName *string `locationName:"certificateName" type:"string"`
 23048  
 23049  	// The path you provided to perform the load balancer health check. If you didn't
 23050  	// specify a health check path, Lightsail uses the root path of your website
 23051  	// (e.g., "/").
 23052  	//
 23053  	// You may want to specify a custom health check path other than the root of
 23054  	// your application if your home page loads slowly or has a lot of media or
 23055  	// scripting on it.
 23056  	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
 23057  
 23058  	// The instance port where you're creating your load balancer.
 23059  	//
 23060  	// InstancePort is a required field
 23061  	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
 23062  
 23063  	// The IP address type for the load balancer.
 23064  	//
 23065  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 23066  	//
 23067  	// The default value is dualstack.
 23068  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 23069  
 23070  	// The name of your load balancer.
 23071  	//
 23072  	// LoadBalancerName is a required field
 23073  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 23074  
 23075  	// The tag keys and optional values to add to the resource during create.
 23076  	//
 23077  	// Use the TagResource action to tag a resource after it's created.
 23078  	Tags []*Tag `locationName:"tags" type:"list"`
 23079  }
 23080  
 23081  // String returns the string representation.
 23082  //
 23083  // API parameter values that are decorated as "sensitive" in the API will not
 23084  // be included in the string output. The member name will be present, but the
 23085  // value will be replaced with "sensitive".
 23086  func (s CreateLoadBalancerInput) String() string {
 23087  	return awsutil.Prettify(s)
 23088  }
 23089  
 23090  // GoString returns the string representation.
 23091  //
 23092  // API parameter values that are decorated as "sensitive" in the API will not
 23093  // be included in the string output. The member name will be present, but the
 23094  // value will be replaced with "sensitive".
 23095  func (s CreateLoadBalancerInput) GoString() string {
 23096  	return s.String()
 23097  }
 23098  
 23099  // Validate inspects the fields of the type to determine if they are valid.
 23100  func (s *CreateLoadBalancerInput) Validate() error {
 23101  	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
 23102  	if s.InstancePort == nil {
 23103  		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
 23104  	}
 23105  	if s.InstancePort != nil && *s.InstancePort < -1 {
 23106  		invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1))
 23107  	}
 23108  	if s.LoadBalancerName == nil {
 23109  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 23110  	}
 23111  
 23112  	if invalidParams.Len() > 0 {
 23113  		return invalidParams
 23114  	}
 23115  	return nil
 23116  }
 23117  
 23118  // SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
 23119  func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
 23120  	s.CertificateAlternativeNames = v
 23121  	return s
 23122  }
 23123  
 23124  // SetCertificateDomainName sets the CertificateDomainName field's value.
 23125  func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
 23126  	s.CertificateDomainName = &v
 23127  	return s
 23128  }
 23129  
 23130  // SetCertificateName sets the CertificateName field's value.
 23131  func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
 23132  	s.CertificateName = &v
 23133  	return s
 23134  }
 23135  
 23136  // SetHealthCheckPath sets the HealthCheckPath field's value.
 23137  func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
 23138  	s.HealthCheckPath = &v
 23139  	return s
 23140  }
 23141  
 23142  // SetInstancePort sets the InstancePort field's value.
 23143  func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
 23144  	s.InstancePort = &v
 23145  	return s
 23146  }
 23147  
 23148  // SetIpAddressType sets the IpAddressType field's value.
 23149  func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
 23150  	s.IpAddressType = &v
 23151  	return s
 23152  }
 23153  
 23154  // SetLoadBalancerName sets the LoadBalancerName field's value.
 23155  func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
 23156  	s.LoadBalancerName = &v
 23157  	return s
 23158  }
 23159  
 23160  // SetTags sets the Tags field's value.
 23161  func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
 23162  	s.Tags = v
 23163  	return s
 23164  }
 23165  
 23166  type CreateLoadBalancerOutput struct {
 23167  	_ struct{} `type:"structure"`
 23168  
 23169  	// An array of objects that describe the result of the action, such as the status
 23170  	// of the request, the timestamp of the request, and the resources affected
 23171  	// by the request.
 23172  	Operations []*Operation `locationName:"operations" type:"list"`
 23173  }
 23174  
 23175  // String returns the string representation.
 23176  //
 23177  // API parameter values that are decorated as "sensitive" in the API will not
 23178  // be included in the string output. The member name will be present, but the
 23179  // value will be replaced with "sensitive".
 23180  func (s CreateLoadBalancerOutput) String() string {
 23181  	return awsutil.Prettify(s)
 23182  }
 23183  
 23184  // GoString returns the string representation.
 23185  //
 23186  // API parameter values that are decorated as "sensitive" in the API will not
 23187  // be included in the string output. The member name will be present, but the
 23188  // value will be replaced with "sensitive".
 23189  func (s CreateLoadBalancerOutput) GoString() string {
 23190  	return s.String()
 23191  }
 23192  
 23193  // SetOperations sets the Operations field's value.
 23194  func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
 23195  	s.Operations = v
 23196  	return s
 23197  }
 23198  
 23199  type CreateLoadBalancerTlsCertificateInput struct {
 23200  	_ struct{} `type:"structure"`
 23201  
 23202  	// An array of strings listing alternative domains and subdomains for your SSL/TLS
 23203  	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
 23204  	// of 9 alternative names (in addition to the 1 primary domain). We do not support
 23205  	// wildcards (e.g., *.example.com).
 23206  	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
 23207  
 23208  	// The domain name (e.g., example.com) for your SSL/TLS certificate.
 23209  	//
 23210  	// CertificateDomainName is a required field
 23211  	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
 23212  
 23213  	// The SSL/TLS certificate name.
 23214  	//
 23215  	// You can have up to 10 certificates in your account at one time. Each Lightsail
 23216  	// load balancer can have up to 2 certificates associated with it at one time.
 23217  	// There is also an overall limit to the number of certificates that can be
 23218  	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
 23219  	//
 23220  	// CertificateName is a required field
 23221  	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
 23222  
 23223  	// The load balancer name where you want to create the SSL/TLS certificate.
 23224  	//
 23225  	// LoadBalancerName is a required field
 23226  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 23227  
 23228  	// The tag keys and optional values to add to the resource during create.
 23229  	//
 23230  	// Use the TagResource action to tag a resource after it's created.
 23231  	Tags []*Tag `locationName:"tags" type:"list"`
 23232  }
 23233  
 23234  // String returns the string representation.
 23235  //
 23236  // API parameter values that are decorated as "sensitive" in the API will not
 23237  // be included in the string output. The member name will be present, but the
 23238  // value will be replaced with "sensitive".
 23239  func (s CreateLoadBalancerTlsCertificateInput) String() string {
 23240  	return awsutil.Prettify(s)
 23241  }
 23242  
 23243  // GoString returns the string representation.
 23244  //
 23245  // API parameter values that are decorated as "sensitive" in the API will not
 23246  // be included in the string output. The member name will be present, but the
 23247  // value will be replaced with "sensitive".
 23248  func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
 23249  	return s.String()
 23250  }
 23251  
 23252  // Validate inspects the fields of the type to determine if they are valid.
 23253  func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
 23254  	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
 23255  	if s.CertificateDomainName == nil {
 23256  		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
 23257  	}
 23258  	if s.CertificateName == nil {
 23259  		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
 23260  	}
 23261  	if s.LoadBalancerName == nil {
 23262  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 23263  	}
 23264  
 23265  	if invalidParams.Len() > 0 {
 23266  		return invalidParams
 23267  	}
 23268  	return nil
 23269  }
 23270  
 23271  // SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
 23272  func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
 23273  	s.CertificateAlternativeNames = v
 23274  	return s
 23275  }
 23276  
 23277  // SetCertificateDomainName sets the CertificateDomainName field's value.
 23278  func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
 23279  	s.CertificateDomainName = &v
 23280  	return s
 23281  }
 23282  
 23283  // SetCertificateName sets the CertificateName field's value.
 23284  func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
 23285  	s.CertificateName = &v
 23286  	return s
 23287  }
 23288  
 23289  // SetLoadBalancerName sets the LoadBalancerName field's value.
 23290  func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
 23291  	s.LoadBalancerName = &v
 23292  	return s
 23293  }
 23294  
 23295  // SetTags sets the Tags field's value.
 23296  func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
 23297  	s.Tags = v
 23298  	return s
 23299  }
 23300  
 23301  type CreateLoadBalancerTlsCertificateOutput struct {
 23302  	_ struct{} `type:"structure"`
 23303  
 23304  	// An array of objects that describe the result of the action, such as the status
 23305  	// of the request, the timestamp of the request, and the resources affected
 23306  	// by the request.
 23307  	Operations []*Operation `locationName:"operations" type:"list"`
 23308  }
 23309  
 23310  // String returns the string representation.
 23311  //
 23312  // API parameter values that are decorated as "sensitive" in the API will not
 23313  // be included in the string output. The member name will be present, but the
 23314  // value will be replaced with "sensitive".
 23315  func (s CreateLoadBalancerTlsCertificateOutput) String() string {
 23316  	return awsutil.Prettify(s)
 23317  }
 23318  
 23319  // GoString returns the string representation.
 23320  //
 23321  // API parameter values that are decorated as "sensitive" in the API will not
 23322  // be included in the string output. The member name will be present, but the
 23323  // value will be replaced with "sensitive".
 23324  func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
 23325  	return s.String()
 23326  }
 23327  
 23328  // SetOperations sets the Operations field's value.
 23329  func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
 23330  	s.Operations = v
 23331  	return s
 23332  }
 23333  
 23334  type CreateRelationalDatabaseFromSnapshotInput struct {
 23335  	_ struct{} `type:"structure"`
 23336  
 23337  	// The Availability Zone in which to create your new database. Use the us-east-2a
 23338  	// case-sensitive format.
 23339  	//
 23340  	// You can get a list of Availability Zones by using the get regions operation.
 23341  	// Be sure to add the include relational database Availability Zones parameter
 23342  	// to your request.
 23343  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
 23344  
 23345  	// Specifies the accessibility options for your new database. A value of true
 23346  	// specifies a database that is available to resources outside of your Lightsail
 23347  	// account. A value of false specifies a database that is available only to
 23348  	// your Lightsail resources in the same region as your database.
 23349  	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
 23350  
 23351  	// The bundle ID for your new database. A bundle describes the performance specifications
 23352  	// for your database.
 23353  	//
 23354  	// You can get a list of database bundle IDs by using the get relational database
 23355  	// bundles operation.
 23356  	//
 23357  	// When creating a new database from a snapshot, you cannot choose a bundle
 23358  	// that is smaller than the bundle of the source database.
 23359  	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
 23360  
 23361  	// The name to use for your new Lightsail database resource.
 23362  	//
 23363  	// Constraints:
 23364  	//
 23365  	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
 23366  	//
 23367  	//    * The first and last character must be a letter or number.
 23368  	//
 23369  	// RelationalDatabaseName is a required field
 23370  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 23371  
 23372  	// The name of the database snapshot from which to create your new database.
 23373  	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
 23374  
 23375  	// The date and time to restore your database from.
 23376  	//
 23377  	// Constraints:
 23378  	//
 23379  	//    * Must be before the latest restorable time for the database.
 23380  	//
 23381  	//    * Cannot be specified if the use latest restorable time parameter is true.
 23382  	//
 23383  	//    * Specified in Coordinated Universal Time (UTC).
 23384  	//
 23385  	//    * Specified in the Unix time format. For example, if you wish to use a
 23386  	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
 23387  	//    as the restore time.
 23388  	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
 23389  
 23390  	// The name of the source database.
 23391  	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
 23392  
 23393  	// The tag keys and optional values to add to the resource during create.
 23394  	//
 23395  	// Use the TagResource action to tag a resource after it's created.
 23396  	Tags []*Tag `locationName:"tags" type:"list"`
 23397  
 23398  	// Specifies whether your database is restored from the latest backup time.
 23399  	// A value of true restores from the latest backup time.
 23400  	//
 23401  	// Default: false
 23402  	//
 23403  	// Constraints: Cannot be specified if the restore time parameter is provided.
 23404  	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
 23405  }
 23406  
 23407  // String returns the string representation.
 23408  //
 23409  // API parameter values that are decorated as "sensitive" in the API will not
 23410  // be included in the string output. The member name will be present, but the
 23411  // value will be replaced with "sensitive".
 23412  func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
 23413  	return awsutil.Prettify(s)
 23414  }
 23415  
 23416  // GoString returns the string representation.
 23417  //
 23418  // API parameter values that are decorated as "sensitive" in the API will not
 23419  // be included in the string output. The member name will be present, but the
 23420  // value will be replaced with "sensitive".
 23421  func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
 23422  	return s.String()
 23423  }
 23424  
 23425  // Validate inspects the fields of the type to determine if they are valid.
 23426  func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
 23427  	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
 23428  	if s.RelationalDatabaseName == nil {
 23429  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 23430  	}
 23431  
 23432  	if invalidParams.Len() > 0 {
 23433  		return invalidParams
 23434  	}
 23435  	return nil
 23436  }
 23437  
 23438  // SetAvailabilityZone sets the AvailabilityZone field's value.
 23439  func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
 23440  	s.AvailabilityZone = &v
 23441  	return s
 23442  }
 23443  
 23444  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 23445  func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
 23446  	s.PubliclyAccessible = &v
 23447  	return s
 23448  }
 23449  
 23450  // SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
 23451  func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
 23452  	s.RelationalDatabaseBundleId = &v
 23453  	return s
 23454  }
 23455  
 23456  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 23457  func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
 23458  	s.RelationalDatabaseName = &v
 23459  	return s
 23460  }
 23461  
 23462  // SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
 23463  func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
 23464  	s.RelationalDatabaseSnapshotName = &v
 23465  	return s
 23466  }
 23467  
 23468  // SetRestoreTime sets the RestoreTime field's value.
 23469  func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
 23470  	s.RestoreTime = &v
 23471  	return s
 23472  }
 23473  
 23474  // SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
 23475  func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
 23476  	s.SourceRelationalDatabaseName = &v
 23477  	return s
 23478  }
 23479  
 23480  // SetTags sets the Tags field's value.
 23481  func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
 23482  	s.Tags = v
 23483  	return s
 23484  }
 23485  
 23486  // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
 23487  func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
 23488  	s.UseLatestRestorableTime = &v
 23489  	return s
 23490  }
 23491  
 23492  type CreateRelationalDatabaseFromSnapshotOutput struct {
 23493  	_ struct{} `type:"structure"`
 23494  
 23495  	// An array of objects that describe the result of the action, such as the status
 23496  	// of the request, the timestamp of the request, and the resources affected
 23497  	// by the request.
 23498  	Operations []*Operation `locationName:"operations" type:"list"`
 23499  }
 23500  
 23501  // String returns the string representation.
 23502  //
 23503  // API parameter values that are decorated as "sensitive" in the API will not
 23504  // be included in the string output. The member name will be present, but the
 23505  // value will be replaced with "sensitive".
 23506  func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
 23507  	return awsutil.Prettify(s)
 23508  }
 23509  
 23510  // GoString returns the string representation.
 23511  //
 23512  // API parameter values that are decorated as "sensitive" in the API will not
 23513  // be included in the string output. The member name will be present, but the
 23514  // value will be replaced with "sensitive".
 23515  func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
 23516  	return s.String()
 23517  }
 23518  
 23519  // SetOperations sets the Operations field's value.
 23520  func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
 23521  	s.Operations = v
 23522  	return s
 23523  }
 23524  
 23525  type CreateRelationalDatabaseInput struct {
 23526  	_ struct{} `type:"structure"`
 23527  
 23528  	// The Availability Zone in which to create your new database. Use the us-east-2a
 23529  	// case-sensitive format.
 23530  	//
 23531  	// You can get a list of Availability Zones by using the get regions operation.
 23532  	// Be sure to add the include relational database Availability Zones parameter
 23533  	// to your request.
 23534  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
 23535  
 23536  	// The meaning of this parameter differs according to the database engine you
 23537  	// use.
 23538  	//
 23539  	// MySQL
 23540  	//
 23541  	// The name of the database to create when the Lightsail database resource is
 23542  	// created. If this parameter isn't specified, no database is created in the
 23543  	// database resource.
 23544  	//
 23545  	// Constraints:
 23546  	//
 23547  	//    * Must contain 1 to 64 letters or numbers.
 23548  	//
 23549  	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
 23550  	//    or digits (0- 9).
 23551  	//
 23552  	//    * Can't be a word reserved by the specified database engine. For more
 23553  	//    information about reserved words in MySQL, see the Keywords and Reserved
 23554  	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
 23555  	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), and
 23556  	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
 23557  	//
 23558  	// PostgreSQL
 23559  	//
 23560  	// The name of the database to create when the Lightsail database resource is
 23561  	// created. If this parameter isn't specified, a database named postgres is
 23562  	// created in the database resource.
 23563  	//
 23564  	// Constraints:
 23565  	//
 23566  	//    * Must contain 1 to 63 letters or numbers.
 23567  	//
 23568  	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
 23569  	//    or digits (0- 9).
 23570  	//
 23571  	//    * Can't be a word reserved by the specified database engine. For more
 23572  	//    information about reserved words in PostgreSQL, see the SQL Key Words
 23573  	//    articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
 23574  	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
 23575  	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
 23576  	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
 23577  	//
 23578  	// MasterDatabaseName is a required field
 23579  	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
 23580  
 23581  	// The password for the master user. The password can include any printable
 23582  	// ASCII character except "/", """, or "@". It cannot contain spaces.
 23583  	//
 23584  	// MySQL
 23585  	//
 23586  	// Constraints: Must contain from 8 to 41 characters.
 23587  	//
 23588  	// PostgreSQL
 23589  	//
 23590  	// Constraints: Must contain from 8 to 128 characters.
 23591  	//
 23592  	// MasterUserPassword is a sensitive parameter and its value will be
 23593  	// replaced with "sensitive" in string returned by CreateRelationalDatabaseInput's
 23594  	// String and GoString methods.
 23595  	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
 23596  
 23597  	// The name for the master user.
 23598  	//
 23599  	// MySQL
 23600  	//
 23601  	// Constraints:
 23602  	//
 23603  	//    * Required for MySQL.
 23604  	//
 23605  	//    * Must be 1 to 16 letters or numbers. Can contain underscores.
 23606  	//
 23607  	//    * First character must be a letter.
 23608  	//
 23609  	//    * Can't be a reserved word for the chosen database engine. For more information
 23610  	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
 23611  	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
 23612  	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), or
 23613  	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
 23614  	//
 23615  	// PostgreSQL
 23616  	//
 23617  	// Constraints:
 23618  	//
 23619  	//    * Required for PostgreSQL.
 23620  	//
 23621  	//    * Must be 1 to 63 letters or numbers. Can contain underscores.
 23622  	//
 23623  	//    * First character must be a letter.
 23624  	//
 23625  	//    * Can't be a reserved word for the chosen database engine. For more information
 23626  	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
 23627  	//    Words articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
 23628  	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
 23629  	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
 23630  	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
 23631  	//
 23632  	// MasterUsername is a required field
 23633  	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
 23634  
 23635  	// The daily time range during which automated backups are created for your
 23636  	// new database if automated backups are enabled.
 23637  	//
 23638  	// The default is a 30-minute window selected at random from an 8-hour block
 23639  	// of time for each AWS Region. For more information about the preferred backup
 23640  	// 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)
 23641  	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
 23642  	//
 23643  	// Constraints:
 23644  	//
 23645  	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
 23646  	//
 23647  	//    * Specified in Coordinated Universal Time (UTC).
 23648  	//
 23649  	//    * Must not conflict with the preferred maintenance window.
 23650  	//
 23651  	//    * Must be at least 30 minutes.
 23652  	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
 23653  
 23654  	// The weekly time range during which system maintenance can occur on your new
 23655  	// database.
 23656  	//
 23657  	// The default is a 30-minute window selected at random from an 8-hour block
 23658  	// of time for each AWS Region, occurring on a random day of the week.
 23659  	//
 23660  	// Constraints:
 23661  	//
 23662  	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
 23663  	//
 23664  	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 23665  	//
 23666  	//    * Must be at least 30 minutes.
 23667  	//
 23668  	//    * Specified in Coordinated Universal Time (UTC).
 23669  	//
 23670  	//    * Example: Tue:17:00-Tue:17:30
 23671  	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
 23672  
 23673  	// Specifies the accessibility options for your new database. A value of true
 23674  	// specifies a database that is available to resources outside of your Lightsail
 23675  	// account. A value of false specifies a database that is available only to
 23676  	// your Lightsail resources in the same region as your database.
 23677  	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
 23678  
 23679  	// The blueprint ID for your new database. A blueprint describes the major engine
 23680  	// version of a database.
 23681  	//
 23682  	// You can get a list of database blueprints IDs by using the get relational
 23683  	// database blueprints operation.
 23684  	//
 23685  	// RelationalDatabaseBlueprintId is a required field
 23686  	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
 23687  
 23688  	// The bundle ID for your new database. A bundle describes the performance specifications
 23689  	// for your database.
 23690  	//
 23691  	// You can get a list of database bundle IDs by using the get relational database
 23692  	// bundles operation.
 23693  	//
 23694  	// RelationalDatabaseBundleId is a required field
 23695  	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
 23696  
 23697  	// The name to use for your new Lightsail database resource.
 23698  	//
 23699  	// Constraints:
 23700  	//
 23701  	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
 23702  	//
 23703  	//    * The first and last character must be a letter or number.
 23704  	//
 23705  	// RelationalDatabaseName is a required field
 23706  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 23707  
 23708  	// The tag keys and optional values to add to the resource during create.
 23709  	//
 23710  	// Use the TagResource action to tag a resource after it's created.
 23711  	Tags []*Tag `locationName:"tags" type:"list"`
 23712  }
 23713  
 23714  // String returns the string representation.
 23715  //
 23716  // API parameter values that are decorated as "sensitive" in the API will not
 23717  // be included in the string output. The member name will be present, but the
 23718  // value will be replaced with "sensitive".
 23719  func (s CreateRelationalDatabaseInput) String() string {
 23720  	return awsutil.Prettify(s)
 23721  }
 23722  
 23723  // GoString returns the string representation.
 23724  //
 23725  // API parameter values that are decorated as "sensitive" in the API will not
 23726  // be included in the string output. The member name will be present, but the
 23727  // value will be replaced with "sensitive".
 23728  func (s CreateRelationalDatabaseInput) GoString() string {
 23729  	return s.String()
 23730  }
 23731  
 23732  // Validate inspects the fields of the type to determine if they are valid.
 23733  func (s *CreateRelationalDatabaseInput) Validate() error {
 23734  	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
 23735  	if s.MasterDatabaseName == nil {
 23736  		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
 23737  	}
 23738  	if s.MasterUsername == nil {
 23739  		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
 23740  	}
 23741  	if s.RelationalDatabaseBlueprintId == nil {
 23742  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
 23743  	}
 23744  	if s.RelationalDatabaseBundleId == nil {
 23745  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
 23746  	}
 23747  	if s.RelationalDatabaseName == nil {
 23748  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 23749  	}
 23750  
 23751  	if invalidParams.Len() > 0 {
 23752  		return invalidParams
 23753  	}
 23754  	return nil
 23755  }
 23756  
 23757  // SetAvailabilityZone sets the AvailabilityZone field's value.
 23758  func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
 23759  	s.AvailabilityZone = &v
 23760  	return s
 23761  }
 23762  
 23763  // SetMasterDatabaseName sets the MasterDatabaseName field's value.
 23764  func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
 23765  	s.MasterDatabaseName = &v
 23766  	return s
 23767  }
 23768  
 23769  // SetMasterUserPassword sets the MasterUserPassword field's value.
 23770  func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
 23771  	s.MasterUserPassword = &v
 23772  	return s
 23773  }
 23774  
 23775  // SetMasterUsername sets the MasterUsername field's value.
 23776  func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
 23777  	s.MasterUsername = &v
 23778  	return s
 23779  }
 23780  
 23781  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 23782  func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
 23783  	s.PreferredBackupWindow = &v
 23784  	return s
 23785  }
 23786  
 23787  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 23788  func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
 23789  	s.PreferredMaintenanceWindow = &v
 23790  	return s
 23791  }
 23792  
 23793  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 23794  func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
 23795  	s.PubliclyAccessible = &v
 23796  	return s
 23797  }
 23798  
 23799  // SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
 23800  func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
 23801  	s.RelationalDatabaseBlueprintId = &v
 23802  	return s
 23803  }
 23804  
 23805  // SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
 23806  func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
 23807  	s.RelationalDatabaseBundleId = &v
 23808  	return s
 23809  }
 23810  
 23811  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 23812  func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
 23813  	s.RelationalDatabaseName = &v
 23814  	return s
 23815  }
 23816  
 23817  // SetTags sets the Tags field's value.
 23818  func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
 23819  	s.Tags = v
 23820  	return s
 23821  }
 23822  
 23823  type CreateRelationalDatabaseOutput struct {
 23824  	_ struct{} `type:"structure"`
 23825  
 23826  	// An array of objects that describe the result of the action, such as the status
 23827  	// of the request, the timestamp of the request, and the resources affected
 23828  	// by the request.
 23829  	Operations []*Operation `locationName:"operations" type:"list"`
 23830  }
 23831  
 23832  // String returns the string representation.
 23833  //
 23834  // API parameter values that are decorated as "sensitive" in the API will not
 23835  // be included in the string output. The member name will be present, but the
 23836  // value will be replaced with "sensitive".
 23837  func (s CreateRelationalDatabaseOutput) String() string {
 23838  	return awsutil.Prettify(s)
 23839  }
 23840  
 23841  // GoString returns the string representation.
 23842  //
 23843  // API parameter values that are decorated as "sensitive" in the API will not
 23844  // be included in the string output. The member name will be present, but the
 23845  // value will be replaced with "sensitive".
 23846  func (s CreateRelationalDatabaseOutput) GoString() string {
 23847  	return s.String()
 23848  }
 23849  
 23850  // SetOperations sets the Operations field's value.
 23851  func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
 23852  	s.Operations = v
 23853  	return s
 23854  }
 23855  
 23856  type CreateRelationalDatabaseSnapshotInput struct {
 23857  	_ struct{} `type:"structure"`
 23858  
 23859  	// The name of the database on which to base your new snapshot.
 23860  	//
 23861  	// RelationalDatabaseName is a required field
 23862  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 23863  
 23864  	// The name for your new database snapshot.
 23865  	//
 23866  	// Constraints:
 23867  	//
 23868  	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
 23869  	//
 23870  	//    * The first and last character must be a letter or number.
 23871  	//
 23872  	// RelationalDatabaseSnapshotName is a required field
 23873  	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
 23874  
 23875  	// The tag keys and optional values to add to the resource during create.
 23876  	//
 23877  	// Use the TagResource action to tag a resource after it's created.
 23878  	Tags []*Tag `locationName:"tags" type:"list"`
 23879  }
 23880  
 23881  // String returns the string representation.
 23882  //
 23883  // API parameter values that are decorated as "sensitive" in the API will not
 23884  // be included in the string output. The member name will be present, but the
 23885  // value will be replaced with "sensitive".
 23886  func (s CreateRelationalDatabaseSnapshotInput) String() string {
 23887  	return awsutil.Prettify(s)
 23888  }
 23889  
 23890  // GoString returns the string representation.
 23891  //
 23892  // API parameter values that are decorated as "sensitive" in the API will not
 23893  // be included in the string output. The member name will be present, but the
 23894  // value will be replaced with "sensitive".
 23895  func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
 23896  	return s.String()
 23897  }
 23898  
 23899  // Validate inspects the fields of the type to determine if they are valid.
 23900  func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
 23901  	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
 23902  	if s.RelationalDatabaseName == nil {
 23903  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 23904  	}
 23905  	if s.RelationalDatabaseSnapshotName == nil {
 23906  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
 23907  	}
 23908  
 23909  	if invalidParams.Len() > 0 {
 23910  		return invalidParams
 23911  	}
 23912  	return nil
 23913  }
 23914  
 23915  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 23916  func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
 23917  	s.RelationalDatabaseName = &v
 23918  	return s
 23919  }
 23920  
 23921  // SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
 23922  func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
 23923  	s.RelationalDatabaseSnapshotName = &v
 23924  	return s
 23925  }
 23926  
 23927  // SetTags sets the Tags field's value.
 23928  func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
 23929  	s.Tags = v
 23930  	return s
 23931  }
 23932  
 23933  type CreateRelationalDatabaseSnapshotOutput struct {
 23934  	_ struct{} `type:"structure"`
 23935  
 23936  	// An array of objects that describe the result of the action, such as the status
 23937  	// of the request, the timestamp of the request, and the resources affected
 23938  	// by the request.
 23939  	Operations []*Operation `locationName:"operations" type:"list"`
 23940  }
 23941  
 23942  // String returns the string representation.
 23943  //
 23944  // API parameter values that are decorated as "sensitive" in the API will not
 23945  // be included in the string output. The member name will be present, but the
 23946  // value will be replaced with "sensitive".
 23947  func (s CreateRelationalDatabaseSnapshotOutput) String() string {
 23948  	return awsutil.Prettify(s)
 23949  }
 23950  
 23951  // GoString returns the string representation.
 23952  //
 23953  // API parameter values that are decorated as "sensitive" in the API will not
 23954  // be included in the string output. The member name will be present, but the
 23955  // value will be replaced with "sensitive".
 23956  func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
 23957  	return s.String()
 23958  }
 23959  
 23960  // SetOperations sets the Operations field's value.
 23961  func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
 23962  	s.Operations = v
 23963  	return s
 23964  }
 23965  
 23966  type DeleteAlarmInput struct {
 23967  	_ struct{} `type:"structure"`
 23968  
 23969  	// The name of the alarm to delete.
 23970  	//
 23971  	// AlarmName is a required field
 23972  	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
 23973  }
 23974  
 23975  // String returns the string representation.
 23976  //
 23977  // API parameter values that are decorated as "sensitive" in the API will not
 23978  // be included in the string output. The member name will be present, but the
 23979  // value will be replaced with "sensitive".
 23980  func (s DeleteAlarmInput) String() string {
 23981  	return awsutil.Prettify(s)
 23982  }
 23983  
 23984  // GoString returns the string representation.
 23985  //
 23986  // API parameter values that are decorated as "sensitive" in the API will not
 23987  // be included in the string output. The member name will be present, but the
 23988  // value will be replaced with "sensitive".
 23989  func (s DeleteAlarmInput) GoString() string {
 23990  	return s.String()
 23991  }
 23992  
 23993  // Validate inspects the fields of the type to determine if they are valid.
 23994  func (s *DeleteAlarmInput) Validate() error {
 23995  	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
 23996  	if s.AlarmName == nil {
 23997  		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
 23998  	}
 23999  
 24000  	if invalidParams.Len() > 0 {
 24001  		return invalidParams
 24002  	}
 24003  	return nil
 24004  }
 24005  
 24006  // SetAlarmName sets the AlarmName field's value.
 24007  func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
 24008  	s.AlarmName = &v
 24009  	return s
 24010  }
 24011  
 24012  type DeleteAlarmOutput struct {
 24013  	_ struct{} `type:"structure"`
 24014  
 24015  	// An array of objects that describe the result of the action, such as the status
 24016  	// of the request, the timestamp of the request, and the resources affected
 24017  	// by the request.
 24018  	Operations []*Operation `locationName:"operations" type:"list"`
 24019  }
 24020  
 24021  // String returns the string representation.
 24022  //
 24023  // API parameter values that are decorated as "sensitive" in the API will not
 24024  // be included in the string output. The member name will be present, but the
 24025  // value will be replaced with "sensitive".
 24026  func (s DeleteAlarmOutput) String() string {
 24027  	return awsutil.Prettify(s)
 24028  }
 24029  
 24030  // GoString returns the string representation.
 24031  //
 24032  // API parameter values that are decorated as "sensitive" in the API will not
 24033  // be included in the string output. The member name will be present, but the
 24034  // value will be replaced with "sensitive".
 24035  func (s DeleteAlarmOutput) GoString() string {
 24036  	return s.String()
 24037  }
 24038  
 24039  // SetOperations sets the Operations field's value.
 24040  func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
 24041  	s.Operations = v
 24042  	return s
 24043  }
 24044  
 24045  type DeleteAutoSnapshotInput struct {
 24046  	_ struct{} `type:"structure"`
 24047  
 24048  	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
 24049  	// get auto snapshots operation to get the available automatic snapshots for
 24050  	// a resource.
 24051  	//
 24052  	// Date is a required field
 24053  	Date *string `locationName:"date" type:"string" required:"true"`
 24054  
 24055  	// The name of the source instance or disk from which to delete the automatic
 24056  	// snapshot.
 24057  	//
 24058  	// ResourceName is a required field
 24059  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 24060  }
 24061  
 24062  // String returns the string representation.
 24063  //
 24064  // API parameter values that are decorated as "sensitive" in the API will not
 24065  // be included in the string output. The member name will be present, but the
 24066  // value will be replaced with "sensitive".
 24067  func (s DeleteAutoSnapshotInput) String() string {
 24068  	return awsutil.Prettify(s)
 24069  }
 24070  
 24071  // GoString returns the string representation.
 24072  //
 24073  // API parameter values that are decorated as "sensitive" in the API will not
 24074  // be included in the string output. The member name will be present, but the
 24075  // value will be replaced with "sensitive".
 24076  func (s DeleteAutoSnapshotInput) GoString() string {
 24077  	return s.String()
 24078  }
 24079  
 24080  // Validate inspects the fields of the type to determine if they are valid.
 24081  func (s *DeleteAutoSnapshotInput) Validate() error {
 24082  	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
 24083  	if s.Date == nil {
 24084  		invalidParams.Add(request.NewErrParamRequired("Date"))
 24085  	}
 24086  	if s.ResourceName == nil {
 24087  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 24088  	}
 24089  
 24090  	if invalidParams.Len() > 0 {
 24091  		return invalidParams
 24092  	}
 24093  	return nil
 24094  }
 24095  
 24096  // SetDate sets the Date field's value.
 24097  func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
 24098  	s.Date = &v
 24099  	return s
 24100  }
 24101  
 24102  // SetResourceName sets the ResourceName field's value.
 24103  func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
 24104  	s.ResourceName = &v
 24105  	return s
 24106  }
 24107  
 24108  type DeleteAutoSnapshotOutput struct {
 24109  	_ struct{} `type:"structure"`
 24110  
 24111  	// An array of objects that describe the result of the action, such as the status
 24112  	// of the request, the timestamp of the request, and the resources affected
 24113  	// by the request.
 24114  	Operations []*Operation `locationName:"operations" type:"list"`
 24115  }
 24116  
 24117  // String returns the string representation.
 24118  //
 24119  // API parameter values that are decorated as "sensitive" in the API will not
 24120  // be included in the string output. The member name will be present, but the
 24121  // value will be replaced with "sensitive".
 24122  func (s DeleteAutoSnapshotOutput) String() string {
 24123  	return awsutil.Prettify(s)
 24124  }
 24125  
 24126  // GoString returns the string representation.
 24127  //
 24128  // API parameter values that are decorated as "sensitive" in the API will not
 24129  // be included in the string output. The member name will be present, but the
 24130  // value will be replaced with "sensitive".
 24131  func (s DeleteAutoSnapshotOutput) GoString() string {
 24132  	return s.String()
 24133  }
 24134  
 24135  // SetOperations sets the Operations field's value.
 24136  func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
 24137  	s.Operations = v
 24138  	return s
 24139  }
 24140  
 24141  type DeleteBucketAccessKeyInput struct {
 24142  	_ struct{} `type:"structure"`
 24143  
 24144  	// The ID of the access key to delete.
 24145  	//
 24146  	// Use the GetBucketAccessKeys action to get a list of access key IDs that you
 24147  	// can specify.
 24148  	//
 24149  	// AccessKeyId is a required field
 24150  	AccessKeyId *string `locationName:"accessKeyId" type:"string" required:"true"`
 24151  
 24152  	// The name of the bucket that the access key belongs to.
 24153  	//
 24154  	// BucketName is a required field
 24155  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 24156  }
 24157  
 24158  // String returns the string representation.
 24159  //
 24160  // API parameter values that are decorated as "sensitive" in the API will not
 24161  // be included in the string output. The member name will be present, but the
 24162  // value will be replaced with "sensitive".
 24163  func (s DeleteBucketAccessKeyInput) String() string {
 24164  	return awsutil.Prettify(s)
 24165  }
 24166  
 24167  // GoString returns the string representation.
 24168  //
 24169  // API parameter values that are decorated as "sensitive" in the API will not
 24170  // be included in the string output. The member name will be present, but the
 24171  // value will be replaced with "sensitive".
 24172  func (s DeleteBucketAccessKeyInput) GoString() string {
 24173  	return s.String()
 24174  }
 24175  
 24176  // Validate inspects the fields of the type to determine if they are valid.
 24177  func (s *DeleteBucketAccessKeyInput) Validate() error {
 24178  	invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAccessKeyInput"}
 24179  	if s.AccessKeyId == nil {
 24180  		invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
 24181  	}
 24182  	if s.BucketName == nil {
 24183  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 24184  	}
 24185  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 24186  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 24187  	}
 24188  
 24189  	if invalidParams.Len() > 0 {
 24190  		return invalidParams
 24191  	}
 24192  	return nil
 24193  }
 24194  
 24195  // SetAccessKeyId sets the AccessKeyId field's value.
 24196  func (s *DeleteBucketAccessKeyInput) SetAccessKeyId(v string) *DeleteBucketAccessKeyInput {
 24197  	s.AccessKeyId = &v
 24198  	return s
 24199  }
 24200  
 24201  // SetBucketName sets the BucketName field's value.
 24202  func (s *DeleteBucketAccessKeyInput) SetBucketName(v string) *DeleteBucketAccessKeyInput {
 24203  	s.BucketName = &v
 24204  	return s
 24205  }
 24206  
 24207  type DeleteBucketAccessKeyOutput struct {
 24208  	_ struct{} `type:"structure"`
 24209  
 24210  	// An array of objects that describe the result of the action, such as the status
 24211  	// of the request, the timestamp of the request, and the resources affected
 24212  	// by the request.
 24213  	Operations []*Operation `locationName:"operations" type:"list"`
 24214  }
 24215  
 24216  // String returns the string representation.
 24217  //
 24218  // API parameter values that are decorated as "sensitive" in the API will not
 24219  // be included in the string output. The member name will be present, but the
 24220  // value will be replaced with "sensitive".
 24221  func (s DeleteBucketAccessKeyOutput) String() string {
 24222  	return awsutil.Prettify(s)
 24223  }
 24224  
 24225  // GoString returns the string representation.
 24226  //
 24227  // API parameter values that are decorated as "sensitive" in the API will not
 24228  // be included in the string output. The member name will be present, but the
 24229  // value will be replaced with "sensitive".
 24230  func (s DeleteBucketAccessKeyOutput) GoString() string {
 24231  	return s.String()
 24232  }
 24233  
 24234  // SetOperations sets the Operations field's value.
 24235  func (s *DeleteBucketAccessKeyOutput) SetOperations(v []*Operation) *DeleteBucketAccessKeyOutput {
 24236  	s.Operations = v
 24237  	return s
 24238  }
 24239  
 24240  type DeleteBucketInput struct {
 24241  	_ struct{} `type:"structure"`
 24242  
 24243  	// The name of the bucket to delete.
 24244  	//
 24245  	// Use the GetBuckets action to get a list of bucket names that you can specify.
 24246  	//
 24247  	// BucketName is a required field
 24248  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 24249  
 24250  	// A Boolean value that indicates whether to force delete the bucket.
 24251  	//
 24252  	// You must force delete the bucket if it has one of the following conditions:
 24253  	//
 24254  	//    * The bucket is the origin of a distribution.
 24255  	//
 24256  	//    * The bucket has instances that were granted access to it using the SetResourceAccessForBucket
 24257  	//    action.
 24258  	//
 24259  	//    * The bucket has objects.
 24260  	//
 24261  	//    * The bucket has access keys.
 24262  	//
 24263  	// Force deleting a bucket might impact other resources that rely on the bucket,
 24264  	// such as instances, distributions, or software that use the issued access
 24265  	// keys.
 24266  	ForceDelete *bool `locationName:"forceDelete" type:"boolean"`
 24267  }
 24268  
 24269  // String returns the string representation.
 24270  //
 24271  // API parameter values that are decorated as "sensitive" in the API will not
 24272  // be included in the string output. The member name will be present, but the
 24273  // value will be replaced with "sensitive".
 24274  func (s DeleteBucketInput) String() string {
 24275  	return awsutil.Prettify(s)
 24276  }
 24277  
 24278  // GoString returns the string representation.
 24279  //
 24280  // API parameter values that are decorated as "sensitive" in the API will not
 24281  // be included in the string output. The member name will be present, but the
 24282  // value will be replaced with "sensitive".
 24283  func (s DeleteBucketInput) GoString() string {
 24284  	return s.String()
 24285  }
 24286  
 24287  // Validate inspects the fields of the type to determine if they are valid.
 24288  func (s *DeleteBucketInput) Validate() error {
 24289  	invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
 24290  	if s.BucketName == nil {
 24291  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 24292  	}
 24293  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 24294  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 24295  	}
 24296  
 24297  	if invalidParams.Len() > 0 {
 24298  		return invalidParams
 24299  	}
 24300  	return nil
 24301  }
 24302  
 24303  // SetBucketName sets the BucketName field's value.
 24304  func (s *DeleteBucketInput) SetBucketName(v string) *DeleteBucketInput {
 24305  	s.BucketName = &v
 24306  	return s
 24307  }
 24308  
 24309  // SetForceDelete sets the ForceDelete field's value.
 24310  func (s *DeleteBucketInput) SetForceDelete(v bool) *DeleteBucketInput {
 24311  	s.ForceDelete = &v
 24312  	return s
 24313  }
 24314  
 24315  type DeleteBucketOutput struct {
 24316  	_ struct{} `type:"structure"`
 24317  
 24318  	// An array of objects that describe the result of the action, such as the status
 24319  	// of the request, the timestamp of the request, and the resources affected
 24320  	// by the request.
 24321  	Operations []*Operation `locationName:"operations" type:"list"`
 24322  }
 24323  
 24324  // String returns the string representation.
 24325  //
 24326  // API parameter values that are decorated as "sensitive" in the API will not
 24327  // be included in the string output. The member name will be present, but the
 24328  // value will be replaced with "sensitive".
 24329  func (s DeleteBucketOutput) String() string {
 24330  	return awsutil.Prettify(s)
 24331  }
 24332  
 24333  // GoString returns the string representation.
 24334  //
 24335  // API parameter values that are decorated as "sensitive" in the API will not
 24336  // be included in the string output. The member name will be present, but the
 24337  // value will be replaced with "sensitive".
 24338  func (s DeleteBucketOutput) GoString() string {
 24339  	return s.String()
 24340  }
 24341  
 24342  // SetOperations sets the Operations field's value.
 24343  func (s *DeleteBucketOutput) SetOperations(v []*Operation) *DeleteBucketOutput {
 24344  	s.Operations = v
 24345  	return s
 24346  }
 24347  
 24348  type DeleteCertificateInput struct {
 24349  	_ struct{} `type:"structure"`
 24350  
 24351  	// The name of the certificate to delete.
 24352  	//
 24353  	// Use the GetCertificates action to get a list of certificate names that you
 24354  	// can specify.
 24355  	//
 24356  	// CertificateName is a required field
 24357  	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
 24358  }
 24359  
 24360  // String returns the string representation.
 24361  //
 24362  // API parameter values that are decorated as "sensitive" in the API will not
 24363  // be included in the string output. The member name will be present, but the
 24364  // value will be replaced with "sensitive".
 24365  func (s DeleteCertificateInput) String() string {
 24366  	return awsutil.Prettify(s)
 24367  }
 24368  
 24369  // GoString returns the string representation.
 24370  //
 24371  // API parameter values that are decorated as "sensitive" in the API will not
 24372  // be included in the string output. The member name will be present, but the
 24373  // value will be replaced with "sensitive".
 24374  func (s DeleteCertificateInput) GoString() string {
 24375  	return s.String()
 24376  }
 24377  
 24378  // Validate inspects the fields of the type to determine if they are valid.
 24379  func (s *DeleteCertificateInput) Validate() error {
 24380  	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
 24381  	if s.CertificateName == nil {
 24382  		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
 24383  	}
 24384  
 24385  	if invalidParams.Len() > 0 {
 24386  		return invalidParams
 24387  	}
 24388  	return nil
 24389  }
 24390  
 24391  // SetCertificateName sets the CertificateName field's value.
 24392  func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput {
 24393  	s.CertificateName = &v
 24394  	return s
 24395  }
 24396  
 24397  type DeleteCertificateOutput struct {
 24398  	_ struct{} `type:"structure"`
 24399  
 24400  	// An array of objects that describe the result of the action, such as the status
 24401  	// of the request, the timestamp of the request, and the resources affected
 24402  	// by the request.
 24403  	Operations []*Operation `locationName:"operations" type:"list"`
 24404  }
 24405  
 24406  // String returns the string representation.
 24407  //
 24408  // API parameter values that are decorated as "sensitive" in the API will not
 24409  // be included in the string output. The member name will be present, but the
 24410  // value will be replaced with "sensitive".
 24411  func (s DeleteCertificateOutput) String() string {
 24412  	return awsutil.Prettify(s)
 24413  }
 24414  
 24415  // GoString returns the string representation.
 24416  //
 24417  // API parameter values that are decorated as "sensitive" in the API will not
 24418  // be included in the string output. The member name will be present, but the
 24419  // value will be replaced with "sensitive".
 24420  func (s DeleteCertificateOutput) GoString() string {
 24421  	return s.String()
 24422  }
 24423  
 24424  // SetOperations sets the Operations field's value.
 24425  func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput {
 24426  	s.Operations = v
 24427  	return s
 24428  }
 24429  
 24430  type DeleteContactMethodInput struct {
 24431  	_ struct{} `type:"structure"`
 24432  
 24433  	// The protocol that will be deleted, such as Email or SMS (text messaging).
 24434  	//
 24435  	// To delete an Email and an SMS contact method if you added both, you must
 24436  	// run separate DeleteContactMethod actions to delete each protocol.
 24437  	//
 24438  	// Protocol is a required field
 24439  	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
 24440  }
 24441  
 24442  // String returns the string representation.
 24443  //
 24444  // API parameter values that are decorated as "sensitive" in the API will not
 24445  // be included in the string output. The member name will be present, but the
 24446  // value will be replaced with "sensitive".
 24447  func (s DeleteContactMethodInput) String() string {
 24448  	return awsutil.Prettify(s)
 24449  }
 24450  
 24451  // GoString returns the string representation.
 24452  //
 24453  // API parameter values that are decorated as "sensitive" in the API will not
 24454  // be included in the string output. The member name will be present, but the
 24455  // value will be replaced with "sensitive".
 24456  func (s DeleteContactMethodInput) GoString() string {
 24457  	return s.String()
 24458  }
 24459  
 24460  // Validate inspects the fields of the type to determine if they are valid.
 24461  func (s *DeleteContactMethodInput) Validate() error {
 24462  	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
 24463  	if s.Protocol == nil {
 24464  		invalidParams.Add(request.NewErrParamRequired("Protocol"))
 24465  	}
 24466  
 24467  	if invalidParams.Len() > 0 {
 24468  		return invalidParams
 24469  	}
 24470  	return nil
 24471  }
 24472  
 24473  // SetProtocol sets the Protocol field's value.
 24474  func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
 24475  	s.Protocol = &v
 24476  	return s
 24477  }
 24478  
 24479  type DeleteContactMethodOutput struct {
 24480  	_ struct{} `type:"structure"`
 24481  
 24482  	// An array of objects that describe the result of the action, such as the status
 24483  	// of the request, the timestamp of the request, and the resources affected
 24484  	// by the request.
 24485  	Operations []*Operation `locationName:"operations" type:"list"`
 24486  }
 24487  
 24488  // String returns the string representation.
 24489  //
 24490  // API parameter values that are decorated as "sensitive" in the API will not
 24491  // be included in the string output. The member name will be present, but the
 24492  // value will be replaced with "sensitive".
 24493  func (s DeleteContactMethodOutput) String() string {
 24494  	return awsutil.Prettify(s)
 24495  }
 24496  
 24497  // GoString returns the string representation.
 24498  //
 24499  // API parameter values that are decorated as "sensitive" in the API will not
 24500  // be included in the string output. The member name will be present, but the
 24501  // value will be replaced with "sensitive".
 24502  func (s DeleteContactMethodOutput) GoString() string {
 24503  	return s.String()
 24504  }
 24505  
 24506  // SetOperations sets the Operations field's value.
 24507  func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
 24508  	s.Operations = v
 24509  	return s
 24510  }
 24511  
 24512  type DeleteContainerImageInput struct {
 24513  	_ struct{} `type:"structure"`
 24514  
 24515  	// The name of the container image to delete from the container service.
 24516  	//
 24517  	// Use the GetContainerImages action to get the name of the container images
 24518  	// that are registered to a container service.
 24519  	//
 24520  	// Container images sourced from your Lightsail container service, that are
 24521  	// registered and stored on your service, start with a colon (:). For example,
 24522  	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
 24523  	// registry like Docker Hub don't start with a colon. For example, nginx:latest
 24524  	// or nginx.
 24525  	//
 24526  	// Image is a required field
 24527  	Image *string `locationName:"image" type:"string" required:"true"`
 24528  
 24529  	// The name of the container service for which to delete a registered container
 24530  	// image.
 24531  	//
 24532  	// ServiceName is a required field
 24533  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 24534  }
 24535  
 24536  // String returns the string representation.
 24537  //
 24538  // API parameter values that are decorated as "sensitive" in the API will not
 24539  // be included in the string output. The member name will be present, but the
 24540  // value will be replaced with "sensitive".
 24541  func (s DeleteContainerImageInput) String() string {
 24542  	return awsutil.Prettify(s)
 24543  }
 24544  
 24545  // GoString returns the string representation.
 24546  //
 24547  // API parameter values that are decorated as "sensitive" in the API will not
 24548  // be included in the string output. The member name will be present, but the
 24549  // value will be replaced with "sensitive".
 24550  func (s DeleteContainerImageInput) GoString() string {
 24551  	return s.String()
 24552  }
 24553  
 24554  // Validate inspects the fields of the type to determine if they are valid.
 24555  func (s *DeleteContainerImageInput) Validate() error {
 24556  	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerImageInput"}
 24557  	if s.Image == nil {
 24558  		invalidParams.Add(request.NewErrParamRequired("Image"))
 24559  	}
 24560  	if s.ServiceName == nil {
 24561  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 24562  	}
 24563  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 24564  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 24565  	}
 24566  
 24567  	if invalidParams.Len() > 0 {
 24568  		return invalidParams
 24569  	}
 24570  	return nil
 24571  }
 24572  
 24573  // SetImage sets the Image field's value.
 24574  func (s *DeleteContainerImageInput) SetImage(v string) *DeleteContainerImageInput {
 24575  	s.Image = &v
 24576  	return s
 24577  }
 24578  
 24579  // SetServiceName sets the ServiceName field's value.
 24580  func (s *DeleteContainerImageInput) SetServiceName(v string) *DeleteContainerImageInput {
 24581  	s.ServiceName = &v
 24582  	return s
 24583  }
 24584  
 24585  type DeleteContainerImageOutput struct {
 24586  	_ struct{} `type:"structure"`
 24587  }
 24588  
 24589  // String returns the string representation.
 24590  //
 24591  // API parameter values that are decorated as "sensitive" in the API will not
 24592  // be included in the string output. The member name will be present, but the
 24593  // value will be replaced with "sensitive".
 24594  func (s DeleteContainerImageOutput) String() string {
 24595  	return awsutil.Prettify(s)
 24596  }
 24597  
 24598  // GoString returns the string representation.
 24599  //
 24600  // API parameter values that are decorated as "sensitive" in the API will not
 24601  // be included in the string output. The member name will be present, but the
 24602  // value will be replaced with "sensitive".
 24603  func (s DeleteContainerImageOutput) GoString() string {
 24604  	return s.String()
 24605  }
 24606  
 24607  type DeleteContainerServiceInput struct {
 24608  	_ struct{} `type:"structure"`
 24609  
 24610  	// The name of the container service to delete.
 24611  	//
 24612  	// ServiceName is a required field
 24613  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 24614  }
 24615  
 24616  // String returns the string representation.
 24617  //
 24618  // API parameter values that are decorated as "sensitive" in the API will not
 24619  // be included in the string output. The member name will be present, but the
 24620  // value will be replaced with "sensitive".
 24621  func (s DeleteContainerServiceInput) String() string {
 24622  	return awsutil.Prettify(s)
 24623  }
 24624  
 24625  // GoString returns the string representation.
 24626  //
 24627  // API parameter values that are decorated as "sensitive" in the API will not
 24628  // be included in the string output. The member name will be present, but the
 24629  // value will be replaced with "sensitive".
 24630  func (s DeleteContainerServiceInput) GoString() string {
 24631  	return s.String()
 24632  }
 24633  
 24634  // Validate inspects the fields of the type to determine if they are valid.
 24635  func (s *DeleteContainerServiceInput) Validate() error {
 24636  	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerServiceInput"}
 24637  	if s.ServiceName == nil {
 24638  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 24639  	}
 24640  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 24641  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 24642  	}
 24643  
 24644  	if invalidParams.Len() > 0 {
 24645  		return invalidParams
 24646  	}
 24647  	return nil
 24648  }
 24649  
 24650  // SetServiceName sets the ServiceName field's value.
 24651  func (s *DeleteContainerServiceInput) SetServiceName(v string) *DeleteContainerServiceInput {
 24652  	s.ServiceName = &v
 24653  	return s
 24654  }
 24655  
 24656  type DeleteContainerServiceOutput struct {
 24657  	_ struct{} `type:"structure"`
 24658  }
 24659  
 24660  // String returns the string representation.
 24661  //
 24662  // API parameter values that are decorated as "sensitive" in the API will not
 24663  // be included in the string output. The member name will be present, but the
 24664  // value will be replaced with "sensitive".
 24665  func (s DeleteContainerServiceOutput) String() string {
 24666  	return awsutil.Prettify(s)
 24667  }
 24668  
 24669  // GoString returns the string representation.
 24670  //
 24671  // API parameter values that are decorated as "sensitive" in the API will not
 24672  // be included in the string output. The member name will be present, but the
 24673  // value will be replaced with "sensitive".
 24674  func (s DeleteContainerServiceOutput) GoString() string {
 24675  	return s.String()
 24676  }
 24677  
 24678  type DeleteDiskInput struct {
 24679  	_ struct{} `type:"structure"`
 24680  
 24681  	// The unique name of the disk you want to delete (e.g., my-disk).
 24682  	//
 24683  	// DiskName is a required field
 24684  	DiskName *string `locationName:"diskName" type:"string" required:"true"`
 24685  
 24686  	// A Boolean value to indicate whether to delete the enabled add-ons for the
 24687  	// disk.
 24688  	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
 24689  }
 24690  
 24691  // String returns the string representation.
 24692  //
 24693  // API parameter values that are decorated as "sensitive" in the API will not
 24694  // be included in the string output. The member name will be present, but the
 24695  // value will be replaced with "sensitive".
 24696  func (s DeleteDiskInput) String() string {
 24697  	return awsutil.Prettify(s)
 24698  }
 24699  
 24700  // GoString returns the string representation.
 24701  //
 24702  // API parameter values that are decorated as "sensitive" in the API will not
 24703  // be included in the string output. The member name will be present, but the
 24704  // value will be replaced with "sensitive".
 24705  func (s DeleteDiskInput) GoString() string {
 24706  	return s.String()
 24707  }
 24708  
 24709  // Validate inspects the fields of the type to determine if they are valid.
 24710  func (s *DeleteDiskInput) Validate() error {
 24711  	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
 24712  	if s.DiskName == nil {
 24713  		invalidParams.Add(request.NewErrParamRequired("DiskName"))
 24714  	}
 24715  
 24716  	if invalidParams.Len() > 0 {
 24717  		return invalidParams
 24718  	}
 24719  	return nil
 24720  }
 24721  
 24722  // SetDiskName sets the DiskName field's value.
 24723  func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
 24724  	s.DiskName = &v
 24725  	return s
 24726  }
 24727  
 24728  // SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
 24729  func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
 24730  	s.ForceDeleteAddOns = &v
 24731  	return s
 24732  }
 24733  
 24734  type DeleteDiskOutput struct {
 24735  	_ struct{} `type:"structure"`
 24736  
 24737  	// An array of objects that describe the result of the action, such as the status
 24738  	// of the request, the timestamp of the request, and the resources affected
 24739  	// by the request.
 24740  	Operations []*Operation `locationName:"operations" type:"list"`
 24741  }
 24742  
 24743  // String returns the string representation.
 24744  //
 24745  // API parameter values that are decorated as "sensitive" in the API will not
 24746  // be included in the string output. The member name will be present, but the
 24747  // value will be replaced with "sensitive".
 24748  func (s DeleteDiskOutput) String() string {
 24749  	return awsutil.Prettify(s)
 24750  }
 24751  
 24752  // GoString returns the string representation.
 24753  //
 24754  // API parameter values that are decorated as "sensitive" in the API will not
 24755  // be included in the string output. The member name will be present, but the
 24756  // value will be replaced with "sensitive".
 24757  func (s DeleteDiskOutput) GoString() string {
 24758  	return s.String()
 24759  }
 24760  
 24761  // SetOperations sets the Operations field's value.
 24762  func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
 24763  	s.Operations = v
 24764  	return s
 24765  }
 24766  
 24767  type DeleteDiskSnapshotInput struct {
 24768  	_ struct{} `type:"structure"`
 24769  
 24770  	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
 24771  	//
 24772  	// DiskSnapshotName is a required field
 24773  	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
 24774  }
 24775  
 24776  // String returns the string representation.
 24777  //
 24778  // API parameter values that are decorated as "sensitive" in the API will not
 24779  // be included in the string output. The member name will be present, but the
 24780  // value will be replaced with "sensitive".
 24781  func (s DeleteDiskSnapshotInput) String() string {
 24782  	return awsutil.Prettify(s)
 24783  }
 24784  
 24785  // GoString returns the string representation.
 24786  //
 24787  // API parameter values that are decorated as "sensitive" in the API will not
 24788  // be included in the string output. The member name will be present, but the
 24789  // value will be replaced with "sensitive".
 24790  func (s DeleteDiskSnapshotInput) GoString() string {
 24791  	return s.String()
 24792  }
 24793  
 24794  // Validate inspects the fields of the type to determine if they are valid.
 24795  func (s *DeleteDiskSnapshotInput) Validate() error {
 24796  	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
 24797  	if s.DiskSnapshotName == nil {
 24798  		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
 24799  	}
 24800  
 24801  	if invalidParams.Len() > 0 {
 24802  		return invalidParams
 24803  	}
 24804  	return nil
 24805  }
 24806  
 24807  // SetDiskSnapshotName sets the DiskSnapshotName field's value.
 24808  func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
 24809  	s.DiskSnapshotName = &v
 24810  	return s
 24811  }
 24812  
 24813  type DeleteDiskSnapshotOutput struct {
 24814  	_ struct{} `type:"structure"`
 24815  
 24816  	// An array of objects that describe the result of the action, such as the status
 24817  	// of the request, the timestamp of the request, and the resources affected
 24818  	// by the request.
 24819  	Operations []*Operation `locationName:"operations" type:"list"`
 24820  }
 24821  
 24822  // String returns the string representation.
 24823  //
 24824  // API parameter values that are decorated as "sensitive" in the API will not
 24825  // be included in the string output. The member name will be present, but the
 24826  // value will be replaced with "sensitive".
 24827  func (s DeleteDiskSnapshotOutput) String() string {
 24828  	return awsutil.Prettify(s)
 24829  }
 24830  
 24831  // GoString returns the string representation.
 24832  //
 24833  // API parameter values that are decorated as "sensitive" in the API will not
 24834  // be included in the string output. The member name will be present, but the
 24835  // value will be replaced with "sensitive".
 24836  func (s DeleteDiskSnapshotOutput) GoString() string {
 24837  	return s.String()
 24838  }
 24839  
 24840  // SetOperations sets the Operations field's value.
 24841  func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
 24842  	s.Operations = v
 24843  	return s
 24844  }
 24845  
 24846  type DeleteDistributionInput struct {
 24847  	_ struct{} `type:"structure"`
 24848  
 24849  	// The name of the distribution to delete.
 24850  	//
 24851  	// Use the GetDistributions action to get a list of distribution names that
 24852  	// you can specify.
 24853  	DistributionName *string `locationName:"distributionName" type:"string"`
 24854  }
 24855  
 24856  // String returns the string representation.
 24857  //
 24858  // API parameter values that are decorated as "sensitive" in the API will not
 24859  // be included in the string output. The member name will be present, but the
 24860  // value will be replaced with "sensitive".
 24861  func (s DeleteDistributionInput) String() string {
 24862  	return awsutil.Prettify(s)
 24863  }
 24864  
 24865  // GoString returns the string representation.
 24866  //
 24867  // API parameter values that are decorated as "sensitive" in the API will not
 24868  // be included in the string output. The member name will be present, but the
 24869  // value will be replaced with "sensitive".
 24870  func (s DeleteDistributionInput) GoString() string {
 24871  	return s.String()
 24872  }
 24873  
 24874  // SetDistributionName sets the DistributionName field's value.
 24875  func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput {
 24876  	s.DistributionName = &v
 24877  	return s
 24878  }
 24879  
 24880  type DeleteDistributionOutput struct {
 24881  	_ struct{} `type:"structure"`
 24882  
 24883  	// An object that describes the result of the action, such as the status of
 24884  	// the request, the timestamp of the request, and the resources affected by
 24885  	// the request.
 24886  	Operation *Operation `locationName:"operation" type:"structure"`
 24887  }
 24888  
 24889  // String returns the string representation.
 24890  //
 24891  // API parameter values that are decorated as "sensitive" in the API will not
 24892  // be included in the string output. The member name will be present, but the
 24893  // value will be replaced with "sensitive".
 24894  func (s DeleteDistributionOutput) String() string {
 24895  	return awsutil.Prettify(s)
 24896  }
 24897  
 24898  // GoString returns the string representation.
 24899  //
 24900  // API parameter values that are decorated as "sensitive" in the API will not
 24901  // be included in the string output. The member name will be present, but the
 24902  // value will be replaced with "sensitive".
 24903  func (s DeleteDistributionOutput) GoString() string {
 24904  	return s.String()
 24905  }
 24906  
 24907  // SetOperation sets the Operation field's value.
 24908  func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput {
 24909  	s.Operation = v
 24910  	return s
 24911  }
 24912  
 24913  type DeleteDomainEntryInput struct {
 24914  	_ struct{} `type:"structure"`
 24915  
 24916  	// An array of key-value pairs containing information about your domain entries.
 24917  	//
 24918  	// DomainEntry is a required field
 24919  	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
 24920  
 24921  	// The name of the domain entry to delete.
 24922  	//
 24923  	// DomainName is a required field
 24924  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 24925  }
 24926  
 24927  // String returns the string representation.
 24928  //
 24929  // API parameter values that are decorated as "sensitive" in the API will not
 24930  // be included in the string output. The member name will be present, but the
 24931  // value will be replaced with "sensitive".
 24932  func (s DeleteDomainEntryInput) String() string {
 24933  	return awsutil.Prettify(s)
 24934  }
 24935  
 24936  // GoString returns the string representation.
 24937  //
 24938  // API parameter values that are decorated as "sensitive" in the API will not
 24939  // be included in the string output. The member name will be present, but the
 24940  // value will be replaced with "sensitive".
 24941  func (s DeleteDomainEntryInput) GoString() string {
 24942  	return s.String()
 24943  }
 24944  
 24945  // Validate inspects the fields of the type to determine if they are valid.
 24946  func (s *DeleteDomainEntryInput) Validate() error {
 24947  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
 24948  	if s.DomainEntry == nil {
 24949  		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
 24950  	}
 24951  	if s.DomainName == nil {
 24952  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 24953  	}
 24954  
 24955  	if invalidParams.Len() > 0 {
 24956  		return invalidParams
 24957  	}
 24958  	return nil
 24959  }
 24960  
 24961  // SetDomainEntry sets the DomainEntry field's value.
 24962  func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
 24963  	s.DomainEntry = v
 24964  	return s
 24965  }
 24966  
 24967  // SetDomainName sets the DomainName field's value.
 24968  func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
 24969  	s.DomainName = &v
 24970  	return s
 24971  }
 24972  
 24973  type DeleteDomainEntryOutput struct {
 24974  	_ struct{} `type:"structure"`
 24975  
 24976  	// An array of objects that describe the result of the action, such as the status
 24977  	// of the request, the timestamp of the request, and the resources affected
 24978  	// by the request.
 24979  	Operation *Operation `locationName:"operation" type:"structure"`
 24980  }
 24981  
 24982  // String returns the string representation.
 24983  //
 24984  // API parameter values that are decorated as "sensitive" in the API will not
 24985  // be included in the string output. The member name will be present, but the
 24986  // value will be replaced with "sensitive".
 24987  func (s DeleteDomainEntryOutput) String() string {
 24988  	return awsutil.Prettify(s)
 24989  }
 24990  
 24991  // GoString returns the string representation.
 24992  //
 24993  // API parameter values that are decorated as "sensitive" in the API will not
 24994  // be included in the string output. The member name will be present, but the
 24995  // value will be replaced with "sensitive".
 24996  func (s DeleteDomainEntryOutput) GoString() string {
 24997  	return s.String()
 24998  }
 24999  
 25000  // SetOperation sets the Operation field's value.
 25001  func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
 25002  	s.Operation = v
 25003  	return s
 25004  }
 25005  
 25006  type DeleteDomainInput struct {
 25007  	_ struct{} `type:"structure"`
 25008  
 25009  	// The specific domain name to delete.
 25010  	//
 25011  	// DomainName is a required field
 25012  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 25013  }
 25014  
 25015  // String returns the string representation.
 25016  //
 25017  // API parameter values that are decorated as "sensitive" in the API will not
 25018  // be included in the string output. The member name will be present, but the
 25019  // value will be replaced with "sensitive".
 25020  func (s DeleteDomainInput) String() string {
 25021  	return awsutil.Prettify(s)
 25022  }
 25023  
 25024  // GoString returns the string representation.
 25025  //
 25026  // API parameter values that are decorated as "sensitive" in the API will not
 25027  // be included in the string output. The member name will be present, but the
 25028  // value will be replaced with "sensitive".
 25029  func (s DeleteDomainInput) GoString() string {
 25030  	return s.String()
 25031  }
 25032  
 25033  // Validate inspects the fields of the type to determine if they are valid.
 25034  func (s *DeleteDomainInput) Validate() error {
 25035  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
 25036  	if s.DomainName == nil {
 25037  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 25038  	}
 25039  
 25040  	if invalidParams.Len() > 0 {
 25041  		return invalidParams
 25042  	}
 25043  	return nil
 25044  }
 25045  
 25046  // SetDomainName sets the DomainName field's value.
 25047  func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
 25048  	s.DomainName = &v
 25049  	return s
 25050  }
 25051  
 25052  type DeleteDomainOutput struct {
 25053  	_ struct{} `type:"structure"`
 25054  
 25055  	// An array of objects that describe the result of the action, such as the status
 25056  	// of the request, the timestamp of the request, and the resources affected
 25057  	// by the request.
 25058  	Operation *Operation `locationName:"operation" type:"structure"`
 25059  }
 25060  
 25061  // String returns the string representation.
 25062  //
 25063  // API parameter values that are decorated as "sensitive" in the API will not
 25064  // be included in the string output. The member name will be present, but the
 25065  // value will be replaced with "sensitive".
 25066  func (s DeleteDomainOutput) String() string {
 25067  	return awsutil.Prettify(s)
 25068  }
 25069  
 25070  // GoString returns the string representation.
 25071  //
 25072  // API parameter values that are decorated as "sensitive" in the API will not
 25073  // be included in the string output. The member name will be present, but the
 25074  // value will be replaced with "sensitive".
 25075  func (s DeleteDomainOutput) GoString() string {
 25076  	return s.String()
 25077  }
 25078  
 25079  // SetOperation sets the Operation field's value.
 25080  func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
 25081  	s.Operation = v
 25082  	return s
 25083  }
 25084  
 25085  type DeleteInstanceInput struct {
 25086  	_ struct{} `type:"structure"`
 25087  
 25088  	// A Boolean value to indicate whether to delete the enabled add-ons for the
 25089  	// disk.
 25090  	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
 25091  
 25092  	// The name of the instance to delete.
 25093  	//
 25094  	// InstanceName is a required field
 25095  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 25096  }
 25097  
 25098  // String returns the string representation.
 25099  //
 25100  // API parameter values that are decorated as "sensitive" in the API will not
 25101  // be included in the string output. The member name will be present, but the
 25102  // value will be replaced with "sensitive".
 25103  func (s DeleteInstanceInput) String() string {
 25104  	return awsutil.Prettify(s)
 25105  }
 25106  
 25107  // GoString returns the string representation.
 25108  //
 25109  // API parameter values that are decorated as "sensitive" in the API will not
 25110  // be included in the string output. The member name will be present, but the
 25111  // value will be replaced with "sensitive".
 25112  func (s DeleteInstanceInput) GoString() string {
 25113  	return s.String()
 25114  }
 25115  
 25116  // Validate inspects the fields of the type to determine if they are valid.
 25117  func (s *DeleteInstanceInput) Validate() error {
 25118  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
 25119  	if s.InstanceName == nil {
 25120  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 25121  	}
 25122  
 25123  	if invalidParams.Len() > 0 {
 25124  		return invalidParams
 25125  	}
 25126  	return nil
 25127  }
 25128  
 25129  // SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
 25130  func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
 25131  	s.ForceDeleteAddOns = &v
 25132  	return s
 25133  }
 25134  
 25135  // SetInstanceName sets the InstanceName field's value.
 25136  func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
 25137  	s.InstanceName = &v
 25138  	return s
 25139  }
 25140  
 25141  type DeleteInstanceOutput struct {
 25142  	_ struct{} `type:"structure"`
 25143  
 25144  	// An array of objects that describe the result of the action, such as the status
 25145  	// of the request, the timestamp of the request, and the resources affected
 25146  	// by the request.
 25147  	Operations []*Operation `locationName:"operations" type:"list"`
 25148  }
 25149  
 25150  // String returns the string representation.
 25151  //
 25152  // API parameter values that are decorated as "sensitive" in the API will not
 25153  // be included in the string output. The member name will be present, but the
 25154  // value will be replaced with "sensitive".
 25155  func (s DeleteInstanceOutput) String() string {
 25156  	return awsutil.Prettify(s)
 25157  }
 25158  
 25159  // GoString returns the string representation.
 25160  //
 25161  // API parameter values that are decorated as "sensitive" in the API will not
 25162  // be included in the string output. The member name will be present, but the
 25163  // value will be replaced with "sensitive".
 25164  func (s DeleteInstanceOutput) GoString() string {
 25165  	return s.String()
 25166  }
 25167  
 25168  // SetOperations sets the Operations field's value.
 25169  func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
 25170  	s.Operations = v
 25171  	return s
 25172  }
 25173  
 25174  type DeleteInstanceSnapshotInput struct {
 25175  	_ struct{} `type:"structure"`
 25176  
 25177  	// The name of the snapshot to delete.
 25178  	//
 25179  	// InstanceSnapshotName is a required field
 25180  	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
 25181  }
 25182  
 25183  // String returns the string representation.
 25184  //
 25185  // API parameter values that are decorated as "sensitive" in the API will not
 25186  // be included in the string output. The member name will be present, but the
 25187  // value will be replaced with "sensitive".
 25188  func (s DeleteInstanceSnapshotInput) String() string {
 25189  	return awsutil.Prettify(s)
 25190  }
 25191  
 25192  // GoString returns the string representation.
 25193  //
 25194  // API parameter values that are decorated as "sensitive" in the API will not
 25195  // be included in the string output. The member name will be present, but the
 25196  // value will be replaced with "sensitive".
 25197  func (s DeleteInstanceSnapshotInput) GoString() string {
 25198  	return s.String()
 25199  }
 25200  
 25201  // Validate inspects the fields of the type to determine if they are valid.
 25202  func (s *DeleteInstanceSnapshotInput) Validate() error {
 25203  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
 25204  	if s.InstanceSnapshotName == nil {
 25205  		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
 25206  	}
 25207  
 25208  	if invalidParams.Len() > 0 {
 25209  		return invalidParams
 25210  	}
 25211  	return nil
 25212  }
 25213  
 25214  // SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
 25215  func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
 25216  	s.InstanceSnapshotName = &v
 25217  	return s
 25218  }
 25219  
 25220  type DeleteInstanceSnapshotOutput struct {
 25221  	_ struct{} `type:"structure"`
 25222  
 25223  	// An array of objects that describe the result of the action, such as the status
 25224  	// of the request, the timestamp of the request, and the resources affected
 25225  	// by the request.
 25226  	Operations []*Operation `locationName:"operations" type:"list"`
 25227  }
 25228  
 25229  // String returns the string representation.
 25230  //
 25231  // API parameter values that are decorated as "sensitive" in the API will not
 25232  // be included in the string output. The member name will be present, but the
 25233  // value will be replaced with "sensitive".
 25234  func (s DeleteInstanceSnapshotOutput) String() string {
 25235  	return awsutil.Prettify(s)
 25236  }
 25237  
 25238  // GoString returns the string representation.
 25239  //
 25240  // API parameter values that are decorated as "sensitive" in the API will not
 25241  // be included in the string output. The member name will be present, but the
 25242  // value will be replaced with "sensitive".
 25243  func (s DeleteInstanceSnapshotOutput) GoString() string {
 25244  	return s.String()
 25245  }
 25246  
 25247  // SetOperations sets the Operations field's value.
 25248  func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
 25249  	s.Operations = v
 25250  	return s
 25251  }
 25252  
 25253  type DeleteKeyPairInput struct {
 25254  	_ struct{} `type:"structure"`
 25255  
 25256  	// The name of the key pair to delete.
 25257  	//
 25258  	// KeyPairName is a required field
 25259  	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
 25260  }
 25261  
 25262  // String returns the string representation.
 25263  //
 25264  // API parameter values that are decorated as "sensitive" in the API will not
 25265  // be included in the string output. The member name will be present, but the
 25266  // value will be replaced with "sensitive".
 25267  func (s DeleteKeyPairInput) String() string {
 25268  	return awsutil.Prettify(s)
 25269  }
 25270  
 25271  // GoString returns the string representation.
 25272  //
 25273  // API parameter values that are decorated as "sensitive" in the API will not
 25274  // be included in the string output. The member name will be present, but the
 25275  // value will be replaced with "sensitive".
 25276  func (s DeleteKeyPairInput) GoString() string {
 25277  	return s.String()
 25278  }
 25279  
 25280  // Validate inspects the fields of the type to determine if they are valid.
 25281  func (s *DeleteKeyPairInput) Validate() error {
 25282  	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
 25283  	if s.KeyPairName == nil {
 25284  		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
 25285  	}
 25286  
 25287  	if invalidParams.Len() > 0 {
 25288  		return invalidParams
 25289  	}
 25290  	return nil
 25291  }
 25292  
 25293  // SetKeyPairName sets the KeyPairName field's value.
 25294  func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
 25295  	s.KeyPairName = &v
 25296  	return s
 25297  }
 25298  
 25299  type DeleteKeyPairOutput struct {
 25300  	_ struct{} `type:"structure"`
 25301  
 25302  	// An array of objects that describe the result of the action, such as the status
 25303  	// of the request, the timestamp of the request, and the resources affected
 25304  	// by the request.
 25305  	Operation *Operation `locationName:"operation" type:"structure"`
 25306  }
 25307  
 25308  // String returns the string representation.
 25309  //
 25310  // API parameter values that are decorated as "sensitive" in the API will not
 25311  // be included in the string output. The member name will be present, but the
 25312  // value will be replaced with "sensitive".
 25313  func (s DeleteKeyPairOutput) String() string {
 25314  	return awsutil.Prettify(s)
 25315  }
 25316  
 25317  // GoString returns the string representation.
 25318  //
 25319  // API parameter values that are decorated as "sensitive" in the API will not
 25320  // be included in the string output. The member name will be present, but the
 25321  // value will be replaced with "sensitive".
 25322  func (s DeleteKeyPairOutput) GoString() string {
 25323  	return s.String()
 25324  }
 25325  
 25326  // SetOperation sets the Operation field's value.
 25327  func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
 25328  	s.Operation = v
 25329  	return s
 25330  }
 25331  
 25332  type DeleteKnownHostKeysInput struct {
 25333  	_ struct{} `type:"structure"`
 25334  
 25335  	// The name of the instance for which you want to reset the host key or certificate.
 25336  	//
 25337  	// InstanceName is a required field
 25338  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 25339  }
 25340  
 25341  // String returns the string representation.
 25342  //
 25343  // API parameter values that are decorated as "sensitive" in the API will not
 25344  // be included in the string output. The member name will be present, but the
 25345  // value will be replaced with "sensitive".
 25346  func (s DeleteKnownHostKeysInput) String() string {
 25347  	return awsutil.Prettify(s)
 25348  }
 25349  
 25350  // GoString returns the string representation.
 25351  //
 25352  // API parameter values that are decorated as "sensitive" in the API will not
 25353  // be included in the string output. The member name will be present, but the
 25354  // value will be replaced with "sensitive".
 25355  func (s DeleteKnownHostKeysInput) GoString() string {
 25356  	return s.String()
 25357  }
 25358  
 25359  // Validate inspects the fields of the type to determine if they are valid.
 25360  func (s *DeleteKnownHostKeysInput) Validate() error {
 25361  	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
 25362  	if s.InstanceName == nil {
 25363  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 25364  	}
 25365  
 25366  	if invalidParams.Len() > 0 {
 25367  		return invalidParams
 25368  	}
 25369  	return nil
 25370  }
 25371  
 25372  // SetInstanceName sets the InstanceName field's value.
 25373  func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
 25374  	s.InstanceName = &v
 25375  	return s
 25376  }
 25377  
 25378  type DeleteKnownHostKeysOutput struct {
 25379  	_ struct{} `type:"structure"`
 25380  
 25381  	// An array of objects that describe the result of the action, such as the status
 25382  	// of the request, the timestamp of the request, and the resources affected
 25383  	// by the request.
 25384  	Operations []*Operation `locationName:"operations" type:"list"`
 25385  }
 25386  
 25387  // String returns the string representation.
 25388  //
 25389  // API parameter values that are decorated as "sensitive" in the API will not
 25390  // be included in the string output. The member name will be present, but the
 25391  // value will be replaced with "sensitive".
 25392  func (s DeleteKnownHostKeysOutput) String() string {
 25393  	return awsutil.Prettify(s)
 25394  }
 25395  
 25396  // GoString returns the string representation.
 25397  //
 25398  // API parameter values that are decorated as "sensitive" in the API will not
 25399  // be included in the string output. The member name will be present, but the
 25400  // value will be replaced with "sensitive".
 25401  func (s DeleteKnownHostKeysOutput) GoString() string {
 25402  	return s.String()
 25403  }
 25404  
 25405  // SetOperations sets the Operations field's value.
 25406  func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
 25407  	s.Operations = v
 25408  	return s
 25409  }
 25410  
 25411  type DeleteLoadBalancerInput struct {
 25412  	_ struct{} `type:"structure"`
 25413  
 25414  	// The name of the load balancer you want to delete.
 25415  	//
 25416  	// LoadBalancerName is a required field
 25417  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 25418  }
 25419  
 25420  // String returns the string representation.
 25421  //
 25422  // API parameter values that are decorated as "sensitive" in the API will not
 25423  // be included in the string output. The member name will be present, but the
 25424  // value will be replaced with "sensitive".
 25425  func (s DeleteLoadBalancerInput) String() string {
 25426  	return awsutil.Prettify(s)
 25427  }
 25428  
 25429  // GoString returns the string representation.
 25430  //
 25431  // API parameter values that are decorated as "sensitive" in the API will not
 25432  // be included in the string output. The member name will be present, but the
 25433  // value will be replaced with "sensitive".
 25434  func (s DeleteLoadBalancerInput) GoString() string {
 25435  	return s.String()
 25436  }
 25437  
 25438  // Validate inspects the fields of the type to determine if they are valid.
 25439  func (s *DeleteLoadBalancerInput) Validate() error {
 25440  	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
 25441  	if s.LoadBalancerName == nil {
 25442  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 25443  	}
 25444  
 25445  	if invalidParams.Len() > 0 {
 25446  		return invalidParams
 25447  	}
 25448  	return nil
 25449  }
 25450  
 25451  // SetLoadBalancerName sets the LoadBalancerName field's value.
 25452  func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
 25453  	s.LoadBalancerName = &v
 25454  	return s
 25455  }
 25456  
 25457  type DeleteLoadBalancerOutput struct {
 25458  	_ struct{} `type:"structure"`
 25459  
 25460  	// An array of objects that describe the result of the action, such as the status
 25461  	// of the request, the timestamp of the request, and the resources affected
 25462  	// by the request.
 25463  	Operations []*Operation `locationName:"operations" type:"list"`
 25464  }
 25465  
 25466  // String returns the string representation.
 25467  //
 25468  // API parameter values that are decorated as "sensitive" in the API will not
 25469  // be included in the string output. The member name will be present, but the
 25470  // value will be replaced with "sensitive".
 25471  func (s DeleteLoadBalancerOutput) String() string {
 25472  	return awsutil.Prettify(s)
 25473  }
 25474  
 25475  // GoString returns the string representation.
 25476  //
 25477  // API parameter values that are decorated as "sensitive" in the API will not
 25478  // be included in the string output. The member name will be present, but the
 25479  // value will be replaced with "sensitive".
 25480  func (s DeleteLoadBalancerOutput) GoString() string {
 25481  	return s.String()
 25482  }
 25483  
 25484  // SetOperations sets the Operations field's value.
 25485  func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
 25486  	s.Operations = v
 25487  	return s
 25488  }
 25489  
 25490  type DeleteLoadBalancerTlsCertificateInput struct {
 25491  	_ struct{} `type:"structure"`
 25492  
 25493  	// The SSL/TLS certificate name.
 25494  	//
 25495  	// CertificateName is a required field
 25496  	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
 25497  
 25498  	// When true, forces the deletion of an SSL/TLS certificate.
 25499  	//
 25500  	// There can be two certificates associated with a Lightsail load balancer:
 25501  	// the primary and the backup. The force parameter is required when the primary
 25502  	// SSL/TLS certificate is in use by an instance attached to the load balancer.
 25503  	Force *bool `locationName:"force" type:"boolean"`
 25504  
 25505  	// The load balancer name.
 25506  	//
 25507  	// LoadBalancerName is a required field
 25508  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 25509  }
 25510  
 25511  // String returns the string representation.
 25512  //
 25513  // API parameter values that are decorated as "sensitive" in the API will not
 25514  // be included in the string output. The member name will be present, but the
 25515  // value will be replaced with "sensitive".
 25516  func (s DeleteLoadBalancerTlsCertificateInput) String() string {
 25517  	return awsutil.Prettify(s)
 25518  }
 25519  
 25520  // GoString returns the string representation.
 25521  //
 25522  // API parameter values that are decorated as "sensitive" in the API will not
 25523  // be included in the string output. The member name will be present, but the
 25524  // value will be replaced with "sensitive".
 25525  func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
 25526  	return s.String()
 25527  }
 25528  
 25529  // Validate inspects the fields of the type to determine if they are valid.
 25530  func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
 25531  	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
 25532  	if s.CertificateName == nil {
 25533  		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
 25534  	}
 25535  	if s.LoadBalancerName == nil {
 25536  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 25537  	}
 25538  
 25539  	if invalidParams.Len() > 0 {
 25540  		return invalidParams
 25541  	}
 25542  	return nil
 25543  }
 25544  
 25545  // SetCertificateName sets the CertificateName field's value.
 25546  func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
 25547  	s.CertificateName = &v
 25548  	return s
 25549  }
 25550  
 25551  // SetForce sets the Force field's value.
 25552  func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
 25553  	s.Force = &v
 25554  	return s
 25555  }
 25556  
 25557  // SetLoadBalancerName sets the LoadBalancerName field's value.
 25558  func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
 25559  	s.LoadBalancerName = &v
 25560  	return s
 25561  }
 25562  
 25563  type DeleteLoadBalancerTlsCertificateOutput struct {
 25564  	_ struct{} `type:"structure"`
 25565  
 25566  	// An array of objects that describe the result of the action, such as the status
 25567  	// of the request, the timestamp of the request, and the resources affected
 25568  	// by the request.
 25569  	Operations []*Operation `locationName:"operations" type:"list"`
 25570  }
 25571  
 25572  // String returns the string representation.
 25573  //
 25574  // API parameter values that are decorated as "sensitive" in the API will not
 25575  // be included in the string output. The member name will be present, but the
 25576  // value will be replaced with "sensitive".
 25577  func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
 25578  	return awsutil.Prettify(s)
 25579  }
 25580  
 25581  // GoString returns the string representation.
 25582  //
 25583  // API parameter values that are decorated as "sensitive" in the API will not
 25584  // be included in the string output. The member name will be present, but the
 25585  // value will be replaced with "sensitive".
 25586  func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
 25587  	return s.String()
 25588  }
 25589  
 25590  // SetOperations sets the Operations field's value.
 25591  func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
 25592  	s.Operations = v
 25593  	return s
 25594  }
 25595  
 25596  type DeleteRelationalDatabaseInput struct {
 25597  	_ struct{} `type:"structure"`
 25598  
 25599  	// The name of the database snapshot created if skip final snapshot is false,
 25600  	// which is the default value for that parameter.
 25601  	//
 25602  	// Specifying this parameter and also specifying the skip final snapshot parameter
 25603  	// to true results in an error.
 25604  	//
 25605  	// Constraints:
 25606  	//
 25607  	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
 25608  	//
 25609  	//    * The first and last character must be a letter or number.
 25610  	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
 25611  
 25612  	// The name of the database that you are deleting.
 25613  	//
 25614  	// RelationalDatabaseName is a required field
 25615  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 25616  
 25617  	// Determines whether a final database snapshot is created before your database
 25618  	// is deleted. If true is specified, no database snapshot is created. If false
 25619  	// is specified, a database snapshot is created before your database is deleted.
 25620  	//
 25621  	// You must specify the final relational database snapshot name parameter if
 25622  	// the skip final snapshot parameter is false.
 25623  	//
 25624  	// Default: false
 25625  	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
 25626  }
 25627  
 25628  // String returns the string representation.
 25629  //
 25630  // API parameter values that are decorated as "sensitive" in the API will not
 25631  // be included in the string output. The member name will be present, but the
 25632  // value will be replaced with "sensitive".
 25633  func (s DeleteRelationalDatabaseInput) String() string {
 25634  	return awsutil.Prettify(s)
 25635  }
 25636  
 25637  // GoString returns the string representation.
 25638  //
 25639  // API parameter values that are decorated as "sensitive" in the API will not
 25640  // be included in the string output. The member name will be present, but the
 25641  // value will be replaced with "sensitive".
 25642  func (s DeleteRelationalDatabaseInput) GoString() string {
 25643  	return s.String()
 25644  }
 25645  
 25646  // Validate inspects the fields of the type to determine if they are valid.
 25647  func (s *DeleteRelationalDatabaseInput) Validate() error {
 25648  	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
 25649  	if s.RelationalDatabaseName == nil {
 25650  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 25651  	}
 25652  
 25653  	if invalidParams.Len() > 0 {
 25654  		return invalidParams
 25655  	}
 25656  	return nil
 25657  }
 25658  
 25659  // SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
 25660  func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
 25661  	s.FinalRelationalDatabaseSnapshotName = &v
 25662  	return s
 25663  }
 25664  
 25665  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 25666  func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
 25667  	s.RelationalDatabaseName = &v
 25668  	return s
 25669  }
 25670  
 25671  // SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
 25672  func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
 25673  	s.SkipFinalSnapshot = &v
 25674  	return s
 25675  }
 25676  
 25677  type DeleteRelationalDatabaseOutput struct {
 25678  	_ struct{} `type:"structure"`
 25679  
 25680  	// An array of objects that describe the result of the action, such as the status
 25681  	// of the request, the timestamp of the request, and the resources affected
 25682  	// by the request.
 25683  	Operations []*Operation `locationName:"operations" type:"list"`
 25684  }
 25685  
 25686  // String returns the string representation.
 25687  //
 25688  // API parameter values that are decorated as "sensitive" in the API will not
 25689  // be included in the string output. The member name will be present, but the
 25690  // value will be replaced with "sensitive".
 25691  func (s DeleteRelationalDatabaseOutput) String() string {
 25692  	return awsutil.Prettify(s)
 25693  }
 25694  
 25695  // GoString returns the string representation.
 25696  //
 25697  // API parameter values that are decorated as "sensitive" in the API will not
 25698  // be included in the string output. The member name will be present, but the
 25699  // value will be replaced with "sensitive".
 25700  func (s DeleteRelationalDatabaseOutput) GoString() string {
 25701  	return s.String()
 25702  }
 25703  
 25704  // SetOperations sets the Operations field's value.
 25705  func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
 25706  	s.Operations = v
 25707  	return s
 25708  }
 25709  
 25710  type DeleteRelationalDatabaseSnapshotInput struct {
 25711  	_ struct{} `type:"structure"`
 25712  
 25713  	// The name of the database snapshot that you are deleting.
 25714  	//
 25715  	// RelationalDatabaseSnapshotName is a required field
 25716  	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
 25717  }
 25718  
 25719  // String returns the string representation.
 25720  //
 25721  // API parameter values that are decorated as "sensitive" in the API will not
 25722  // be included in the string output. The member name will be present, but the
 25723  // value will be replaced with "sensitive".
 25724  func (s DeleteRelationalDatabaseSnapshotInput) String() string {
 25725  	return awsutil.Prettify(s)
 25726  }
 25727  
 25728  // GoString returns the string representation.
 25729  //
 25730  // API parameter values that are decorated as "sensitive" in the API will not
 25731  // be included in the string output. The member name will be present, but the
 25732  // value will be replaced with "sensitive".
 25733  func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
 25734  	return s.String()
 25735  }
 25736  
 25737  // Validate inspects the fields of the type to determine if they are valid.
 25738  func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
 25739  	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
 25740  	if s.RelationalDatabaseSnapshotName == nil {
 25741  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
 25742  	}
 25743  
 25744  	if invalidParams.Len() > 0 {
 25745  		return invalidParams
 25746  	}
 25747  	return nil
 25748  }
 25749  
 25750  // SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
 25751  func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
 25752  	s.RelationalDatabaseSnapshotName = &v
 25753  	return s
 25754  }
 25755  
 25756  type DeleteRelationalDatabaseSnapshotOutput struct {
 25757  	_ struct{} `type:"structure"`
 25758  
 25759  	// An array of objects that describe the result of the action, such as the status
 25760  	// of the request, the timestamp of the request, and the resources affected
 25761  	// by the request.
 25762  	Operations []*Operation `locationName:"operations" type:"list"`
 25763  }
 25764  
 25765  // String returns the string representation.
 25766  //
 25767  // API parameter values that are decorated as "sensitive" in the API will not
 25768  // be included in the string output. The member name will be present, but the
 25769  // value will be replaced with "sensitive".
 25770  func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
 25771  	return awsutil.Prettify(s)
 25772  }
 25773  
 25774  // GoString returns the string representation.
 25775  //
 25776  // API parameter values that are decorated as "sensitive" in the API will not
 25777  // be included in the string output. The member name will be present, but the
 25778  // value will be replaced with "sensitive".
 25779  func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
 25780  	return s.String()
 25781  }
 25782  
 25783  // SetOperations sets the Operations field's value.
 25784  func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
 25785  	s.Operations = v
 25786  	return s
 25787  }
 25788  
 25789  // Describes the destination of a record.
 25790  type DestinationInfo struct {
 25791  	_ struct{} `type:"structure"`
 25792  
 25793  	// The ID of the resource created at the destination.
 25794  	Id *string `locationName:"id" type:"string"`
 25795  
 25796  	// The destination service of the record.
 25797  	Service *string `locationName:"service" type:"string"`
 25798  }
 25799  
 25800  // String returns the string representation.
 25801  //
 25802  // API parameter values that are decorated as "sensitive" in the API will not
 25803  // be included in the string output. The member name will be present, but the
 25804  // value will be replaced with "sensitive".
 25805  func (s DestinationInfo) String() string {
 25806  	return awsutil.Prettify(s)
 25807  }
 25808  
 25809  // GoString returns the string representation.
 25810  //
 25811  // API parameter values that are decorated as "sensitive" in the API will not
 25812  // be included in the string output. The member name will be present, but the
 25813  // value will be replaced with "sensitive".
 25814  func (s DestinationInfo) GoString() string {
 25815  	return s.String()
 25816  }
 25817  
 25818  // SetId sets the Id field's value.
 25819  func (s *DestinationInfo) SetId(v string) *DestinationInfo {
 25820  	s.Id = &v
 25821  	return s
 25822  }
 25823  
 25824  // SetService sets the Service field's value.
 25825  func (s *DestinationInfo) SetService(v string) *DestinationInfo {
 25826  	s.Service = &v
 25827  	return s
 25828  }
 25829  
 25830  type DetachCertificateFromDistributionInput struct {
 25831  	_ struct{} `type:"structure"`
 25832  
 25833  	// The name of the distribution from which to detach the certificate.
 25834  	//
 25835  	// Use the GetDistributions action to get a list of distribution names that
 25836  	// you can specify.
 25837  	//
 25838  	// DistributionName is a required field
 25839  	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
 25840  }
 25841  
 25842  // String returns the string representation.
 25843  //
 25844  // API parameter values that are decorated as "sensitive" in the API will not
 25845  // be included in the string output. The member name will be present, but the
 25846  // value will be replaced with "sensitive".
 25847  func (s DetachCertificateFromDistributionInput) String() string {
 25848  	return awsutil.Prettify(s)
 25849  }
 25850  
 25851  // GoString returns the string representation.
 25852  //
 25853  // API parameter values that are decorated as "sensitive" in the API will not
 25854  // be included in the string output. The member name will be present, but the
 25855  // value will be replaced with "sensitive".
 25856  func (s DetachCertificateFromDistributionInput) GoString() string {
 25857  	return s.String()
 25858  }
 25859  
 25860  // Validate inspects the fields of the type to determine if they are valid.
 25861  func (s *DetachCertificateFromDistributionInput) Validate() error {
 25862  	invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"}
 25863  	if s.DistributionName == nil {
 25864  		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
 25865  	}
 25866  
 25867  	if invalidParams.Len() > 0 {
 25868  		return invalidParams
 25869  	}
 25870  	return nil
 25871  }
 25872  
 25873  // SetDistributionName sets the DistributionName field's value.
 25874  func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput {
 25875  	s.DistributionName = &v
 25876  	return s
 25877  }
 25878  
 25879  type DetachCertificateFromDistributionOutput struct {
 25880  	_ struct{} `type:"structure"`
 25881  
 25882  	// An object that describes the result of the action, such as the status of
 25883  	// the request, the timestamp of the request, and the resources affected by
 25884  	// the request.
 25885  	Operation *Operation `locationName:"operation" type:"structure"`
 25886  }
 25887  
 25888  // String returns the string representation.
 25889  //
 25890  // API parameter values that are decorated as "sensitive" in the API will not
 25891  // be included in the string output. The member name will be present, but the
 25892  // value will be replaced with "sensitive".
 25893  func (s DetachCertificateFromDistributionOutput) String() string {
 25894  	return awsutil.Prettify(s)
 25895  }
 25896  
 25897  // GoString returns the string representation.
 25898  //
 25899  // API parameter values that are decorated as "sensitive" in the API will not
 25900  // be included in the string output. The member name will be present, but the
 25901  // value will be replaced with "sensitive".
 25902  func (s DetachCertificateFromDistributionOutput) GoString() string {
 25903  	return s.String()
 25904  }
 25905  
 25906  // SetOperation sets the Operation field's value.
 25907  func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput {
 25908  	s.Operation = v
 25909  	return s
 25910  }
 25911  
 25912  type DetachDiskInput struct {
 25913  	_ struct{} `type:"structure"`
 25914  
 25915  	// The unique name of the disk you want to detach from your instance (e.g.,
 25916  	// my-disk).
 25917  	//
 25918  	// DiskName is a required field
 25919  	DiskName *string `locationName:"diskName" type:"string" required:"true"`
 25920  }
 25921  
 25922  // String returns the string representation.
 25923  //
 25924  // API parameter values that are decorated as "sensitive" in the API will not
 25925  // be included in the string output. The member name will be present, but the
 25926  // value will be replaced with "sensitive".
 25927  func (s DetachDiskInput) String() string {
 25928  	return awsutil.Prettify(s)
 25929  }
 25930  
 25931  // GoString returns the string representation.
 25932  //
 25933  // API parameter values that are decorated as "sensitive" in the API will not
 25934  // be included in the string output. The member name will be present, but the
 25935  // value will be replaced with "sensitive".
 25936  func (s DetachDiskInput) GoString() string {
 25937  	return s.String()
 25938  }
 25939  
 25940  // Validate inspects the fields of the type to determine if they are valid.
 25941  func (s *DetachDiskInput) Validate() error {
 25942  	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
 25943  	if s.DiskName == nil {
 25944  		invalidParams.Add(request.NewErrParamRequired("DiskName"))
 25945  	}
 25946  
 25947  	if invalidParams.Len() > 0 {
 25948  		return invalidParams
 25949  	}
 25950  	return nil
 25951  }
 25952  
 25953  // SetDiskName sets the DiskName field's value.
 25954  func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
 25955  	s.DiskName = &v
 25956  	return s
 25957  }
 25958  
 25959  type DetachDiskOutput struct {
 25960  	_ struct{} `type:"structure"`
 25961  
 25962  	// An array of objects that describe the result of the action, such as the status
 25963  	// of the request, the timestamp of the request, and the resources affected
 25964  	// by the request.
 25965  	Operations []*Operation `locationName:"operations" type:"list"`
 25966  }
 25967  
 25968  // String returns the string representation.
 25969  //
 25970  // API parameter values that are decorated as "sensitive" in the API will not
 25971  // be included in the string output. The member name will be present, but the
 25972  // value will be replaced with "sensitive".
 25973  func (s DetachDiskOutput) String() string {
 25974  	return awsutil.Prettify(s)
 25975  }
 25976  
 25977  // GoString returns the string representation.
 25978  //
 25979  // API parameter values that are decorated as "sensitive" in the API will not
 25980  // be included in the string output. The member name will be present, but the
 25981  // value will be replaced with "sensitive".
 25982  func (s DetachDiskOutput) GoString() string {
 25983  	return s.String()
 25984  }
 25985  
 25986  // SetOperations sets the Operations field's value.
 25987  func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
 25988  	s.Operations = v
 25989  	return s
 25990  }
 25991  
 25992  type DetachInstancesFromLoadBalancerInput struct {
 25993  	_ struct{} `type:"structure"`
 25994  
 25995  	// An array of strings containing the names of the instances you want to detach
 25996  	// from the load balancer.
 25997  	//
 25998  	// InstanceNames is a required field
 25999  	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
 26000  
 26001  	// The name of the Lightsail load balancer.
 26002  	//
 26003  	// LoadBalancerName is a required field
 26004  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 26005  }
 26006  
 26007  // String returns the string representation.
 26008  //
 26009  // API parameter values that are decorated as "sensitive" in the API will not
 26010  // be included in the string output. The member name will be present, but the
 26011  // value will be replaced with "sensitive".
 26012  func (s DetachInstancesFromLoadBalancerInput) String() string {
 26013  	return awsutil.Prettify(s)
 26014  }
 26015  
 26016  // GoString returns the string representation.
 26017  //
 26018  // API parameter values that are decorated as "sensitive" in the API will not
 26019  // be included in the string output. The member name will be present, but the
 26020  // value will be replaced with "sensitive".
 26021  func (s DetachInstancesFromLoadBalancerInput) GoString() string {
 26022  	return s.String()
 26023  }
 26024  
 26025  // Validate inspects the fields of the type to determine if they are valid.
 26026  func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
 26027  	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
 26028  	if s.InstanceNames == nil {
 26029  		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
 26030  	}
 26031  	if s.LoadBalancerName == nil {
 26032  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 26033  	}
 26034  
 26035  	if invalidParams.Len() > 0 {
 26036  		return invalidParams
 26037  	}
 26038  	return nil
 26039  }
 26040  
 26041  // SetInstanceNames sets the InstanceNames field's value.
 26042  func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
 26043  	s.InstanceNames = v
 26044  	return s
 26045  }
 26046  
 26047  // SetLoadBalancerName sets the LoadBalancerName field's value.
 26048  func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
 26049  	s.LoadBalancerName = &v
 26050  	return s
 26051  }
 26052  
 26053  type DetachInstancesFromLoadBalancerOutput struct {
 26054  	_ struct{} `type:"structure"`
 26055  
 26056  	// An array of objects that describe the result of the action, such as the status
 26057  	// of the request, the timestamp of the request, and the resources affected
 26058  	// by the request.
 26059  	Operations []*Operation `locationName:"operations" type:"list"`
 26060  }
 26061  
 26062  // String returns the string representation.
 26063  //
 26064  // API parameter values that are decorated as "sensitive" in the API will not
 26065  // be included in the string output. The member name will be present, but the
 26066  // value will be replaced with "sensitive".
 26067  func (s DetachInstancesFromLoadBalancerOutput) String() string {
 26068  	return awsutil.Prettify(s)
 26069  }
 26070  
 26071  // GoString returns the string representation.
 26072  //
 26073  // API parameter values that are decorated as "sensitive" in the API will not
 26074  // be included in the string output. The member name will be present, but the
 26075  // value will be replaced with "sensitive".
 26076  func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
 26077  	return s.String()
 26078  }
 26079  
 26080  // SetOperations sets the Operations field's value.
 26081  func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
 26082  	s.Operations = v
 26083  	return s
 26084  }
 26085  
 26086  type DetachStaticIpInput struct {
 26087  	_ struct{} `type:"structure"`
 26088  
 26089  	// The name of the static IP to detach from the instance.
 26090  	//
 26091  	// StaticIpName is a required field
 26092  	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
 26093  }
 26094  
 26095  // String returns the string representation.
 26096  //
 26097  // API parameter values that are decorated as "sensitive" in the API will not
 26098  // be included in the string output. The member name will be present, but the
 26099  // value will be replaced with "sensitive".
 26100  func (s DetachStaticIpInput) String() string {
 26101  	return awsutil.Prettify(s)
 26102  }
 26103  
 26104  // GoString returns the string representation.
 26105  //
 26106  // API parameter values that are decorated as "sensitive" in the API will not
 26107  // be included in the string output. The member name will be present, but the
 26108  // value will be replaced with "sensitive".
 26109  func (s DetachStaticIpInput) GoString() string {
 26110  	return s.String()
 26111  }
 26112  
 26113  // Validate inspects the fields of the type to determine if they are valid.
 26114  func (s *DetachStaticIpInput) Validate() error {
 26115  	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
 26116  	if s.StaticIpName == nil {
 26117  		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
 26118  	}
 26119  
 26120  	if invalidParams.Len() > 0 {
 26121  		return invalidParams
 26122  	}
 26123  	return nil
 26124  }
 26125  
 26126  // SetStaticIpName sets the StaticIpName field's value.
 26127  func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
 26128  	s.StaticIpName = &v
 26129  	return s
 26130  }
 26131  
 26132  type DetachStaticIpOutput struct {
 26133  	_ struct{} `type:"structure"`
 26134  
 26135  	// An array of objects that describe the result of the action, such as the status
 26136  	// of the request, the timestamp of the request, and the resources affected
 26137  	// by the request.
 26138  	Operations []*Operation `locationName:"operations" type:"list"`
 26139  }
 26140  
 26141  // String returns the string representation.
 26142  //
 26143  // API parameter values that are decorated as "sensitive" in the API will not
 26144  // be included in the string output. The member name will be present, but the
 26145  // value will be replaced with "sensitive".
 26146  func (s DetachStaticIpOutput) String() string {
 26147  	return awsutil.Prettify(s)
 26148  }
 26149  
 26150  // GoString returns the string representation.
 26151  //
 26152  // API parameter values that are decorated as "sensitive" in the API will not
 26153  // be included in the string output. The member name will be present, but the
 26154  // value will be replaced with "sensitive".
 26155  func (s DetachStaticIpOutput) GoString() string {
 26156  	return s.String()
 26157  }
 26158  
 26159  // SetOperations sets the Operations field's value.
 26160  func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
 26161  	s.Operations = v
 26162  	return s
 26163  }
 26164  
 26165  type DisableAddOnInput struct {
 26166  	_ struct{} `type:"structure"`
 26167  
 26168  	// The add-on type to disable.
 26169  	//
 26170  	// AddOnType is a required field
 26171  	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
 26172  
 26173  	// The name of the source resource for which to disable the add-on.
 26174  	//
 26175  	// ResourceName is a required field
 26176  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 26177  }
 26178  
 26179  // String returns the string representation.
 26180  //
 26181  // API parameter values that are decorated as "sensitive" in the API will not
 26182  // be included in the string output. The member name will be present, but the
 26183  // value will be replaced with "sensitive".
 26184  func (s DisableAddOnInput) String() string {
 26185  	return awsutil.Prettify(s)
 26186  }
 26187  
 26188  // GoString returns the string representation.
 26189  //
 26190  // API parameter values that are decorated as "sensitive" in the API will not
 26191  // be included in the string output. The member name will be present, but the
 26192  // value will be replaced with "sensitive".
 26193  func (s DisableAddOnInput) GoString() string {
 26194  	return s.String()
 26195  }
 26196  
 26197  // Validate inspects the fields of the type to determine if they are valid.
 26198  func (s *DisableAddOnInput) Validate() error {
 26199  	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
 26200  	if s.AddOnType == nil {
 26201  		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
 26202  	}
 26203  	if s.ResourceName == nil {
 26204  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 26205  	}
 26206  
 26207  	if invalidParams.Len() > 0 {
 26208  		return invalidParams
 26209  	}
 26210  	return nil
 26211  }
 26212  
 26213  // SetAddOnType sets the AddOnType field's value.
 26214  func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
 26215  	s.AddOnType = &v
 26216  	return s
 26217  }
 26218  
 26219  // SetResourceName sets the ResourceName field's value.
 26220  func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
 26221  	s.ResourceName = &v
 26222  	return s
 26223  }
 26224  
 26225  type DisableAddOnOutput struct {
 26226  	_ struct{} `type:"structure"`
 26227  
 26228  	// An array of objects that describe the result of the action, such as the status
 26229  	// of the request, the timestamp of the request, and the resources affected
 26230  	// by the request.
 26231  	Operations []*Operation `locationName:"operations" type:"list"`
 26232  }
 26233  
 26234  // String returns the string representation.
 26235  //
 26236  // API parameter values that are decorated as "sensitive" in the API will not
 26237  // be included in the string output. The member name will be present, but the
 26238  // value will be replaced with "sensitive".
 26239  func (s DisableAddOnOutput) String() string {
 26240  	return awsutil.Prettify(s)
 26241  }
 26242  
 26243  // GoString returns the string representation.
 26244  //
 26245  // API parameter values that are decorated as "sensitive" in the API will not
 26246  // be included in the string output. The member name will be present, but the
 26247  // value will be replaced with "sensitive".
 26248  func (s DisableAddOnOutput) GoString() string {
 26249  	return s.String()
 26250  }
 26251  
 26252  // SetOperations sets the Operations field's value.
 26253  func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
 26254  	s.Operations = v
 26255  	return s
 26256  }
 26257  
 26258  // Describes a block storage disk.
 26259  type Disk struct {
 26260  	_ struct{} `type:"structure"`
 26261  
 26262  	// An array of objects representing the add-ons enabled on the disk.
 26263  	AddOns []*AddOn `locationName:"addOns" type:"list"`
 26264  
 26265  	// The Amazon Resource Name (ARN) of the disk.
 26266  	Arn *string `locationName:"arn" type:"string"`
 26267  
 26268  	// The resources to which the disk is attached.
 26269  	AttachedTo *string `locationName:"attachedTo" type:"string"`
 26270  
 26271  	// (Deprecated) The attachment state of the disk.
 26272  	//
 26273  	// In releases prior to November 14, 2017, this parameter returned attached
 26274  	// for system disks in the API response. It is now deprecated, but still included
 26275  	// in the response. Use isAttached instead.
 26276  	//
 26277  	// Deprecated: AttachmentState has been deprecated
 26278  	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
 26279  
 26280  	// The date when the disk was created.
 26281  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 26282  
 26283  	// (Deprecated) The number of GB in use by the disk.
 26284  	//
 26285  	// In releases prior to November 14, 2017, this parameter was not included in
 26286  	// the API response. It is now deprecated.
 26287  	//
 26288  	// Deprecated: GbInUse has been deprecated
 26289  	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
 26290  
 26291  	// The input/output operations per second (IOPS) of the disk.
 26292  	Iops *int64 `locationName:"iops" type:"integer"`
 26293  
 26294  	// A Boolean value indicating whether the disk is attached.
 26295  	IsAttached *bool `locationName:"isAttached" type:"boolean"`
 26296  
 26297  	// A Boolean value indicating whether this disk is a system disk (has an operating
 26298  	// system loaded on it).
 26299  	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
 26300  
 26301  	// The AWS Region and Availability Zone where the disk is located.
 26302  	Location *ResourceLocation `locationName:"location" type:"structure"`
 26303  
 26304  	// The unique name of the disk.
 26305  	Name *string `locationName:"name" type:"string"`
 26306  
 26307  	// The disk path.
 26308  	Path *string `locationName:"path" type:"string"`
 26309  
 26310  	// The Lightsail resource type (e.g., Disk).
 26311  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 26312  
 26313  	// The size of the disk in GB.
 26314  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 26315  
 26316  	// Describes the status of the disk.
 26317  	State *string `locationName:"state" type:"string" enum:"DiskState"`
 26318  
 26319  	// The support code. Include this code in your email to support when you have
 26320  	// questions about an instance or another resource in Lightsail. This code enables
 26321  	// our support team to look up your Lightsail information more easily.
 26322  	SupportCode *string `locationName:"supportCode" type:"string"`
 26323  
 26324  	// The tag keys and optional values for the resource. For more information about
 26325  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 26326  	Tags []*Tag `locationName:"tags" type:"list"`
 26327  }
 26328  
 26329  // String returns the string representation.
 26330  //
 26331  // API parameter values that are decorated as "sensitive" in the API will not
 26332  // be included in the string output. The member name will be present, but the
 26333  // value will be replaced with "sensitive".
 26334  func (s Disk) String() string {
 26335  	return awsutil.Prettify(s)
 26336  }
 26337  
 26338  // GoString returns the string representation.
 26339  //
 26340  // API parameter values that are decorated as "sensitive" in the API will not
 26341  // be included in the string output. The member name will be present, but the
 26342  // value will be replaced with "sensitive".
 26343  func (s Disk) GoString() string {
 26344  	return s.String()
 26345  }
 26346  
 26347  // SetAddOns sets the AddOns field's value.
 26348  func (s *Disk) SetAddOns(v []*AddOn) *Disk {
 26349  	s.AddOns = v
 26350  	return s
 26351  }
 26352  
 26353  // SetArn sets the Arn field's value.
 26354  func (s *Disk) SetArn(v string) *Disk {
 26355  	s.Arn = &v
 26356  	return s
 26357  }
 26358  
 26359  // SetAttachedTo sets the AttachedTo field's value.
 26360  func (s *Disk) SetAttachedTo(v string) *Disk {
 26361  	s.AttachedTo = &v
 26362  	return s
 26363  }
 26364  
 26365  // SetAttachmentState sets the AttachmentState field's value.
 26366  func (s *Disk) SetAttachmentState(v string) *Disk {
 26367  	s.AttachmentState = &v
 26368  	return s
 26369  }
 26370  
 26371  // SetCreatedAt sets the CreatedAt field's value.
 26372  func (s *Disk) SetCreatedAt(v time.Time) *Disk {
 26373  	s.CreatedAt = &v
 26374  	return s
 26375  }
 26376  
 26377  // SetGbInUse sets the GbInUse field's value.
 26378  func (s *Disk) SetGbInUse(v int64) *Disk {
 26379  	s.GbInUse = &v
 26380  	return s
 26381  }
 26382  
 26383  // SetIops sets the Iops field's value.
 26384  func (s *Disk) SetIops(v int64) *Disk {
 26385  	s.Iops = &v
 26386  	return s
 26387  }
 26388  
 26389  // SetIsAttached sets the IsAttached field's value.
 26390  func (s *Disk) SetIsAttached(v bool) *Disk {
 26391  	s.IsAttached = &v
 26392  	return s
 26393  }
 26394  
 26395  // SetIsSystemDisk sets the IsSystemDisk field's value.
 26396  func (s *Disk) SetIsSystemDisk(v bool) *Disk {
 26397  	s.IsSystemDisk = &v
 26398  	return s
 26399  }
 26400  
 26401  // SetLocation sets the Location field's value.
 26402  func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
 26403  	s.Location = v
 26404  	return s
 26405  }
 26406  
 26407  // SetName sets the Name field's value.
 26408  func (s *Disk) SetName(v string) *Disk {
 26409  	s.Name = &v
 26410  	return s
 26411  }
 26412  
 26413  // SetPath sets the Path field's value.
 26414  func (s *Disk) SetPath(v string) *Disk {
 26415  	s.Path = &v
 26416  	return s
 26417  }
 26418  
 26419  // SetResourceType sets the ResourceType field's value.
 26420  func (s *Disk) SetResourceType(v string) *Disk {
 26421  	s.ResourceType = &v
 26422  	return s
 26423  }
 26424  
 26425  // SetSizeInGb sets the SizeInGb field's value.
 26426  func (s *Disk) SetSizeInGb(v int64) *Disk {
 26427  	s.SizeInGb = &v
 26428  	return s
 26429  }
 26430  
 26431  // SetState sets the State field's value.
 26432  func (s *Disk) SetState(v string) *Disk {
 26433  	s.State = &v
 26434  	return s
 26435  }
 26436  
 26437  // SetSupportCode sets the SupportCode field's value.
 26438  func (s *Disk) SetSupportCode(v string) *Disk {
 26439  	s.SupportCode = &v
 26440  	return s
 26441  }
 26442  
 26443  // SetTags sets the Tags field's value.
 26444  func (s *Disk) SetTags(v []*Tag) *Disk {
 26445  	s.Tags = v
 26446  	return s
 26447  }
 26448  
 26449  // Describes a disk.
 26450  type DiskInfo struct {
 26451  	_ struct{} `type:"structure"`
 26452  
 26453  	// A Boolean value indicating whether this disk is a system disk (has an operating
 26454  	// system loaded on it).
 26455  	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
 26456  
 26457  	// The disk name.
 26458  	Name *string `locationName:"name" type:"string"`
 26459  
 26460  	// The disk path.
 26461  	Path *string `locationName:"path" type:"string"`
 26462  
 26463  	// The size of the disk in GB (e.g., 32).
 26464  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 26465  }
 26466  
 26467  // String returns the string representation.
 26468  //
 26469  // API parameter values that are decorated as "sensitive" in the API will not
 26470  // be included in the string output. The member name will be present, but the
 26471  // value will be replaced with "sensitive".
 26472  func (s DiskInfo) String() string {
 26473  	return awsutil.Prettify(s)
 26474  }
 26475  
 26476  // GoString returns the string representation.
 26477  //
 26478  // API parameter values that are decorated as "sensitive" in the API will not
 26479  // be included in the string output. The member name will be present, but the
 26480  // value will be replaced with "sensitive".
 26481  func (s DiskInfo) GoString() string {
 26482  	return s.String()
 26483  }
 26484  
 26485  // SetIsSystemDisk sets the IsSystemDisk field's value.
 26486  func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
 26487  	s.IsSystemDisk = &v
 26488  	return s
 26489  }
 26490  
 26491  // SetName sets the Name field's value.
 26492  func (s *DiskInfo) SetName(v string) *DiskInfo {
 26493  	s.Name = &v
 26494  	return s
 26495  }
 26496  
 26497  // SetPath sets the Path field's value.
 26498  func (s *DiskInfo) SetPath(v string) *DiskInfo {
 26499  	s.Path = &v
 26500  	return s
 26501  }
 26502  
 26503  // SetSizeInGb sets the SizeInGb field's value.
 26504  func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
 26505  	s.SizeInGb = &v
 26506  	return s
 26507  }
 26508  
 26509  // Describes a block storage disk mapping.
 26510  type DiskMap struct {
 26511  	_ struct{} `type:"structure"`
 26512  
 26513  	// The new disk name (e.g., my-new-disk).
 26514  	NewDiskName *string `locationName:"newDiskName" type:"string"`
 26515  
 26516  	// The original disk path exposed to the instance (for example, /dev/sdh).
 26517  	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
 26518  }
 26519  
 26520  // String returns the string representation.
 26521  //
 26522  // API parameter values that are decorated as "sensitive" in the API will not
 26523  // be included in the string output. The member name will be present, but the
 26524  // value will be replaced with "sensitive".
 26525  func (s DiskMap) String() string {
 26526  	return awsutil.Prettify(s)
 26527  }
 26528  
 26529  // GoString returns the string representation.
 26530  //
 26531  // API parameter values that are decorated as "sensitive" in the API will not
 26532  // be included in the string output. The member name will be present, but the
 26533  // value will be replaced with "sensitive".
 26534  func (s DiskMap) GoString() string {
 26535  	return s.String()
 26536  }
 26537  
 26538  // SetNewDiskName sets the NewDiskName field's value.
 26539  func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
 26540  	s.NewDiskName = &v
 26541  	return s
 26542  }
 26543  
 26544  // SetOriginalDiskPath sets the OriginalDiskPath field's value.
 26545  func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
 26546  	s.OriginalDiskPath = &v
 26547  	return s
 26548  }
 26549  
 26550  // Describes a block storage disk snapshot.
 26551  type DiskSnapshot struct {
 26552  	_ struct{} `type:"structure"`
 26553  
 26554  	// The Amazon Resource Name (ARN) of the disk snapshot.
 26555  	Arn *string `locationName:"arn" type:"string"`
 26556  
 26557  	// The date when the disk snapshot was created.
 26558  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 26559  
 26560  	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
 26561  	// was created.
 26562  	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
 26563  
 26564  	// The unique name of the source disk from which the disk snapshot was created.
 26565  	FromDiskName *string `locationName:"fromDiskName" type:"string"`
 26566  
 26567  	// The Amazon Resource Name (ARN) of the source instance from which the disk
 26568  	// (system volume) snapshot was created.
 26569  	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
 26570  
 26571  	// The unique name of the source instance from which the disk (system volume)
 26572  	// snapshot was created.
 26573  	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
 26574  
 26575  	// A Boolean value indicating whether the snapshot was created from an automatic
 26576  	// snapshot.
 26577  	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
 26578  
 26579  	// The AWS Region and Availability Zone where the disk snapshot was created.
 26580  	Location *ResourceLocation `locationName:"location" type:"structure"`
 26581  
 26582  	// The name of the disk snapshot (e.g., my-disk-snapshot).
 26583  	Name *string `locationName:"name" type:"string"`
 26584  
 26585  	// The progress of the snapshot.
 26586  	Progress *string `locationName:"progress" type:"string"`
 26587  
 26588  	// The Lightsail resource type (e.g., DiskSnapshot).
 26589  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 26590  
 26591  	// The size of the disk in GB.
 26592  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 26593  
 26594  	// The status of the disk snapshot operation.
 26595  	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
 26596  
 26597  	// The support code. Include this code in your email to support when you have
 26598  	// questions about an instance or another resource in Lightsail. This code enables
 26599  	// our support team to look up your Lightsail information more easily.
 26600  	SupportCode *string `locationName:"supportCode" type:"string"`
 26601  
 26602  	// The tag keys and optional values for the resource. For more information about
 26603  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 26604  	Tags []*Tag `locationName:"tags" type:"list"`
 26605  }
 26606  
 26607  // String returns the string representation.
 26608  //
 26609  // API parameter values that are decorated as "sensitive" in the API will not
 26610  // be included in the string output. The member name will be present, but the
 26611  // value will be replaced with "sensitive".
 26612  func (s DiskSnapshot) String() string {
 26613  	return awsutil.Prettify(s)
 26614  }
 26615  
 26616  // GoString returns the string representation.
 26617  //
 26618  // API parameter values that are decorated as "sensitive" in the API will not
 26619  // be included in the string output. The member name will be present, but the
 26620  // value will be replaced with "sensitive".
 26621  func (s DiskSnapshot) GoString() string {
 26622  	return s.String()
 26623  }
 26624  
 26625  // SetArn sets the Arn field's value.
 26626  func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
 26627  	s.Arn = &v
 26628  	return s
 26629  }
 26630  
 26631  // SetCreatedAt sets the CreatedAt field's value.
 26632  func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
 26633  	s.CreatedAt = &v
 26634  	return s
 26635  }
 26636  
 26637  // SetFromDiskArn sets the FromDiskArn field's value.
 26638  func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
 26639  	s.FromDiskArn = &v
 26640  	return s
 26641  }
 26642  
 26643  // SetFromDiskName sets the FromDiskName field's value.
 26644  func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
 26645  	s.FromDiskName = &v
 26646  	return s
 26647  }
 26648  
 26649  // SetFromInstanceArn sets the FromInstanceArn field's value.
 26650  func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
 26651  	s.FromInstanceArn = &v
 26652  	return s
 26653  }
 26654  
 26655  // SetFromInstanceName sets the FromInstanceName field's value.
 26656  func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
 26657  	s.FromInstanceName = &v
 26658  	return s
 26659  }
 26660  
 26661  // SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
 26662  func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
 26663  	s.IsFromAutoSnapshot = &v
 26664  	return s
 26665  }
 26666  
 26667  // SetLocation sets the Location field's value.
 26668  func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
 26669  	s.Location = v
 26670  	return s
 26671  }
 26672  
 26673  // SetName sets the Name field's value.
 26674  func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
 26675  	s.Name = &v
 26676  	return s
 26677  }
 26678  
 26679  // SetProgress sets the Progress field's value.
 26680  func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
 26681  	s.Progress = &v
 26682  	return s
 26683  }
 26684  
 26685  // SetResourceType sets the ResourceType field's value.
 26686  func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
 26687  	s.ResourceType = &v
 26688  	return s
 26689  }
 26690  
 26691  // SetSizeInGb sets the SizeInGb field's value.
 26692  func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
 26693  	s.SizeInGb = &v
 26694  	return s
 26695  }
 26696  
 26697  // SetState sets the State field's value.
 26698  func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
 26699  	s.State = &v
 26700  	return s
 26701  }
 26702  
 26703  // SetSupportCode sets the SupportCode field's value.
 26704  func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
 26705  	s.SupportCode = &v
 26706  	return s
 26707  }
 26708  
 26709  // SetTags sets the Tags field's value.
 26710  func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
 26711  	s.Tags = v
 26712  	return s
 26713  }
 26714  
 26715  // Describes a disk snapshot.
 26716  type DiskSnapshotInfo struct {
 26717  	_ struct{} `type:"structure"`
 26718  
 26719  	// The size of the disk in GB (e.g., 32).
 26720  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 26721  }
 26722  
 26723  // String returns the string representation.
 26724  //
 26725  // API parameter values that are decorated as "sensitive" in the API will not
 26726  // be included in the string output. The member name will be present, but the
 26727  // value will be replaced with "sensitive".
 26728  func (s DiskSnapshotInfo) String() string {
 26729  	return awsutil.Prettify(s)
 26730  }
 26731  
 26732  // GoString returns the string representation.
 26733  //
 26734  // API parameter values that are decorated as "sensitive" in the API will not
 26735  // be included in the string output. The member name will be present, but the
 26736  // value will be replaced with "sensitive".
 26737  func (s DiskSnapshotInfo) GoString() string {
 26738  	return s.String()
 26739  }
 26740  
 26741  // SetSizeInGb sets the SizeInGb field's value.
 26742  func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
 26743  	s.SizeInGb = &v
 26744  	return s
 26745  }
 26746  
 26747  // Describes the specifications of a distribution bundle.
 26748  type DistributionBundle struct {
 26749  	_ struct{} `type:"structure"`
 26750  
 26751  	// The ID of the bundle.
 26752  	BundleId *string `locationName:"bundleId" type:"string"`
 26753  
 26754  	// Indicates whether the bundle is active, and can be specified for a new or
 26755  	// existing distribution.
 26756  	IsActive *bool `locationName:"isActive" type:"boolean"`
 26757  
 26758  	// The name of the distribution bundle.
 26759  	Name *string `locationName:"name" type:"string"`
 26760  
 26761  	// The monthly price, in US dollars, of the bundle.
 26762  	Price *float64 `locationName:"price" type:"float"`
 26763  
 26764  	// The monthly network transfer quota of the bundle.
 26765  	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
 26766  }
 26767  
 26768  // String returns the string representation.
 26769  //
 26770  // API parameter values that are decorated as "sensitive" in the API will not
 26771  // be included in the string output. The member name will be present, but the
 26772  // value will be replaced with "sensitive".
 26773  func (s DistributionBundle) String() string {
 26774  	return awsutil.Prettify(s)
 26775  }
 26776  
 26777  // GoString returns the string representation.
 26778  //
 26779  // API parameter values that are decorated as "sensitive" in the API will not
 26780  // be included in the string output. The member name will be present, but the
 26781  // value will be replaced with "sensitive".
 26782  func (s DistributionBundle) GoString() string {
 26783  	return s.String()
 26784  }
 26785  
 26786  // SetBundleId sets the BundleId field's value.
 26787  func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle {
 26788  	s.BundleId = &v
 26789  	return s
 26790  }
 26791  
 26792  // SetIsActive sets the IsActive field's value.
 26793  func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle {
 26794  	s.IsActive = &v
 26795  	return s
 26796  }
 26797  
 26798  // SetName sets the Name field's value.
 26799  func (s *DistributionBundle) SetName(v string) *DistributionBundle {
 26800  	s.Name = &v
 26801  	return s
 26802  }
 26803  
 26804  // SetPrice sets the Price field's value.
 26805  func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle {
 26806  	s.Price = &v
 26807  	return s
 26808  }
 26809  
 26810  // SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
 26811  func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle {
 26812  	s.TransferPerMonthInGb = &v
 26813  	return s
 26814  }
 26815  
 26816  // Describes a domain where you are storing recordsets.
 26817  type Domain struct {
 26818  	_ struct{} `type:"structure"`
 26819  
 26820  	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
 26821  	Arn *string `locationName:"arn" type:"string"`
 26822  
 26823  	// The date when the domain recordset was created.
 26824  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 26825  
 26826  	// An array of key-value pairs containing information about the domain entries.
 26827  	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
 26828  
 26829  	// The AWS Region and Availability Zones where the domain recordset was created.
 26830  	Location *ResourceLocation `locationName:"location" type:"structure"`
 26831  
 26832  	// The name of the domain.
 26833  	Name *string `locationName:"name" type:"string"`
 26834  
 26835  	// The resource type.
 26836  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 26837  
 26838  	// The support code. Include this code in your email to support when you have
 26839  	// questions about an instance or another resource in Lightsail. This code enables
 26840  	// our support team to look up your Lightsail information more easily.
 26841  	SupportCode *string `locationName:"supportCode" type:"string"`
 26842  
 26843  	// The tag keys and optional values for the resource. For more information about
 26844  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 26845  	Tags []*Tag `locationName:"tags" type:"list"`
 26846  }
 26847  
 26848  // String returns the string representation.
 26849  //
 26850  // API parameter values that are decorated as "sensitive" in the API will not
 26851  // be included in the string output. The member name will be present, but the
 26852  // value will be replaced with "sensitive".
 26853  func (s Domain) String() string {
 26854  	return awsutil.Prettify(s)
 26855  }
 26856  
 26857  // GoString returns the string representation.
 26858  //
 26859  // API parameter values that are decorated as "sensitive" in the API will not
 26860  // be included in the string output. The member name will be present, but the
 26861  // value will be replaced with "sensitive".
 26862  func (s Domain) GoString() string {
 26863  	return s.String()
 26864  }
 26865  
 26866  // SetArn sets the Arn field's value.
 26867  func (s *Domain) SetArn(v string) *Domain {
 26868  	s.Arn = &v
 26869  	return s
 26870  }
 26871  
 26872  // SetCreatedAt sets the CreatedAt field's value.
 26873  func (s *Domain) SetCreatedAt(v time.Time) *Domain {
 26874  	s.CreatedAt = &v
 26875  	return s
 26876  }
 26877  
 26878  // SetDomainEntries sets the DomainEntries field's value.
 26879  func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
 26880  	s.DomainEntries = v
 26881  	return s
 26882  }
 26883  
 26884  // SetLocation sets the Location field's value.
 26885  func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
 26886  	s.Location = v
 26887  	return s
 26888  }
 26889  
 26890  // SetName sets the Name field's value.
 26891  func (s *Domain) SetName(v string) *Domain {
 26892  	s.Name = &v
 26893  	return s
 26894  }
 26895  
 26896  // SetResourceType sets the ResourceType field's value.
 26897  func (s *Domain) SetResourceType(v string) *Domain {
 26898  	s.ResourceType = &v
 26899  	return s
 26900  }
 26901  
 26902  // SetSupportCode sets the SupportCode field's value.
 26903  func (s *Domain) SetSupportCode(v string) *Domain {
 26904  	s.SupportCode = &v
 26905  	return s
 26906  }
 26907  
 26908  // SetTags sets the Tags field's value.
 26909  func (s *Domain) SetTags(v []*Tag) *Domain {
 26910  	s.Tags = v
 26911  	return s
 26912  }
 26913  
 26914  // Describes a domain recordset entry.
 26915  type DomainEntry struct {
 26916  	_ struct{} `type:"structure"`
 26917  
 26918  	// The ID of the domain recordset entry.
 26919  	Id *string `locationName:"id" type:"string"`
 26920  
 26921  	// When true, specifies whether the domain entry is an alias used by the Lightsail
 26922  	// load balancer. You can include an alias (A type) record in your request,
 26923  	// which points to a load balancer DNS name and routes traffic to your load
 26924  	// balancer.
 26925  	IsAlias *bool `locationName:"isAlias" type:"boolean"`
 26926  
 26927  	// The name of the domain.
 26928  	Name *string `locationName:"name" type:"string"`
 26929  
 26930  	// (Deprecated) The options for the domain entry.
 26931  	//
 26932  	// In releases prior to November 29, 2017, this parameter was not included in
 26933  	// the API response. It is now deprecated.
 26934  	//
 26935  	// Deprecated: Options has been deprecated
 26936  	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
 26937  
 26938  	// The target IP address (e.g., 192.0.2.0), or AWS name server (e.g., ns-111.awsdns-22.com.).
 26939  	//
 26940  	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
 26941  	// For Lightsail distributions, the value looks like exampled1182ne.cloudfront.net.
 26942  	// For Lightsail container services, the value looks like container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com.
 26943  	// Be sure to also set isAlias to true when setting up an A record for a Lightsail
 26944  	// load balancer, distribution, or container service.
 26945  	Target *string `locationName:"target" type:"string"`
 26946  
 26947  	// The type of domain entry, such as address for IPv4 (A), address for IPv6
 26948  	// (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start
 26949  	// of authority (SOA), service locator (SRV), or text (TXT).
 26950  	//
 26951  	// The following domain entry types can be used:
 26952  	//
 26953  	//    * A
 26954  	//
 26955  	//    * AAAA
 26956  	//
 26957  	//    * CNAME
 26958  	//
 26959  	//    * MX
 26960  	//
 26961  	//    * NS
 26962  	//
 26963  	//    * SOA
 26964  	//
 26965  	//    * SRV
 26966  	//
 26967  	//    * TXT
 26968  	Type *string `locationName:"type" type:"string"`
 26969  }
 26970  
 26971  // String returns the string representation.
 26972  //
 26973  // API parameter values that are decorated as "sensitive" in the API will not
 26974  // be included in the string output. The member name will be present, but the
 26975  // value will be replaced with "sensitive".
 26976  func (s DomainEntry) String() string {
 26977  	return awsutil.Prettify(s)
 26978  }
 26979  
 26980  // GoString returns the string representation.
 26981  //
 26982  // API parameter values that are decorated as "sensitive" in the API will not
 26983  // be included in the string output. The member name will be present, but the
 26984  // value will be replaced with "sensitive".
 26985  func (s DomainEntry) GoString() string {
 26986  	return s.String()
 26987  }
 26988  
 26989  // SetId sets the Id field's value.
 26990  func (s *DomainEntry) SetId(v string) *DomainEntry {
 26991  	s.Id = &v
 26992  	return s
 26993  }
 26994  
 26995  // SetIsAlias sets the IsAlias field's value.
 26996  func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
 26997  	s.IsAlias = &v
 26998  	return s
 26999  }
 27000  
 27001  // SetName sets the Name field's value.
 27002  func (s *DomainEntry) SetName(v string) *DomainEntry {
 27003  	s.Name = &v
 27004  	return s
 27005  }
 27006  
 27007  // SetOptions sets the Options field's value.
 27008  func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
 27009  	s.Options = v
 27010  	return s
 27011  }
 27012  
 27013  // SetTarget sets the Target field's value.
 27014  func (s *DomainEntry) SetTarget(v string) *DomainEntry {
 27015  	s.Target = &v
 27016  	return s
 27017  }
 27018  
 27019  // SetType sets the Type field's value.
 27020  func (s *DomainEntry) SetType(v string) *DomainEntry {
 27021  	s.Type = &v
 27022  	return s
 27023  }
 27024  
 27025  // Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate.
 27026  type DomainValidationRecord struct {
 27027  	_ struct{} `type:"structure"`
 27028  
 27029  	// The domain name of the certificate validation record. For example, example.com
 27030  	// or www.example.com.
 27031  	DomainName *string `locationName:"domainName" type:"string"`
 27032  
 27033  	// An object that describes the DNS records to add to your domain's DNS to validate
 27034  	// it for the certificate.
 27035  	ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"`
 27036  }
 27037  
 27038  // String returns the string representation.
 27039  //
 27040  // API parameter values that are decorated as "sensitive" in the API will not
 27041  // be included in the string output. The member name will be present, but the
 27042  // value will be replaced with "sensitive".
 27043  func (s DomainValidationRecord) String() string {
 27044  	return awsutil.Prettify(s)
 27045  }
 27046  
 27047  // GoString returns the string representation.
 27048  //
 27049  // API parameter values that are decorated as "sensitive" in the API will not
 27050  // be included in the string output. The member name will be present, but the
 27051  // value will be replaced with "sensitive".
 27052  func (s DomainValidationRecord) GoString() string {
 27053  	return s.String()
 27054  }
 27055  
 27056  // SetDomainName sets the DomainName field's value.
 27057  func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord {
 27058  	s.DomainName = &v
 27059  	return s
 27060  }
 27061  
 27062  // SetResourceRecord sets the ResourceRecord field's value.
 27063  func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord {
 27064  	s.ResourceRecord = v
 27065  	return s
 27066  }
 27067  
 27068  type DownloadDefaultKeyPairInput struct {
 27069  	_ struct{} `type:"structure"`
 27070  }
 27071  
 27072  // String returns the string representation.
 27073  //
 27074  // API parameter values that are decorated as "sensitive" in the API will not
 27075  // be included in the string output. The member name will be present, but the
 27076  // value will be replaced with "sensitive".
 27077  func (s DownloadDefaultKeyPairInput) String() string {
 27078  	return awsutil.Prettify(s)
 27079  }
 27080  
 27081  // GoString returns the string representation.
 27082  //
 27083  // API parameter values that are decorated as "sensitive" in the API will not
 27084  // be included in the string output. The member name will be present, but the
 27085  // value will be replaced with "sensitive".
 27086  func (s DownloadDefaultKeyPairInput) GoString() string {
 27087  	return s.String()
 27088  }
 27089  
 27090  type DownloadDefaultKeyPairOutput struct {
 27091  	_ struct{} `type:"structure"`
 27092  
 27093  	// A base64-encoded RSA private key.
 27094  	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
 27095  
 27096  	// A base64-encoded public key of the ssh-rsa type.
 27097  	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
 27098  }
 27099  
 27100  // String returns the string representation.
 27101  //
 27102  // API parameter values that are decorated as "sensitive" in the API will not
 27103  // be included in the string output. The member name will be present, but the
 27104  // value will be replaced with "sensitive".
 27105  func (s DownloadDefaultKeyPairOutput) String() string {
 27106  	return awsutil.Prettify(s)
 27107  }
 27108  
 27109  // GoString returns the string representation.
 27110  //
 27111  // API parameter values that are decorated as "sensitive" in the API will not
 27112  // be included in the string output. The member name will be present, but the
 27113  // value will be replaced with "sensitive".
 27114  func (s DownloadDefaultKeyPairOutput) GoString() string {
 27115  	return s.String()
 27116  }
 27117  
 27118  // SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
 27119  func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
 27120  	s.PrivateKeyBase64 = &v
 27121  	return s
 27122  }
 27123  
 27124  // SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
 27125  func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
 27126  	s.PublicKeyBase64 = &v
 27127  	return s
 27128  }
 27129  
 27130  type EnableAddOnInput struct {
 27131  	_ struct{} `type:"structure"`
 27132  
 27133  	// An array of strings representing the add-on to enable or modify.
 27134  	//
 27135  	// AddOnRequest is a required field
 27136  	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
 27137  
 27138  	// The name of the source resource for which to enable or modify the add-on.
 27139  	//
 27140  	// ResourceName is a required field
 27141  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 27142  }
 27143  
 27144  // String returns the string representation.
 27145  //
 27146  // API parameter values that are decorated as "sensitive" in the API will not
 27147  // be included in the string output. The member name will be present, but the
 27148  // value will be replaced with "sensitive".
 27149  func (s EnableAddOnInput) String() string {
 27150  	return awsutil.Prettify(s)
 27151  }
 27152  
 27153  // GoString returns the string representation.
 27154  //
 27155  // API parameter values that are decorated as "sensitive" in the API will not
 27156  // be included in the string output. The member name will be present, but the
 27157  // value will be replaced with "sensitive".
 27158  func (s EnableAddOnInput) GoString() string {
 27159  	return s.String()
 27160  }
 27161  
 27162  // Validate inspects the fields of the type to determine if they are valid.
 27163  func (s *EnableAddOnInput) Validate() error {
 27164  	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
 27165  	if s.AddOnRequest == nil {
 27166  		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
 27167  	}
 27168  	if s.ResourceName == nil {
 27169  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 27170  	}
 27171  	if s.AddOnRequest != nil {
 27172  		if err := s.AddOnRequest.Validate(); err != nil {
 27173  			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
 27174  		}
 27175  	}
 27176  
 27177  	if invalidParams.Len() > 0 {
 27178  		return invalidParams
 27179  	}
 27180  	return nil
 27181  }
 27182  
 27183  // SetAddOnRequest sets the AddOnRequest field's value.
 27184  func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
 27185  	s.AddOnRequest = v
 27186  	return s
 27187  }
 27188  
 27189  // SetResourceName sets the ResourceName field's value.
 27190  func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
 27191  	s.ResourceName = &v
 27192  	return s
 27193  }
 27194  
 27195  type EnableAddOnOutput struct {
 27196  	_ struct{} `type:"structure"`
 27197  
 27198  	// An array of objects that describe the result of the action, such as the status
 27199  	// of the request, the timestamp of the request, and the resources affected
 27200  	// by the request.
 27201  	Operations []*Operation `locationName:"operations" type:"list"`
 27202  }
 27203  
 27204  // String returns the string representation.
 27205  //
 27206  // API parameter values that are decorated as "sensitive" in the API will not
 27207  // be included in the string output. The member name will be present, but the
 27208  // value will be replaced with "sensitive".
 27209  func (s EnableAddOnOutput) String() string {
 27210  	return awsutil.Prettify(s)
 27211  }
 27212  
 27213  // GoString returns the string representation.
 27214  //
 27215  // API parameter values that are decorated as "sensitive" in the API will not
 27216  // be included in the string output. The member name will be present, but the
 27217  // value will be replaced with "sensitive".
 27218  func (s EnableAddOnOutput) GoString() string {
 27219  	return s.String()
 27220  }
 27221  
 27222  // SetOperations sets the Operations field's value.
 27223  func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
 27224  	s.Operations = v
 27225  	return s
 27226  }
 27227  
 27228  // Describes the settings of a public endpoint for an Amazon Lightsail container
 27229  // service.
 27230  type EndpointRequest struct {
 27231  	_ struct{} `type:"structure"`
 27232  
 27233  	// The name of the container for the endpoint.
 27234  	//
 27235  	// ContainerName is a required field
 27236  	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
 27237  
 27238  	// The port of the container to which traffic is forwarded to.
 27239  	//
 27240  	// ContainerPort is a required field
 27241  	ContainerPort *int64 `locationName:"containerPort" type:"integer" required:"true"`
 27242  
 27243  	// An object that describes the health check configuration of the container.
 27244  	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
 27245  }
 27246  
 27247  // String returns the string representation.
 27248  //
 27249  // API parameter values that are decorated as "sensitive" in the API will not
 27250  // be included in the string output. The member name will be present, but the
 27251  // value will be replaced with "sensitive".
 27252  func (s EndpointRequest) String() string {
 27253  	return awsutil.Prettify(s)
 27254  }
 27255  
 27256  // GoString returns the string representation.
 27257  //
 27258  // API parameter values that are decorated as "sensitive" in the API will not
 27259  // be included in the string output. The member name will be present, but the
 27260  // value will be replaced with "sensitive".
 27261  func (s EndpointRequest) GoString() string {
 27262  	return s.String()
 27263  }
 27264  
 27265  // Validate inspects the fields of the type to determine if they are valid.
 27266  func (s *EndpointRequest) Validate() error {
 27267  	invalidParams := request.ErrInvalidParams{Context: "EndpointRequest"}
 27268  	if s.ContainerName == nil {
 27269  		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
 27270  	}
 27271  	if s.ContainerPort == nil {
 27272  		invalidParams.Add(request.NewErrParamRequired("ContainerPort"))
 27273  	}
 27274  
 27275  	if invalidParams.Len() > 0 {
 27276  		return invalidParams
 27277  	}
 27278  	return nil
 27279  }
 27280  
 27281  // SetContainerName sets the ContainerName field's value.
 27282  func (s *EndpointRequest) SetContainerName(v string) *EndpointRequest {
 27283  	s.ContainerName = &v
 27284  	return s
 27285  }
 27286  
 27287  // SetContainerPort sets the ContainerPort field's value.
 27288  func (s *EndpointRequest) SetContainerPort(v int64) *EndpointRequest {
 27289  	s.ContainerPort = &v
 27290  	return s
 27291  }
 27292  
 27293  // SetHealthCheck sets the HealthCheck field's value.
 27294  func (s *EndpointRequest) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *EndpointRequest {
 27295  	s.HealthCheck = v
 27296  	return s
 27297  }
 27298  
 27299  type ExportSnapshotInput struct {
 27300  	_ struct{} `type:"structure"`
 27301  
 27302  	// The name of the instance or disk snapshot to be exported to Amazon EC2.
 27303  	//
 27304  	// SourceSnapshotName is a required field
 27305  	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
 27306  }
 27307  
 27308  // String returns the string representation.
 27309  //
 27310  // API parameter values that are decorated as "sensitive" in the API will not
 27311  // be included in the string output. The member name will be present, but the
 27312  // value will be replaced with "sensitive".
 27313  func (s ExportSnapshotInput) String() string {
 27314  	return awsutil.Prettify(s)
 27315  }
 27316  
 27317  // GoString returns the string representation.
 27318  //
 27319  // API parameter values that are decorated as "sensitive" in the API will not
 27320  // be included in the string output. The member name will be present, but the
 27321  // value will be replaced with "sensitive".
 27322  func (s ExportSnapshotInput) GoString() string {
 27323  	return s.String()
 27324  }
 27325  
 27326  // Validate inspects the fields of the type to determine if they are valid.
 27327  func (s *ExportSnapshotInput) Validate() error {
 27328  	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
 27329  	if s.SourceSnapshotName == nil {
 27330  		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
 27331  	}
 27332  
 27333  	if invalidParams.Len() > 0 {
 27334  		return invalidParams
 27335  	}
 27336  	return nil
 27337  }
 27338  
 27339  // SetSourceSnapshotName sets the SourceSnapshotName field's value.
 27340  func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
 27341  	s.SourceSnapshotName = &v
 27342  	return s
 27343  }
 27344  
 27345  type ExportSnapshotOutput struct {
 27346  	_ struct{} `type:"structure"`
 27347  
 27348  	// An array of objects that describe the result of the action, such as the status
 27349  	// of the request, the timestamp of the request, and the resources affected
 27350  	// by the request.
 27351  	Operations []*Operation `locationName:"operations" type:"list"`
 27352  }
 27353  
 27354  // String returns the string representation.
 27355  //
 27356  // API parameter values that are decorated as "sensitive" in the API will not
 27357  // be included in the string output. The member name will be present, but the
 27358  // value will be replaced with "sensitive".
 27359  func (s ExportSnapshotOutput) String() string {
 27360  	return awsutil.Prettify(s)
 27361  }
 27362  
 27363  // GoString returns the string representation.
 27364  //
 27365  // API parameter values that are decorated as "sensitive" in the API will not
 27366  // be included in the string output. The member name will be present, but the
 27367  // value will be replaced with "sensitive".
 27368  func (s ExportSnapshotOutput) GoString() string {
 27369  	return s.String()
 27370  }
 27371  
 27372  // SetOperations sets the Operations field's value.
 27373  func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
 27374  	s.Operations = v
 27375  	return s
 27376  }
 27377  
 27378  // Describes an export snapshot record.
 27379  type ExportSnapshotRecord struct {
 27380  	_ struct{} `type:"structure"`
 27381  
 27382  	// The Amazon Resource Name (ARN) of the export snapshot record.
 27383  	Arn *string `locationName:"arn" type:"string"`
 27384  
 27385  	// The date when the export snapshot record was created.
 27386  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 27387  
 27388  	// A list of objects describing the destination of the export snapshot record.
 27389  	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
 27390  
 27391  	// The AWS Region and Availability Zone where the export snapshot record is
 27392  	// located.
 27393  	Location *ResourceLocation `locationName:"location" type:"structure"`
 27394  
 27395  	// The export snapshot record name.
 27396  	Name *string `locationName:"name" type:"string"`
 27397  
 27398  	// The Lightsail resource type (e.g., ExportSnapshotRecord).
 27399  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 27400  
 27401  	// A list of objects describing the source of the export snapshot record.
 27402  	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
 27403  
 27404  	// The state of the export snapshot record.
 27405  	State *string `locationName:"state" type:"string" enum:"RecordState"`
 27406  }
 27407  
 27408  // String returns the string representation.
 27409  //
 27410  // API parameter values that are decorated as "sensitive" in the API will not
 27411  // be included in the string output. The member name will be present, but the
 27412  // value will be replaced with "sensitive".
 27413  func (s ExportSnapshotRecord) String() string {
 27414  	return awsutil.Prettify(s)
 27415  }
 27416  
 27417  // GoString returns the string representation.
 27418  //
 27419  // API parameter values that are decorated as "sensitive" in the API will not
 27420  // be included in the string output. The member name will be present, but the
 27421  // value will be replaced with "sensitive".
 27422  func (s ExportSnapshotRecord) GoString() string {
 27423  	return s.String()
 27424  }
 27425  
 27426  // SetArn sets the Arn field's value.
 27427  func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
 27428  	s.Arn = &v
 27429  	return s
 27430  }
 27431  
 27432  // SetCreatedAt sets the CreatedAt field's value.
 27433  func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
 27434  	s.CreatedAt = &v
 27435  	return s
 27436  }
 27437  
 27438  // SetDestinationInfo sets the DestinationInfo field's value.
 27439  func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
 27440  	s.DestinationInfo = v
 27441  	return s
 27442  }
 27443  
 27444  // SetLocation sets the Location field's value.
 27445  func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
 27446  	s.Location = v
 27447  	return s
 27448  }
 27449  
 27450  // SetName sets the Name field's value.
 27451  func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
 27452  	s.Name = &v
 27453  	return s
 27454  }
 27455  
 27456  // SetResourceType sets the ResourceType field's value.
 27457  func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
 27458  	s.ResourceType = &v
 27459  	return s
 27460  }
 27461  
 27462  // SetSourceInfo sets the SourceInfo field's value.
 27463  func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
 27464  	s.SourceInfo = v
 27465  	return s
 27466  }
 27467  
 27468  // SetState sets the State field's value.
 27469  func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
 27470  	s.State = &v
 27471  	return s
 27472  }
 27473  
 27474  // Describes the source of an export snapshot record.
 27475  type ExportSnapshotRecordSourceInfo struct {
 27476  	_ struct{} `type:"structure"`
 27477  
 27478  	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
 27479  	Arn *string `locationName:"arn" type:"string"`
 27480  
 27481  	// The date when the source instance or disk snapshot was created.
 27482  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 27483  
 27484  	// A list of objects describing a disk snapshot.
 27485  	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
 27486  
 27487  	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
 27488  	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
 27489  
 27490  	// The name of the snapshot's source instance or disk.
 27491  	FromResourceName *string `locationName:"fromResourceName" type:"string"`
 27492  
 27493  	// A list of objects describing an instance snapshot.
 27494  	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
 27495  
 27496  	// The name of the source instance or disk snapshot.
 27497  	Name *string `locationName:"name" type:"string"`
 27498  
 27499  	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
 27500  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
 27501  }
 27502  
 27503  // String returns the string representation.
 27504  //
 27505  // API parameter values that are decorated as "sensitive" in the API will not
 27506  // be included in the string output. The member name will be present, but the
 27507  // value will be replaced with "sensitive".
 27508  func (s ExportSnapshotRecordSourceInfo) String() string {
 27509  	return awsutil.Prettify(s)
 27510  }
 27511  
 27512  // GoString returns the string representation.
 27513  //
 27514  // API parameter values that are decorated as "sensitive" in the API will not
 27515  // be included in the string output. The member name will be present, but the
 27516  // value will be replaced with "sensitive".
 27517  func (s ExportSnapshotRecordSourceInfo) GoString() string {
 27518  	return s.String()
 27519  }
 27520  
 27521  // SetArn sets the Arn field's value.
 27522  func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
 27523  	s.Arn = &v
 27524  	return s
 27525  }
 27526  
 27527  // SetCreatedAt sets the CreatedAt field's value.
 27528  func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
 27529  	s.CreatedAt = &v
 27530  	return s
 27531  }
 27532  
 27533  // SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
 27534  func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
 27535  	s.DiskSnapshotInfo = v
 27536  	return s
 27537  }
 27538  
 27539  // SetFromResourceArn sets the FromResourceArn field's value.
 27540  func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
 27541  	s.FromResourceArn = &v
 27542  	return s
 27543  }
 27544  
 27545  // SetFromResourceName sets the FromResourceName field's value.
 27546  func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
 27547  	s.FromResourceName = &v
 27548  	return s
 27549  }
 27550  
 27551  // SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
 27552  func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
 27553  	s.InstanceSnapshotInfo = v
 27554  	return s
 27555  }
 27556  
 27557  // SetName sets the Name field's value.
 27558  func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
 27559  	s.Name = &v
 27560  	return s
 27561  }
 27562  
 27563  // SetResourceType sets the ResourceType field's value.
 27564  func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
 27565  	s.ResourceType = &v
 27566  	return s
 27567  }
 27568  
 27569  type GetActiveNamesInput struct {
 27570  	_ struct{} `type:"structure"`
 27571  
 27572  	// The token to advance to the next page of results from your request.
 27573  	//
 27574  	// To get a page token, perform an initial GetActiveNames request. If your results
 27575  	// are paginated, the response will return a next page token that you can specify
 27576  	// as the page token in a subsequent request.
 27577  	PageToken *string `locationName:"pageToken" type:"string"`
 27578  }
 27579  
 27580  // String returns the string representation.
 27581  //
 27582  // API parameter values that are decorated as "sensitive" in the API will not
 27583  // be included in the string output. The member name will be present, but the
 27584  // value will be replaced with "sensitive".
 27585  func (s GetActiveNamesInput) String() string {
 27586  	return awsutil.Prettify(s)
 27587  }
 27588  
 27589  // GoString returns the string representation.
 27590  //
 27591  // API parameter values that are decorated as "sensitive" in the API will not
 27592  // be included in the string output. The member name will be present, but the
 27593  // value will be replaced with "sensitive".
 27594  func (s GetActiveNamesInput) GoString() string {
 27595  	return s.String()
 27596  }
 27597  
 27598  // SetPageToken sets the PageToken field's value.
 27599  func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
 27600  	s.PageToken = &v
 27601  	return s
 27602  }
 27603  
 27604  type GetActiveNamesOutput struct {
 27605  	_ struct{} `type:"structure"`
 27606  
 27607  	// The list of active names returned by the get active names request.
 27608  	ActiveNames []*string `locationName:"activeNames" type:"list"`
 27609  
 27610  	// The token to advance to the next page of results from your request.
 27611  	//
 27612  	// A next page token is not returned if there are no more results to display.
 27613  	//
 27614  	// To get the next page of results, perform another GetActiveNames request and
 27615  	// specify the next page token using the pageToken parameter.
 27616  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 27617  }
 27618  
 27619  // String returns the string representation.
 27620  //
 27621  // API parameter values that are decorated as "sensitive" in the API will not
 27622  // be included in the string output. The member name will be present, but the
 27623  // value will be replaced with "sensitive".
 27624  func (s GetActiveNamesOutput) String() string {
 27625  	return awsutil.Prettify(s)
 27626  }
 27627  
 27628  // GoString returns the string representation.
 27629  //
 27630  // API parameter values that are decorated as "sensitive" in the API will not
 27631  // be included in the string output. The member name will be present, but the
 27632  // value will be replaced with "sensitive".
 27633  func (s GetActiveNamesOutput) GoString() string {
 27634  	return s.String()
 27635  }
 27636  
 27637  // SetActiveNames sets the ActiveNames field's value.
 27638  func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
 27639  	s.ActiveNames = v
 27640  	return s
 27641  }
 27642  
 27643  // SetNextPageToken sets the NextPageToken field's value.
 27644  func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
 27645  	s.NextPageToken = &v
 27646  	return s
 27647  }
 27648  
 27649  type GetAlarmsInput struct {
 27650  	_ struct{} `type:"structure"`
 27651  
 27652  	// The name of the alarm.
 27653  	//
 27654  	// Specify an alarm name to return information about a specific alarm.
 27655  	AlarmName *string `locationName:"alarmName" type:"string"`
 27656  
 27657  	// The name of the Lightsail resource being monitored by the alarm.
 27658  	//
 27659  	// Specify a monitored resource name to return information about all alarms
 27660  	// for a specific resource.
 27661  	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
 27662  
 27663  	// The token to advance to the next page of results from your request.
 27664  	//
 27665  	// To get a page token, perform an initial GetAlarms request. If your results
 27666  	// are paginated, the response will return a next page token that you can specify
 27667  	// as the page token in a subsequent request.
 27668  	PageToken *string `locationName:"pageToken" type:"string"`
 27669  }
 27670  
 27671  // String returns the string representation.
 27672  //
 27673  // API parameter values that are decorated as "sensitive" in the API will not
 27674  // be included in the string output. The member name will be present, but the
 27675  // value will be replaced with "sensitive".
 27676  func (s GetAlarmsInput) String() string {
 27677  	return awsutil.Prettify(s)
 27678  }
 27679  
 27680  // GoString returns the string representation.
 27681  //
 27682  // API parameter values that are decorated as "sensitive" in the API will not
 27683  // be included in the string output. The member name will be present, but the
 27684  // value will be replaced with "sensitive".
 27685  func (s GetAlarmsInput) GoString() string {
 27686  	return s.String()
 27687  }
 27688  
 27689  // SetAlarmName sets the AlarmName field's value.
 27690  func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
 27691  	s.AlarmName = &v
 27692  	return s
 27693  }
 27694  
 27695  // SetMonitoredResourceName sets the MonitoredResourceName field's value.
 27696  func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
 27697  	s.MonitoredResourceName = &v
 27698  	return s
 27699  }
 27700  
 27701  // SetPageToken sets the PageToken field's value.
 27702  func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
 27703  	s.PageToken = &v
 27704  	return s
 27705  }
 27706  
 27707  type GetAlarmsOutput struct {
 27708  	_ struct{} `type:"structure"`
 27709  
 27710  	// An array of objects that describe the alarms.
 27711  	Alarms []*Alarm `locationName:"alarms" type:"list"`
 27712  
 27713  	// The token to advance to the next page of results from your request.
 27714  	//
 27715  	// A next page token is not returned if there are no more results to display.
 27716  	//
 27717  	// To get the next page of results, perform another GetAlarms request and specify
 27718  	// the next page token using the pageToken parameter.
 27719  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 27720  }
 27721  
 27722  // String returns the string representation.
 27723  //
 27724  // API parameter values that are decorated as "sensitive" in the API will not
 27725  // be included in the string output. The member name will be present, but the
 27726  // value will be replaced with "sensitive".
 27727  func (s GetAlarmsOutput) String() string {
 27728  	return awsutil.Prettify(s)
 27729  }
 27730  
 27731  // GoString returns the string representation.
 27732  //
 27733  // API parameter values that are decorated as "sensitive" in the API will not
 27734  // be included in the string output. The member name will be present, but the
 27735  // value will be replaced with "sensitive".
 27736  func (s GetAlarmsOutput) GoString() string {
 27737  	return s.String()
 27738  }
 27739  
 27740  // SetAlarms sets the Alarms field's value.
 27741  func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
 27742  	s.Alarms = v
 27743  	return s
 27744  }
 27745  
 27746  // SetNextPageToken sets the NextPageToken field's value.
 27747  func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
 27748  	s.NextPageToken = &v
 27749  	return s
 27750  }
 27751  
 27752  type GetAutoSnapshotsInput struct {
 27753  	_ struct{} `type:"structure"`
 27754  
 27755  	// The name of the source instance or disk from which to get automatic snapshot
 27756  	// information.
 27757  	//
 27758  	// ResourceName is a required field
 27759  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 27760  }
 27761  
 27762  // String returns the string representation.
 27763  //
 27764  // API parameter values that are decorated as "sensitive" in the API will not
 27765  // be included in the string output. The member name will be present, but the
 27766  // value will be replaced with "sensitive".
 27767  func (s GetAutoSnapshotsInput) String() string {
 27768  	return awsutil.Prettify(s)
 27769  }
 27770  
 27771  // GoString returns the string representation.
 27772  //
 27773  // API parameter values that are decorated as "sensitive" in the API will not
 27774  // be included in the string output. The member name will be present, but the
 27775  // value will be replaced with "sensitive".
 27776  func (s GetAutoSnapshotsInput) GoString() string {
 27777  	return s.String()
 27778  }
 27779  
 27780  // Validate inspects the fields of the type to determine if they are valid.
 27781  func (s *GetAutoSnapshotsInput) Validate() error {
 27782  	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
 27783  	if s.ResourceName == nil {
 27784  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 27785  	}
 27786  
 27787  	if invalidParams.Len() > 0 {
 27788  		return invalidParams
 27789  	}
 27790  	return nil
 27791  }
 27792  
 27793  // SetResourceName sets the ResourceName field's value.
 27794  func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
 27795  	s.ResourceName = &v
 27796  	return s
 27797  }
 27798  
 27799  type GetAutoSnapshotsOutput struct {
 27800  	_ struct{} `type:"structure"`
 27801  
 27802  	// An array of objects that describe the automatic snapshots that are available
 27803  	// for the specified source instance or disk.
 27804  	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
 27805  
 27806  	// The name of the source instance or disk for the automatic snapshots.
 27807  	ResourceName *string `locationName:"resourceName" type:"string"`
 27808  
 27809  	// The resource type (e.g., Instance or Disk).
 27810  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 27811  }
 27812  
 27813  // String returns the string representation.
 27814  //
 27815  // API parameter values that are decorated as "sensitive" in the API will not
 27816  // be included in the string output. The member name will be present, but the
 27817  // value will be replaced with "sensitive".
 27818  func (s GetAutoSnapshotsOutput) String() string {
 27819  	return awsutil.Prettify(s)
 27820  }
 27821  
 27822  // GoString returns the string representation.
 27823  //
 27824  // API parameter values that are decorated as "sensitive" in the API will not
 27825  // be included in the string output. The member name will be present, but the
 27826  // value will be replaced with "sensitive".
 27827  func (s GetAutoSnapshotsOutput) GoString() string {
 27828  	return s.String()
 27829  }
 27830  
 27831  // SetAutoSnapshots sets the AutoSnapshots field's value.
 27832  func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
 27833  	s.AutoSnapshots = v
 27834  	return s
 27835  }
 27836  
 27837  // SetResourceName sets the ResourceName field's value.
 27838  func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
 27839  	s.ResourceName = &v
 27840  	return s
 27841  }
 27842  
 27843  // SetResourceType sets the ResourceType field's value.
 27844  func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
 27845  	s.ResourceType = &v
 27846  	return s
 27847  }
 27848  
 27849  type GetBlueprintsInput struct {
 27850  	_ struct{} `type:"structure"`
 27851  
 27852  	// A Boolean value indicating whether to include inactive results in your request.
 27853  	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
 27854  
 27855  	// The token to advance to the next page of results from your request.
 27856  	//
 27857  	// To get a page token, perform an initial GetBlueprints request. If your results
 27858  	// are paginated, the response will return a next page token that you can specify
 27859  	// as the page token in a subsequent request.
 27860  	PageToken *string `locationName:"pageToken" type:"string"`
 27861  }
 27862  
 27863  // String returns the string representation.
 27864  //
 27865  // API parameter values that are decorated as "sensitive" in the API will not
 27866  // be included in the string output. The member name will be present, but the
 27867  // value will be replaced with "sensitive".
 27868  func (s GetBlueprintsInput) String() string {
 27869  	return awsutil.Prettify(s)
 27870  }
 27871  
 27872  // GoString returns the string representation.
 27873  //
 27874  // API parameter values that are decorated as "sensitive" in the API will not
 27875  // be included in the string output. The member name will be present, but the
 27876  // value will be replaced with "sensitive".
 27877  func (s GetBlueprintsInput) GoString() string {
 27878  	return s.String()
 27879  }
 27880  
 27881  // SetIncludeInactive sets the IncludeInactive field's value.
 27882  func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
 27883  	s.IncludeInactive = &v
 27884  	return s
 27885  }
 27886  
 27887  // SetPageToken sets the PageToken field's value.
 27888  func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
 27889  	s.PageToken = &v
 27890  	return s
 27891  }
 27892  
 27893  type GetBlueprintsOutput struct {
 27894  	_ struct{} `type:"structure"`
 27895  
 27896  	// An array of key-value pairs that contains information about the available
 27897  	// blueprints.
 27898  	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
 27899  
 27900  	// The token to advance to the next page of results from your request.
 27901  	//
 27902  	// A next page token is not returned if there are no more results to display.
 27903  	//
 27904  	// To get the next page of results, perform another GetBlueprints request and
 27905  	// specify the next page token using the pageToken parameter.
 27906  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 27907  }
 27908  
 27909  // String returns the string representation.
 27910  //
 27911  // API parameter values that are decorated as "sensitive" in the API will not
 27912  // be included in the string output. The member name will be present, but the
 27913  // value will be replaced with "sensitive".
 27914  func (s GetBlueprintsOutput) String() string {
 27915  	return awsutil.Prettify(s)
 27916  }
 27917  
 27918  // GoString returns the string representation.
 27919  //
 27920  // API parameter values that are decorated as "sensitive" in the API will not
 27921  // be included in the string output. The member name will be present, but the
 27922  // value will be replaced with "sensitive".
 27923  func (s GetBlueprintsOutput) GoString() string {
 27924  	return s.String()
 27925  }
 27926  
 27927  // SetBlueprints sets the Blueprints field's value.
 27928  func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
 27929  	s.Blueprints = v
 27930  	return s
 27931  }
 27932  
 27933  // SetNextPageToken sets the NextPageToken field's value.
 27934  func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
 27935  	s.NextPageToken = &v
 27936  	return s
 27937  }
 27938  
 27939  type GetBucketAccessKeysInput struct {
 27940  	_ struct{} `type:"structure"`
 27941  
 27942  	// The name of the bucket for which to return access keys.
 27943  	//
 27944  	// BucketName is a required field
 27945  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 27946  }
 27947  
 27948  // String returns the string representation.
 27949  //
 27950  // API parameter values that are decorated as "sensitive" in the API will not
 27951  // be included in the string output. The member name will be present, but the
 27952  // value will be replaced with "sensitive".
 27953  func (s GetBucketAccessKeysInput) String() string {
 27954  	return awsutil.Prettify(s)
 27955  }
 27956  
 27957  // GoString returns the string representation.
 27958  //
 27959  // API parameter values that are decorated as "sensitive" in the API will not
 27960  // be included in the string output. The member name will be present, but the
 27961  // value will be replaced with "sensitive".
 27962  func (s GetBucketAccessKeysInput) GoString() string {
 27963  	return s.String()
 27964  }
 27965  
 27966  // Validate inspects the fields of the type to determine if they are valid.
 27967  func (s *GetBucketAccessKeysInput) Validate() error {
 27968  	invalidParams := request.ErrInvalidParams{Context: "GetBucketAccessKeysInput"}
 27969  	if s.BucketName == nil {
 27970  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 27971  	}
 27972  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 27973  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 27974  	}
 27975  
 27976  	if invalidParams.Len() > 0 {
 27977  		return invalidParams
 27978  	}
 27979  	return nil
 27980  }
 27981  
 27982  // SetBucketName sets the BucketName field's value.
 27983  func (s *GetBucketAccessKeysInput) SetBucketName(v string) *GetBucketAccessKeysInput {
 27984  	s.BucketName = &v
 27985  	return s
 27986  }
 27987  
 27988  type GetBucketAccessKeysOutput struct {
 27989  	_ struct{} `type:"structure"`
 27990  
 27991  	// An object that describes the access keys for the specified bucket.
 27992  	AccessKeys []*AccessKey `locationName:"accessKeys" type:"list"`
 27993  }
 27994  
 27995  // String returns the string representation.
 27996  //
 27997  // API parameter values that are decorated as "sensitive" in the API will not
 27998  // be included in the string output. The member name will be present, but the
 27999  // value will be replaced with "sensitive".
 28000  func (s GetBucketAccessKeysOutput) String() string {
 28001  	return awsutil.Prettify(s)
 28002  }
 28003  
 28004  // GoString returns the string representation.
 28005  //
 28006  // API parameter values that are decorated as "sensitive" in the API will not
 28007  // be included in the string output. The member name will be present, but the
 28008  // value will be replaced with "sensitive".
 28009  func (s GetBucketAccessKeysOutput) GoString() string {
 28010  	return s.String()
 28011  }
 28012  
 28013  // SetAccessKeys sets the AccessKeys field's value.
 28014  func (s *GetBucketAccessKeysOutput) SetAccessKeys(v []*AccessKey) *GetBucketAccessKeysOutput {
 28015  	s.AccessKeys = v
 28016  	return s
 28017  }
 28018  
 28019  type GetBucketBundlesInput struct {
 28020  	_ struct{} `type:"structure"`
 28021  
 28022  	// A Boolean value that indicates whether to include inactive (unavailable)
 28023  	// bundles in the response.
 28024  	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
 28025  }
 28026  
 28027  // String returns the string representation.
 28028  //
 28029  // API parameter values that are decorated as "sensitive" in the API will not
 28030  // be included in the string output. The member name will be present, but the
 28031  // value will be replaced with "sensitive".
 28032  func (s GetBucketBundlesInput) String() string {
 28033  	return awsutil.Prettify(s)
 28034  }
 28035  
 28036  // GoString returns the string representation.
 28037  //
 28038  // API parameter values that are decorated as "sensitive" in the API will not
 28039  // be included in the string output. The member name will be present, but the
 28040  // value will be replaced with "sensitive".
 28041  func (s GetBucketBundlesInput) GoString() string {
 28042  	return s.String()
 28043  }
 28044  
 28045  // SetIncludeInactive sets the IncludeInactive field's value.
 28046  func (s *GetBucketBundlesInput) SetIncludeInactive(v bool) *GetBucketBundlesInput {
 28047  	s.IncludeInactive = &v
 28048  	return s
 28049  }
 28050  
 28051  type GetBucketBundlesOutput struct {
 28052  	_ struct{} `type:"structure"`
 28053  
 28054  	// An object that describes bucket bundles.
 28055  	Bundles []*BucketBundle `locationName:"bundles" type:"list"`
 28056  }
 28057  
 28058  // String returns the string representation.
 28059  //
 28060  // API parameter values that are decorated as "sensitive" in the API will not
 28061  // be included in the string output. The member name will be present, but the
 28062  // value will be replaced with "sensitive".
 28063  func (s GetBucketBundlesOutput) String() string {
 28064  	return awsutil.Prettify(s)
 28065  }
 28066  
 28067  // GoString returns the string representation.
 28068  //
 28069  // API parameter values that are decorated as "sensitive" in the API will not
 28070  // be included in the string output. The member name will be present, but the
 28071  // value will be replaced with "sensitive".
 28072  func (s GetBucketBundlesOutput) GoString() string {
 28073  	return s.String()
 28074  }
 28075  
 28076  // SetBundles sets the Bundles field's value.
 28077  func (s *GetBucketBundlesOutput) SetBundles(v []*BucketBundle) *GetBucketBundlesOutput {
 28078  	s.Bundles = v
 28079  	return s
 28080  }
 28081  
 28082  type GetBucketMetricDataInput struct {
 28083  	_ struct{} `type:"structure"`
 28084  
 28085  	// The name of the bucket for which to get metric data.
 28086  	//
 28087  	// BucketName is a required field
 28088  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 28089  
 28090  	// The timestamp indicating the latest data to be returned.
 28091  	//
 28092  	// EndTime is a required field
 28093  	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
 28094  
 28095  	// The metric for which you want to return information.
 28096  	//
 28097  	// Valid bucket metric names are listed below, along with the most useful statistics
 28098  	// to include in your request, and the published unit value.
 28099  	//
 28100  	// These bucket metrics are reported once per day.
 28101  	//
 28102  	//    * BucketSizeBytes - The amount of data in bytes stored in a bucket. This
 28103  	//    value is calculated by summing the size of all objects in the bucket (including
 28104  	//    object versions), including the size of all parts for all incomplete multipart
 28105  	//    uploads to the bucket. Statistics: The most useful statistic is Maximum.
 28106  	//    Unit: The published unit is Bytes.
 28107  	//
 28108  	//    * NumberOfObjects - The total number of objects stored in a bucket. This
 28109  	//    value is calculated by counting all objects in the bucket (including object
 28110  	//    versions) and the total number of parts for all incomplete multipart uploads
 28111  	//    to the bucket. Statistics: The most useful statistic is Average. Unit:
 28112  	//    The published unit is Count.
 28113  	//
 28114  	// MetricName is a required field
 28115  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"BucketMetricName"`
 28116  
 28117  	// The granularity, in seconds, of the returned data points.
 28118  	//
 28119  	// Bucket storage metrics are reported once per day. Therefore, you should specify
 28120  	// a period of 86400 seconds, which is the number of seconds in a day.
 28121  	//
 28122  	// Period is a required field
 28123  	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
 28124  
 28125  	// The timestamp indicating the earliest data to be returned.
 28126  	//
 28127  	// StartTime is a required field
 28128  	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
 28129  
 28130  	// The statistic for the metric.
 28131  	//
 28132  	// The following statistics are available:
 28133  	//
 28134  	//    * Minimum - The lowest value observed during the specified period. Use
 28135  	//    this value to determine low volumes of activity for your application.
 28136  	//
 28137  	//    * Maximum - The highest value observed during the specified period. Use
 28138  	//    this value to determine high volumes of activity for your application.
 28139  	//
 28140  	//    * Sum - The sum of all values submitted for the matching metric. You can
 28141  	//    use this statistic to determine the total volume of a metric.
 28142  	//
 28143  	//    * Average - The value of Sum / SampleCount during the specified period.
 28144  	//    By comparing this statistic with the Minimum and Maximum values, you can
 28145  	//    determine the full scope of a metric and how close the average use is
 28146  	//    to the Minimum and Maximum values. This comparison helps you to know when
 28147  	//    to increase or decrease your resources.
 28148  	//
 28149  	//    * SampleCount - The count, or number, of data points used for the statistical
 28150  	//    calculation.
 28151  	//
 28152  	// Statistics is a required field
 28153  	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
 28154  
 28155  	// The unit for the metric data request.
 28156  	//
 28157  	// Valid units depend on the metric data being requested. For the valid units
 28158  	// with each available metric, see the metricName parameter.
 28159  	//
 28160  	// Unit is a required field
 28161  	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
 28162  }
 28163  
 28164  // String returns the string representation.
 28165  //
 28166  // API parameter values that are decorated as "sensitive" in the API will not
 28167  // be included in the string output. The member name will be present, but the
 28168  // value will be replaced with "sensitive".
 28169  func (s GetBucketMetricDataInput) String() string {
 28170  	return awsutil.Prettify(s)
 28171  }
 28172  
 28173  // GoString returns the string representation.
 28174  //
 28175  // API parameter values that are decorated as "sensitive" in the API will not
 28176  // be included in the string output. The member name will be present, but the
 28177  // value will be replaced with "sensitive".
 28178  func (s GetBucketMetricDataInput) GoString() string {
 28179  	return s.String()
 28180  }
 28181  
 28182  // Validate inspects the fields of the type to determine if they are valid.
 28183  func (s *GetBucketMetricDataInput) Validate() error {
 28184  	invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricDataInput"}
 28185  	if s.BucketName == nil {
 28186  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 28187  	}
 28188  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 28189  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 28190  	}
 28191  	if s.EndTime == nil {
 28192  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 28193  	}
 28194  	if s.MetricName == nil {
 28195  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 28196  	}
 28197  	if s.Period == nil {
 28198  		invalidParams.Add(request.NewErrParamRequired("Period"))
 28199  	}
 28200  	if s.Period != nil && *s.Period < 60 {
 28201  		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
 28202  	}
 28203  	if s.StartTime == nil {
 28204  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 28205  	}
 28206  	if s.Statistics == nil {
 28207  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
 28208  	}
 28209  	if s.Unit == nil {
 28210  		invalidParams.Add(request.NewErrParamRequired("Unit"))
 28211  	}
 28212  
 28213  	if invalidParams.Len() > 0 {
 28214  		return invalidParams
 28215  	}
 28216  	return nil
 28217  }
 28218  
 28219  // SetBucketName sets the BucketName field's value.
 28220  func (s *GetBucketMetricDataInput) SetBucketName(v string) *GetBucketMetricDataInput {
 28221  	s.BucketName = &v
 28222  	return s
 28223  }
 28224  
 28225  // SetEndTime sets the EndTime field's value.
 28226  func (s *GetBucketMetricDataInput) SetEndTime(v time.Time) *GetBucketMetricDataInput {
 28227  	s.EndTime = &v
 28228  	return s
 28229  }
 28230  
 28231  // SetMetricName sets the MetricName field's value.
 28232  func (s *GetBucketMetricDataInput) SetMetricName(v string) *GetBucketMetricDataInput {
 28233  	s.MetricName = &v
 28234  	return s
 28235  }
 28236  
 28237  // SetPeriod sets the Period field's value.
 28238  func (s *GetBucketMetricDataInput) SetPeriod(v int64) *GetBucketMetricDataInput {
 28239  	s.Period = &v
 28240  	return s
 28241  }
 28242  
 28243  // SetStartTime sets the StartTime field's value.
 28244  func (s *GetBucketMetricDataInput) SetStartTime(v time.Time) *GetBucketMetricDataInput {
 28245  	s.StartTime = &v
 28246  	return s
 28247  }
 28248  
 28249  // SetStatistics sets the Statistics field's value.
 28250  func (s *GetBucketMetricDataInput) SetStatistics(v []*string) *GetBucketMetricDataInput {
 28251  	s.Statistics = v
 28252  	return s
 28253  }
 28254  
 28255  // SetUnit sets the Unit field's value.
 28256  func (s *GetBucketMetricDataInput) SetUnit(v string) *GetBucketMetricDataInput {
 28257  	s.Unit = &v
 28258  	return s
 28259  }
 28260  
 28261  type GetBucketMetricDataOutput struct {
 28262  	_ struct{} `type:"structure"`
 28263  
 28264  	// An array of objects that describe the metric data returned.
 28265  	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
 28266  
 28267  	// The name of the metric returned.
 28268  	MetricName *string `locationName:"metricName" type:"string" enum:"BucketMetricName"`
 28269  }
 28270  
 28271  // String returns the string representation.
 28272  //
 28273  // API parameter values that are decorated as "sensitive" in the API will not
 28274  // be included in the string output. The member name will be present, but the
 28275  // value will be replaced with "sensitive".
 28276  func (s GetBucketMetricDataOutput) String() string {
 28277  	return awsutil.Prettify(s)
 28278  }
 28279  
 28280  // GoString returns the string representation.
 28281  //
 28282  // API parameter values that are decorated as "sensitive" in the API will not
 28283  // be included in the string output. The member name will be present, but the
 28284  // value will be replaced with "sensitive".
 28285  func (s GetBucketMetricDataOutput) GoString() string {
 28286  	return s.String()
 28287  }
 28288  
 28289  // SetMetricData sets the MetricData field's value.
 28290  func (s *GetBucketMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetBucketMetricDataOutput {
 28291  	s.MetricData = v
 28292  	return s
 28293  }
 28294  
 28295  // SetMetricName sets the MetricName field's value.
 28296  func (s *GetBucketMetricDataOutput) SetMetricName(v string) *GetBucketMetricDataOutput {
 28297  	s.MetricName = &v
 28298  	return s
 28299  }
 28300  
 28301  type GetBucketsInput struct {
 28302  	_ struct{} `type:"structure"`
 28303  
 28304  	// The name of the bucket for which to return information.
 28305  	//
 28306  	// When omitted, the response includes all of your buckets in the AWS Region
 28307  	// where the request is made.
 28308  	BucketName *string `locationName:"bucketName" min:"3" type:"string"`
 28309  
 28310  	// A Boolean value that indicates whether to include Lightsail instances that
 28311  	// were given access to the bucket using the SetResourceAccessForBucket action.
 28312  	IncludeConnectedResources *bool `locationName:"includeConnectedResources" type:"boolean"`
 28313  
 28314  	// The token to advance to the next page of results from your request.
 28315  	//
 28316  	// To get a page token, perform an initial GetBuckets request. If your results
 28317  	// are paginated, the response will return a next page token that you can specify
 28318  	// as the page token in a subsequent request.
 28319  	PageToken *string `locationName:"pageToken" type:"string"`
 28320  }
 28321  
 28322  // String returns the string representation.
 28323  //
 28324  // API parameter values that are decorated as "sensitive" in the API will not
 28325  // be included in the string output. The member name will be present, but the
 28326  // value will be replaced with "sensitive".
 28327  func (s GetBucketsInput) String() string {
 28328  	return awsutil.Prettify(s)
 28329  }
 28330  
 28331  // GoString returns the string representation.
 28332  //
 28333  // API parameter values that are decorated as "sensitive" in the API will not
 28334  // be included in the string output. The member name will be present, but the
 28335  // value will be replaced with "sensitive".
 28336  func (s GetBucketsInput) GoString() string {
 28337  	return s.String()
 28338  }
 28339  
 28340  // Validate inspects the fields of the type to determine if they are valid.
 28341  func (s *GetBucketsInput) Validate() error {
 28342  	invalidParams := request.ErrInvalidParams{Context: "GetBucketsInput"}
 28343  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 28344  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 28345  	}
 28346  
 28347  	if invalidParams.Len() > 0 {
 28348  		return invalidParams
 28349  	}
 28350  	return nil
 28351  }
 28352  
 28353  // SetBucketName sets the BucketName field's value.
 28354  func (s *GetBucketsInput) SetBucketName(v string) *GetBucketsInput {
 28355  	s.BucketName = &v
 28356  	return s
 28357  }
 28358  
 28359  // SetIncludeConnectedResources sets the IncludeConnectedResources field's value.
 28360  func (s *GetBucketsInput) SetIncludeConnectedResources(v bool) *GetBucketsInput {
 28361  	s.IncludeConnectedResources = &v
 28362  	return s
 28363  }
 28364  
 28365  // SetPageToken sets the PageToken field's value.
 28366  func (s *GetBucketsInput) SetPageToken(v string) *GetBucketsInput {
 28367  	s.PageToken = &v
 28368  	return s
 28369  }
 28370  
 28371  type GetBucketsOutput struct {
 28372  	_ struct{} `type:"structure"`
 28373  
 28374  	// An array of objects that describe buckets.
 28375  	Buckets []*Bucket `locationName:"buckets" type:"list"`
 28376  
 28377  	// The token to advance to the next page of results from your request.
 28378  	//
 28379  	// A next page token is not returned if there are no more results to display.
 28380  	//
 28381  	// To get the next page of results, perform another GetBuckets request and specify
 28382  	// the next page token using the pageToken parameter.
 28383  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 28384  }
 28385  
 28386  // String returns the string representation.
 28387  //
 28388  // API parameter values that are decorated as "sensitive" in the API will not
 28389  // be included in the string output. The member name will be present, but the
 28390  // value will be replaced with "sensitive".
 28391  func (s GetBucketsOutput) String() string {
 28392  	return awsutil.Prettify(s)
 28393  }
 28394  
 28395  // GoString returns the string representation.
 28396  //
 28397  // API parameter values that are decorated as "sensitive" in the API will not
 28398  // be included in the string output. The member name will be present, but the
 28399  // value will be replaced with "sensitive".
 28400  func (s GetBucketsOutput) GoString() string {
 28401  	return s.String()
 28402  }
 28403  
 28404  // SetBuckets sets the Buckets field's value.
 28405  func (s *GetBucketsOutput) SetBuckets(v []*Bucket) *GetBucketsOutput {
 28406  	s.Buckets = v
 28407  	return s
 28408  }
 28409  
 28410  // SetNextPageToken sets the NextPageToken field's value.
 28411  func (s *GetBucketsOutput) SetNextPageToken(v string) *GetBucketsOutput {
 28412  	s.NextPageToken = &v
 28413  	return s
 28414  }
 28415  
 28416  type GetBundlesInput struct {
 28417  	_ struct{} `type:"structure"`
 28418  
 28419  	// A Boolean value that indicates whether to include inactive bundle results
 28420  	// in your request.
 28421  	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
 28422  
 28423  	// The token to advance to the next page of results from your request.
 28424  	//
 28425  	// To get a page token, perform an initial GetBundles request. If your results
 28426  	// are paginated, the response will return a next page token that you can specify
 28427  	// as the page token in a subsequent request.
 28428  	PageToken *string `locationName:"pageToken" type:"string"`
 28429  }
 28430  
 28431  // String returns the string representation.
 28432  //
 28433  // API parameter values that are decorated as "sensitive" in the API will not
 28434  // be included in the string output. The member name will be present, but the
 28435  // value will be replaced with "sensitive".
 28436  func (s GetBundlesInput) String() string {
 28437  	return awsutil.Prettify(s)
 28438  }
 28439  
 28440  // GoString returns the string representation.
 28441  //
 28442  // API parameter values that are decorated as "sensitive" in the API will not
 28443  // be included in the string output. The member name will be present, but the
 28444  // value will be replaced with "sensitive".
 28445  func (s GetBundlesInput) GoString() string {
 28446  	return s.String()
 28447  }
 28448  
 28449  // SetIncludeInactive sets the IncludeInactive field's value.
 28450  func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
 28451  	s.IncludeInactive = &v
 28452  	return s
 28453  }
 28454  
 28455  // SetPageToken sets the PageToken field's value.
 28456  func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
 28457  	s.PageToken = &v
 28458  	return s
 28459  }
 28460  
 28461  type GetBundlesOutput struct {
 28462  	_ struct{} `type:"structure"`
 28463  
 28464  	// An array of key-value pairs that contains information about the available
 28465  	// bundles.
 28466  	Bundles []*Bundle `locationName:"bundles" type:"list"`
 28467  
 28468  	// The token to advance to the next page of results from your request.
 28469  	//
 28470  	// A next page token is not returned if there are no more results to display.
 28471  	//
 28472  	// To get the next page of results, perform another GetBundles request and specify
 28473  	// the next page token using the pageToken parameter.
 28474  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 28475  }
 28476  
 28477  // String returns the string representation.
 28478  //
 28479  // API parameter values that are decorated as "sensitive" in the API will not
 28480  // be included in the string output. The member name will be present, but the
 28481  // value will be replaced with "sensitive".
 28482  func (s GetBundlesOutput) String() string {
 28483  	return awsutil.Prettify(s)
 28484  }
 28485  
 28486  // GoString returns the string representation.
 28487  //
 28488  // API parameter values that are decorated as "sensitive" in the API will not
 28489  // be included in the string output. The member name will be present, but the
 28490  // value will be replaced with "sensitive".
 28491  func (s GetBundlesOutput) GoString() string {
 28492  	return s.String()
 28493  }
 28494  
 28495  // SetBundles sets the Bundles field's value.
 28496  func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
 28497  	s.Bundles = v
 28498  	return s
 28499  }
 28500  
 28501  // SetNextPageToken sets the NextPageToken field's value.
 28502  func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
 28503  	s.NextPageToken = &v
 28504  	return s
 28505  }
 28506  
 28507  type GetCertificatesInput struct {
 28508  	_ struct{} `type:"structure"`
 28509  
 28510  	// The name for the certificate for which to return information.
 28511  	//
 28512  	// When omitted, the response includes all of your certificates in the AWS Region
 28513  	// where the request is made.
 28514  	CertificateName *string `locationName:"certificateName" type:"string"`
 28515  
 28516  	// The status of the certificates for which to return information.
 28517  	//
 28518  	// For example, specify ISSUED to return only certificates with an ISSUED status.
 28519  	//
 28520  	// When omitted, the response includes all of your certificates in the AWS Region
 28521  	// where the request is made, regardless of their current status.
 28522  	CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"`
 28523  
 28524  	// Indicates whether to include detailed information about the certificates
 28525  	// in the response.
 28526  	//
 28527  	// When omitted, the response includes only the certificate names, Amazon Resource
 28528  	// Names (ARNs), domain names, and tags.
 28529  	IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"`
 28530  }
 28531  
 28532  // String returns the string representation.
 28533  //
 28534  // API parameter values that are decorated as "sensitive" in the API will not
 28535  // be included in the string output. The member name will be present, but the
 28536  // value will be replaced with "sensitive".
 28537  func (s GetCertificatesInput) String() string {
 28538  	return awsutil.Prettify(s)
 28539  }
 28540  
 28541  // GoString returns the string representation.
 28542  //
 28543  // API parameter values that are decorated as "sensitive" in the API will not
 28544  // be included in the string output. The member name will be present, but the
 28545  // value will be replaced with "sensitive".
 28546  func (s GetCertificatesInput) GoString() string {
 28547  	return s.String()
 28548  }
 28549  
 28550  // SetCertificateName sets the CertificateName field's value.
 28551  func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput {
 28552  	s.CertificateName = &v
 28553  	return s
 28554  }
 28555  
 28556  // SetCertificateStatuses sets the CertificateStatuses field's value.
 28557  func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput {
 28558  	s.CertificateStatuses = v
 28559  	return s
 28560  }
 28561  
 28562  // SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value.
 28563  func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput {
 28564  	s.IncludeCertificateDetails = &v
 28565  	return s
 28566  }
 28567  
 28568  type GetCertificatesOutput struct {
 28569  	_ struct{} `type:"structure"`
 28570  
 28571  	// An object that describes certificates.
 28572  	Certificates []*CertificateSummary `locationName:"certificates" type:"list"`
 28573  }
 28574  
 28575  // String returns the string representation.
 28576  //
 28577  // API parameter values that are decorated as "sensitive" in the API will not
 28578  // be included in the string output. The member name will be present, but the
 28579  // value will be replaced with "sensitive".
 28580  func (s GetCertificatesOutput) String() string {
 28581  	return awsutil.Prettify(s)
 28582  }
 28583  
 28584  // GoString returns the string representation.
 28585  //
 28586  // API parameter values that are decorated as "sensitive" in the API will not
 28587  // be included in the string output. The member name will be present, but the
 28588  // value will be replaced with "sensitive".
 28589  func (s GetCertificatesOutput) GoString() string {
 28590  	return s.String()
 28591  }
 28592  
 28593  // SetCertificates sets the Certificates field's value.
 28594  func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput {
 28595  	s.Certificates = v
 28596  	return s
 28597  }
 28598  
 28599  type GetCloudFormationStackRecordsInput struct {
 28600  	_ struct{} `type:"structure"`
 28601  
 28602  	// The token to advance to the next page of results from your request.
 28603  	//
 28604  	// To get a page token, perform an initial GetClouFormationStackRecords request.
 28605  	// If your results are paginated, the response will return a next page token
 28606  	// that you can specify as the page token in a subsequent request.
 28607  	PageToken *string `locationName:"pageToken" type:"string"`
 28608  }
 28609  
 28610  // String returns the string representation.
 28611  //
 28612  // API parameter values that are decorated as "sensitive" in the API will not
 28613  // be included in the string output. The member name will be present, but the
 28614  // value will be replaced with "sensitive".
 28615  func (s GetCloudFormationStackRecordsInput) String() string {
 28616  	return awsutil.Prettify(s)
 28617  }
 28618  
 28619  // GoString returns the string representation.
 28620  //
 28621  // API parameter values that are decorated as "sensitive" in the API will not
 28622  // be included in the string output. The member name will be present, but the
 28623  // value will be replaced with "sensitive".
 28624  func (s GetCloudFormationStackRecordsInput) GoString() string {
 28625  	return s.String()
 28626  }
 28627  
 28628  // SetPageToken sets the PageToken field's value.
 28629  func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
 28630  	s.PageToken = &v
 28631  	return s
 28632  }
 28633  
 28634  type GetCloudFormationStackRecordsOutput struct {
 28635  	_ struct{} `type:"structure"`
 28636  
 28637  	// A list of objects describing the CloudFormation stack records.
 28638  	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
 28639  
 28640  	// The token to advance to the next page of results from your request.
 28641  	//
 28642  	// A next page token is not returned if there are no more results to display.
 28643  	//
 28644  	// To get the next page of results, perform another GetCloudFormationStackRecords
 28645  	// request and specify the next page token using the pageToken parameter.
 28646  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 28647  }
 28648  
 28649  // String returns the string representation.
 28650  //
 28651  // API parameter values that are decorated as "sensitive" in the API will not
 28652  // be included in the string output. The member name will be present, but the
 28653  // value will be replaced with "sensitive".
 28654  func (s GetCloudFormationStackRecordsOutput) String() string {
 28655  	return awsutil.Prettify(s)
 28656  }
 28657  
 28658  // GoString returns the string representation.
 28659  //
 28660  // API parameter values that are decorated as "sensitive" in the API will not
 28661  // be included in the string output. The member name will be present, but the
 28662  // value will be replaced with "sensitive".
 28663  func (s GetCloudFormationStackRecordsOutput) GoString() string {
 28664  	return s.String()
 28665  }
 28666  
 28667  // SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
 28668  func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
 28669  	s.CloudFormationStackRecords = v
 28670  	return s
 28671  }
 28672  
 28673  // SetNextPageToken sets the NextPageToken field's value.
 28674  func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
 28675  	s.NextPageToken = &v
 28676  	return s
 28677  }
 28678  
 28679  type GetContactMethodsInput struct {
 28680  	_ struct{} `type:"structure"`
 28681  
 28682  	// The protocols used to send notifications, such as Email, or SMS (text messaging).
 28683  	//
 28684  	// Specify a protocol in your request to return information about a specific
 28685  	// contact method protocol.
 28686  	Protocols []*string `locationName:"protocols" type:"list"`
 28687  }
 28688  
 28689  // String returns the string representation.
 28690  //
 28691  // API parameter values that are decorated as "sensitive" in the API will not
 28692  // be included in the string output. The member name will be present, but the
 28693  // value will be replaced with "sensitive".
 28694  func (s GetContactMethodsInput) String() string {
 28695  	return awsutil.Prettify(s)
 28696  }
 28697  
 28698  // GoString returns the string representation.
 28699  //
 28700  // API parameter values that are decorated as "sensitive" in the API will not
 28701  // be included in the string output. The member name will be present, but the
 28702  // value will be replaced with "sensitive".
 28703  func (s GetContactMethodsInput) GoString() string {
 28704  	return s.String()
 28705  }
 28706  
 28707  // SetProtocols sets the Protocols field's value.
 28708  func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
 28709  	s.Protocols = v
 28710  	return s
 28711  }
 28712  
 28713  type GetContactMethodsOutput struct {
 28714  	_ struct{} `type:"structure"`
 28715  
 28716  	// An array of objects that describe the contact methods.
 28717  	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
 28718  }
 28719  
 28720  // String returns the string representation.
 28721  //
 28722  // API parameter values that are decorated as "sensitive" in the API will not
 28723  // be included in the string output. The member name will be present, but the
 28724  // value will be replaced with "sensitive".
 28725  func (s GetContactMethodsOutput) String() string {
 28726  	return awsutil.Prettify(s)
 28727  }
 28728  
 28729  // GoString returns the string representation.
 28730  //
 28731  // API parameter values that are decorated as "sensitive" in the API will not
 28732  // be included in the string output. The member name will be present, but the
 28733  // value will be replaced with "sensitive".
 28734  func (s GetContactMethodsOutput) GoString() string {
 28735  	return s.String()
 28736  }
 28737  
 28738  // SetContactMethods sets the ContactMethods field's value.
 28739  func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
 28740  	s.ContactMethods = v
 28741  	return s
 28742  }
 28743  
 28744  type GetContainerAPIMetadataInput struct {
 28745  	_ struct{} `type:"structure"`
 28746  }
 28747  
 28748  // String returns the string representation.
 28749  //
 28750  // API parameter values that are decorated as "sensitive" in the API will not
 28751  // be included in the string output. The member name will be present, but the
 28752  // value will be replaced with "sensitive".
 28753  func (s GetContainerAPIMetadataInput) String() string {
 28754  	return awsutil.Prettify(s)
 28755  }
 28756  
 28757  // GoString returns the string representation.
 28758  //
 28759  // API parameter values that are decorated as "sensitive" in the API will not
 28760  // be included in the string output. The member name will be present, but the
 28761  // value will be replaced with "sensitive".
 28762  func (s GetContainerAPIMetadataInput) GoString() string {
 28763  	return s.String()
 28764  }
 28765  
 28766  type GetContainerAPIMetadataOutput struct {
 28767  	_ struct{} `type:"structure"`
 28768  
 28769  	// Metadata about Lightsail containers, such as the current version of the Lightsail
 28770  	// Control (lightsailctl) plugin.
 28771  	Metadata []map[string]*string `locationName:"metadata" type:"list"`
 28772  }
 28773  
 28774  // String returns the string representation.
 28775  //
 28776  // API parameter values that are decorated as "sensitive" in the API will not
 28777  // be included in the string output. The member name will be present, but the
 28778  // value will be replaced with "sensitive".
 28779  func (s GetContainerAPIMetadataOutput) String() string {
 28780  	return awsutil.Prettify(s)
 28781  }
 28782  
 28783  // GoString returns the string representation.
 28784  //
 28785  // API parameter values that are decorated as "sensitive" in the API will not
 28786  // be included in the string output. The member name will be present, but the
 28787  // value will be replaced with "sensitive".
 28788  func (s GetContainerAPIMetadataOutput) GoString() string {
 28789  	return s.String()
 28790  }
 28791  
 28792  // SetMetadata sets the Metadata field's value.
 28793  func (s *GetContainerAPIMetadataOutput) SetMetadata(v []map[string]*string) *GetContainerAPIMetadataOutput {
 28794  	s.Metadata = v
 28795  	return s
 28796  }
 28797  
 28798  type GetContainerImagesInput struct {
 28799  	_ struct{} `type:"structure"`
 28800  
 28801  	// The name of the container service for which to return registered container
 28802  	// images.
 28803  	//
 28804  	// ServiceName is a required field
 28805  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 28806  }
 28807  
 28808  // String returns the string representation.
 28809  //
 28810  // API parameter values that are decorated as "sensitive" in the API will not
 28811  // be included in the string output. The member name will be present, but the
 28812  // value will be replaced with "sensitive".
 28813  func (s GetContainerImagesInput) String() string {
 28814  	return awsutil.Prettify(s)
 28815  }
 28816  
 28817  // GoString returns the string representation.
 28818  //
 28819  // API parameter values that are decorated as "sensitive" in the API will not
 28820  // be included in the string output. The member name will be present, but the
 28821  // value will be replaced with "sensitive".
 28822  func (s GetContainerImagesInput) GoString() string {
 28823  	return s.String()
 28824  }
 28825  
 28826  // Validate inspects the fields of the type to determine if they are valid.
 28827  func (s *GetContainerImagesInput) Validate() error {
 28828  	invalidParams := request.ErrInvalidParams{Context: "GetContainerImagesInput"}
 28829  	if s.ServiceName == nil {
 28830  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 28831  	}
 28832  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 28833  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 28834  	}
 28835  
 28836  	if invalidParams.Len() > 0 {
 28837  		return invalidParams
 28838  	}
 28839  	return nil
 28840  }
 28841  
 28842  // SetServiceName sets the ServiceName field's value.
 28843  func (s *GetContainerImagesInput) SetServiceName(v string) *GetContainerImagesInput {
 28844  	s.ServiceName = &v
 28845  	return s
 28846  }
 28847  
 28848  type GetContainerImagesOutput struct {
 28849  	_ struct{} `type:"structure"`
 28850  
 28851  	// An array of objects that describe container images that are registered to
 28852  	// the container service.
 28853  	ContainerImages []*ContainerImage `locationName:"containerImages" type:"list"`
 28854  }
 28855  
 28856  // String returns the string representation.
 28857  //
 28858  // API parameter values that are decorated as "sensitive" in the API will not
 28859  // be included in the string output. The member name will be present, but the
 28860  // value will be replaced with "sensitive".
 28861  func (s GetContainerImagesOutput) String() string {
 28862  	return awsutil.Prettify(s)
 28863  }
 28864  
 28865  // GoString returns the string representation.
 28866  //
 28867  // API parameter values that are decorated as "sensitive" in the API will not
 28868  // be included in the string output. The member name will be present, but the
 28869  // value will be replaced with "sensitive".
 28870  func (s GetContainerImagesOutput) GoString() string {
 28871  	return s.String()
 28872  }
 28873  
 28874  // SetContainerImages sets the ContainerImages field's value.
 28875  func (s *GetContainerImagesOutput) SetContainerImages(v []*ContainerImage) *GetContainerImagesOutput {
 28876  	s.ContainerImages = v
 28877  	return s
 28878  }
 28879  
 28880  type GetContainerLogInput struct {
 28881  	_ struct{} `type:"structure"`
 28882  
 28883  	// The name of the container that is either running or previously ran on the
 28884  	// container service for which to return a log.
 28885  	//
 28886  	// ContainerName is a required field
 28887  	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
 28888  
 28889  	// The end of the time interval for which to get log data.
 28890  	//
 28891  	// Constraints:
 28892  	//
 28893  	//    * Specified in Coordinated Universal Time (UTC).
 28894  	//
 28895  	//    * Specified in the Unix time format. For example, if you wish to use an
 28896  	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
 28897  	//    time.
 28898  	//
 28899  	// You can convert a human-friendly time to Unix time format using a converter
 28900  	// like Epoch converter (https://www.epochconverter.com/).
 28901  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
 28902  
 28903  	// The pattern to use to filter the returned log events to a specific term.
 28904  	//
 28905  	// The following are a few examples of filter patterns that you can specify:
 28906  	//
 28907  	//    * To return all log events, specify a filter pattern of "".
 28908  	//
 28909  	//    * To exclude log events that contain the ERROR term, and return all other
 28910  	//    log events, specify a filter pattern of "-ERROR".
 28911  	//
 28912  	//    * To return log events that contain the ERROR term, specify a filter pattern
 28913  	//    of "ERROR".
 28914  	//
 28915  	//    * To return log events that contain both the ERROR and Exception terms,
 28916  	//    specify a filter pattern of "ERROR Exception".
 28917  	//
 28918  	//    * To return log events that contain the ERROR or the Exception term, specify
 28919  	//    a filter pattern of "?ERROR ?Exception".
 28920  	FilterPattern *string `locationName:"filterPattern" type:"string"`
 28921  
 28922  	// The token to advance to the next page of results from your request.
 28923  	//
 28924  	// To get a page token, perform an initial GetContainerLog request. If your
 28925  	// results are paginated, the response will return a next page token that you
 28926  	// can specify as the page token in a subsequent request.
 28927  	PageToken *string `locationName:"pageToken" type:"string"`
 28928  
 28929  	// The name of the container service for which to get a container log.
 28930  	//
 28931  	// ServiceName is a required field
 28932  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 28933  
 28934  	// The start of the time interval for which to get log data.
 28935  	//
 28936  	// Constraints:
 28937  	//
 28938  	//    * Specified in Coordinated Universal Time (UTC).
 28939  	//
 28940  	//    * Specified in the Unix time format. For example, if you wish to use a
 28941  	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
 28942  	//    start time.
 28943  	//
 28944  	// You can convert a human-friendly time to Unix time format using a converter
 28945  	// like Epoch converter (https://www.epochconverter.com/).
 28946  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
 28947  }
 28948  
 28949  // String returns the string representation.
 28950  //
 28951  // API parameter values that are decorated as "sensitive" in the API will not
 28952  // be included in the string output. The member name will be present, but the
 28953  // value will be replaced with "sensitive".
 28954  func (s GetContainerLogInput) String() string {
 28955  	return awsutil.Prettify(s)
 28956  }
 28957  
 28958  // GoString returns the string representation.
 28959  //
 28960  // API parameter values that are decorated as "sensitive" in the API will not
 28961  // be included in the string output. The member name will be present, but the
 28962  // value will be replaced with "sensitive".
 28963  func (s GetContainerLogInput) GoString() string {
 28964  	return s.String()
 28965  }
 28966  
 28967  // Validate inspects the fields of the type to determine if they are valid.
 28968  func (s *GetContainerLogInput) Validate() error {
 28969  	invalidParams := request.ErrInvalidParams{Context: "GetContainerLogInput"}
 28970  	if s.ContainerName == nil {
 28971  		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
 28972  	}
 28973  	if s.ServiceName == nil {
 28974  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 28975  	}
 28976  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 28977  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 28978  	}
 28979  
 28980  	if invalidParams.Len() > 0 {
 28981  		return invalidParams
 28982  	}
 28983  	return nil
 28984  }
 28985  
 28986  // SetContainerName sets the ContainerName field's value.
 28987  func (s *GetContainerLogInput) SetContainerName(v string) *GetContainerLogInput {
 28988  	s.ContainerName = &v
 28989  	return s
 28990  }
 28991  
 28992  // SetEndTime sets the EndTime field's value.
 28993  func (s *GetContainerLogInput) SetEndTime(v time.Time) *GetContainerLogInput {
 28994  	s.EndTime = &v
 28995  	return s
 28996  }
 28997  
 28998  // SetFilterPattern sets the FilterPattern field's value.
 28999  func (s *GetContainerLogInput) SetFilterPattern(v string) *GetContainerLogInput {
 29000  	s.FilterPattern = &v
 29001  	return s
 29002  }
 29003  
 29004  // SetPageToken sets the PageToken field's value.
 29005  func (s *GetContainerLogInput) SetPageToken(v string) *GetContainerLogInput {
 29006  	s.PageToken = &v
 29007  	return s
 29008  }
 29009  
 29010  // SetServiceName sets the ServiceName field's value.
 29011  func (s *GetContainerLogInput) SetServiceName(v string) *GetContainerLogInput {
 29012  	s.ServiceName = &v
 29013  	return s
 29014  }
 29015  
 29016  // SetStartTime sets the StartTime field's value.
 29017  func (s *GetContainerLogInput) SetStartTime(v time.Time) *GetContainerLogInput {
 29018  	s.StartTime = &v
 29019  	return s
 29020  }
 29021  
 29022  type GetContainerLogOutput struct {
 29023  	_ struct{} `type:"structure"`
 29024  
 29025  	// An array of objects that describe the log events of a container.
 29026  	LogEvents []*ContainerServiceLogEvent `locationName:"logEvents" type:"list"`
 29027  
 29028  	// The token to advance to the next page of results from your request.
 29029  	//
 29030  	// A next page token is not returned if there are no more results to display.
 29031  	//
 29032  	// To get the next page of results, perform another GetContainerLog request
 29033  	// and specify the next page token using the pageToken parameter.
 29034  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 29035  }
 29036  
 29037  // String returns the string representation.
 29038  //
 29039  // API parameter values that are decorated as "sensitive" in the API will not
 29040  // be included in the string output. The member name will be present, but the
 29041  // value will be replaced with "sensitive".
 29042  func (s GetContainerLogOutput) String() string {
 29043  	return awsutil.Prettify(s)
 29044  }
 29045  
 29046  // GoString returns the string representation.
 29047  //
 29048  // API parameter values that are decorated as "sensitive" in the API will not
 29049  // be included in the string output. The member name will be present, but the
 29050  // value will be replaced with "sensitive".
 29051  func (s GetContainerLogOutput) GoString() string {
 29052  	return s.String()
 29053  }
 29054  
 29055  // SetLogEvents sets the LogEvents field's value.
 29056  func (s *GetContainerLogOutput) SetLogEvents(v []*ContainerServiceLogEvent) *GetContainerLogOutput {
 29057  	s.LogEvents = v
 29058  	return s
 29059  }
 29060  
 29061  // SetNextPageToken sets the NextPageToken field's value.
 29062  func (s *GetContainerLogOutput) SetNextPageToken(v string) *GetContainerLogOutput {
 29063  	s.NextPageToken = &v
 29064  	return s
 29065  }
 29066  
 29067  type GetContainerServiceDeploymentsInput struct {
 29068  	_ struct{} `type:"structure"`
 29069  
 29070  	// The name of the container service for which to return deployments.
 29071  	//
 29072  	// ServiceName is a required field
 29073  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 29074  }
 29075  
 29076  // String returns the string representation.
 29077  //
 29078  // API parameter values that are decorated as "sensitive" in the API will not
 29079  // be included in the string output. The member name will be present, but the
 29080  // value will be replaced with "sensitive".
 29081  func (s GetContainerServiceDeploymentsInput) String() string {
 29082  	return awsutil.Prettify(s)
 29083  }
 29084  
 29085  // GoString returns the string representation.
 29086  //
 29087  // API parameter values that are decorated as "sensitive" in the API will not
 29088  // be included in the string output. The member name will be present, but the
 29089  // value will be replaced with "sensitive".
 29090  func (s GetContainerServiceDeploymentsInput) GoString() string {
 29091  	return s.String()
 29092  }
 29093  
 29094  // Validate inspects the fields of the type to determine if they are valid.
 29095  func (s *GetContainerServiceDeploymentsInput) Validate() error {
 29096  	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceDeploymentsInput"}
 29097  	if s.ServiceName == nil {
 29098  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 29099  	}
 29100  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 29101  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 29102  	}
 29103  
 29104  	if invalidParams.Len() > 0 {
 29105  		return invalidParams
 29106  	}
 29107  	return nil
 29108  }
 29109  
 29110  // SetServiceName sets the ServiceName field's value.
 29111  func (s *GetContainerServiceDeploymentsInput) SetServiceName(v string) *GetContainerServiceDeploymentsInput {
 29112  	s.ServiceName = &v
 29113  	return s
 29114  }
 29115  
 29116  type GetContainerServiceDeploymentsOutput struct {
 29117  	_ struct{} `type:"structure"`
 29118  
 29119  	// An array of objects that describe deployments for a container service.
 29120  	Deployments []*ContainerServiceDeployment `locationName:"deployments" type:"list"`
 29121  }
 29122  
 29123  // String returns the string representation.
 29124  //
 29125  // API parameter values that are decorated as "sensitive" in the API will not
 29126  // be included in the string output. The member name will be present, but the
 29127  // value will be replaced with "sensitive".
 29128  func (s GetContainerServiceDeploymentsOutput) String() string {
 29129  	return awsutil.Prettify(s)
 29130  }
 29131  
 29132  // GoString returns the string representation.
 29133  //
 29134  // API parameter values that are decorated as "sensitive" in the API will not
 29135  // be included in the string output. The member name will be present, but the
 29136  // value will be replaced with "sensitive".
 29137  func (s GetContainerServiceDeploymentsOutput) GoString() string {
 29138  	return s.String()
 29139  }
 29140  
 29141  // SetDeployments sets the Deployments field's value.
 29142  func (s *GetContainerServiceDeploymentsOutput) SetDeployments(v []*ContainerServiceDeployment) *GetContainerServiceDeploymentsOutput {
 29143  	s.Deployments = v
 29144  	return s
 29145  }
 29146  
 29147  type GetContainerServiceMetricDataInput struct {
 29148  	_ struct{} `type:"structure"`
 29149  
 29150  	// The end time of the time period.
 29151  	//
 29152  	// EndTime is a required field
 29153  	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
 29154  
 29155  	// The metric for which you want to return information.
 29156  	//
 29157  	// Valid container service metric names are listed below, along with the most
 29158  	// useful statistics to include in your request, and the published unit value.
 29159  	//
 29160  	//    * CPUUtilization - The average percentage of compute units that are currently
 29161  	//    in use across all nodes of the container service. This metric identifies
 29162  	//    the processing power required to run containers on each node of the container
 29163  	//    service. Statistics: The most useful statistics are Maximum and Average.
 29164  	//    Unit: The published unit is Percent.
 29165  	//
 29166  	//    * MemoryUtilization - The average percentage of available memory that
 29167  	//    is currently in use across all nodes of the container service. This metric
 29168  	//    identifies the memory required to run containers on each node of the container
 29169  	//    service. Statistics: The most useful statistics are Maximum and Average.
 29170  	//    Unit: The published unit is Percent.
 29171  	//
 29172  	// MetricName is a required field
 29173  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"ContainerServiceMetricName"`
 29174  
 29175  	// The granularity, in seconds, of the returned data points.
 29176  	//
 29177  	// All container service metric data is available in 5-minute (300 seconds)
 29178  	// granularity.
 29179  	//
 29180  	// Period is a required field
 29181  	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
 29182  
 29183  	// The name of the container service for which to get metric data.
 29184  	//
 29185  	// ServiceName is a required field
 29186  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 29187  
 29188  	// The start time of the time period.
 29189  	//
 29190  	// StartTime is a required field
 29191  	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
 29192  
 29193  	// The statistic for the metric.
 29194  	//
 29195  	// The following statistics are available:
 29196  	//
 29197  	//    * Minimum - The lowest value observed during the specified period. Use
 29198  	//    this value to determine low volumes of activity for your application.
 29199  	//
 29200  	//    * Maximum - The highest value observed during the specified period. Use
 29201  	//    this value to determine high volumes of activity for your application.
 29202  	//
 29203  	//    * Sum - All values submitted for the matching metric added together. You
 29204  	//    can use this statistic to determine the total volume of a metric.
 29205  	//
 29206  	//    * Average - The value of Sum / SampleCount during the specified period.
 29207  	//    By comparing this statistic with the Minimum and Maximum values, you can
 29208  	//    determine the full scope of a metric and how close the average use is
 29209  	//    to the Minimum and Maximum values. This comparison helps you to know when
 29210  	//    to increase or decrease your resources.
 29211  	//
 29212  	//    * SampleCount - The count, or number, of data points used for the statistical
 29213  	//    calculation.
 29214  	//
 29215  	// Statistics is a required field
 29216  	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
 29217  }
 29218  
 29219  // String returns the string representation.
 29220  //
 29221  // API parameter values that are decorated as "sensitive" in the API will not
 29222  // be included in the string output. The member name will be present, but the
 29223  // value will be replaced with "sensitive".
 29224  func (s GetContainerServiceMetricDataInput) String() string {
 29225  	return awsutil.Prettify(s)
 29226  }
 29227  
 29228  // GoString returns the string representation.
 29229  //
 29230  // API parameter values that are decorated as "sensitive" in the API will not
 29231  // be included in the string output. The member name will be present, but the
 29232  // value will be replaced with "sensitive".
 29233  func (s GetContainerServiceMetricDataInput) GoString() string {
 29234  	return s.String()
 29235  }
 29236  
 29237  // Validate inspects the fields of the type to determine if they are valid.
 29238  func (s *GetContainerServiceMetricDataInput) Validate() error {
 29239  	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceMetricDataInput"}
 29240  	if s.EndTime == nil {
 29241  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 29242  	}
 29243  	if s.MetricName == nil {
 29244  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 29245  	}
 29246  	if s.Period == nil {
 29247  		invalidParams.Add(request.NewErrParamRequired("Period"))
 29248  	}
 29249  	if s.Period != nil && *s.Period < 60 {
 29250  		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
 29251  	}
 29252  	if s.ServiceName == nil {
 29253  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 29254  	}
 29255  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 29256  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 29257  	}
 29258  	if s.StartTime == nil {
 29259  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 29260  	}
 29261  	if s.Statistics == nil {
 29262  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
 29263  	}
 29264  
 29265  	if invalidParams.Len() > 0 {
 29266  		return invalidParams
 29267  	}
 29268  	return nil
 29269  }
 29270  
 29271  // SetEndTime sets the EndTime field's value.
 29272  func (s *GetContainerServiceMetricDataInput) SetEndTime(v time.Time) *GetContainerServiceMetricDataInput {
 29273  	s.EndTime = &v
 29274  	return s
 29275  }
 29276  
 29277  // SetMetricName sets the MetricName field's value.
 29278  func (s *GetContainerServiceMetricDataInput) SetMetricName(v string) *GetContainerServiceMetricDataInput {
 29279  	s.MetricName = &v
 29280  	return s
 29281  }
 29282  
 29283  // SetPeriod sets the Period field's value.
 29284  func (s *GetContainerServiceMetricDataInput) SetPeriod(v int64) *GetContainerServiceMetricDataInput {
 29285  	s.Period = &v
 29286  	return s
 29287  }
 29288  
 29289  // SetServiceName sets the ServiceName field's value.
 29290  func (s *GetContainerServiceMetricDataInput) SetServiceName(v string) *GetContainerServiceMetricDataInput {
 29291  	s.ServiceName = &v
 29292  	return s
 29293  }
 29294  
 29295  // SetStartTime sets the StartTime field's value.
 29296  func (s *GetContainerServiceMetricDataInput) SetStartTime(v time.Time) *GetContainerServiceMetricDataInput {
 29297  	s.StartTime = &v
 29298  	return s
 29299  }
 29300  
 29301  // SetStatistics sets the Statistics field's value.
 29302  func (s *GetContainerServiceMetricDataInput) SetStatistics(v []*string) *GetContainerServiceMetricDataInput {
 29303  	s.Statistics = v
 29304  	return s
 29305  }
 29306  
 29307  type GetContainerServiceMetricDataOutput struct {
 29308  	_ struct{} `type:"structure"`
 29309  
 29310  	// An array of objects that describe the metric data returned.
 29311  	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
 29312  
 29313  	// The name of the metric returned.
 29314  	MetricName *string `locationName:"metricName" type:"string" enum:"ContainerServiceMetricName"`
 29315  }
 29316  
 29317  // String returns the string representation.
 29318  //
 29319  // API parameter values that are decorated as "sensitive" in the API will not
 29320  // be included in the string output. The member name will be present, but the
 29321  // value will be replaced with "sensitive".
 29322  func (s GetContainerServiceMetricDataOutput) String() string {
 29323  	return awsutil.Prettify(s)
 29324  }
 29325  
 29326  // GoString returns the string representation.
 29327  //
 29328  // API parameter values that are decorated as "sensitive" in the API will not
 29329  // be included in the string output. The member name will be present, but the
 29330  // value will be replaced with "sensitive".
 29331  func (s GetContainerServiceMetricDataOutput) GoString() string {
 29332  	return s.String()
 29333  }
 29334  
 29335  // SetMetricData sets the MetricData field's value.
 29336  func (s *GetContainerServiceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetContainerServiceMetricDataOutput {
 29337  	s.MetricData = v
 29338  	return s
 29339  }
 29340  
 29341  // SetMetricName sets the MetricName field's value.
 29342  func (s *GetContainerServiceMetricDataOutput) SetMetricName(v string) *GetContainerServiceMetricDataOutput {
 29343  	s.MetricName = &v
 29344  	return s
 29345  }
 29346  
 29347  type GetContainerServicePowersInput struct {
 29348  	_ struct{} `type:"structure"`
 29349  }
 29350  
 29351  // String returns the string representation.
 29352  //
 29353  // API parameter values that are decorated as "sensitive" in the API will not
 29354  // be included in the string output. The member name will be present, but the
 29355  // value will be replaced with "sensitive".
 29356  func (s GetContainerServicePowersInput) String() string {
 29357  	return awsutil.Prettify(s)
 29358  }
 29359  
 29360  // GoString returns the string representation.
 29361  //
 29362  // API parameter values that are decorated as "sensitive" in the API will not
 29363  // be included in the string output. The member name will be present, but the
 29364  // value will be replaced with "sensitive".
 29365  func (s GetContainerServicePowersInput) GoString() string {
 29366  	return s.String()
 29367  }
 29368  
 29369  type GetContainerServicePowersOutput struct {
 29370  	_ struct{} `type:"structure"`
 29371  
 29372  	// An array of objects that describe the powers that can be specified for a
 29373  	// container service.
 29374  	Powers []*ContainerServicePower `locationName:"powers" type:"list"`
 29375  }
 29376  
 29377  // String returns the string representation.
 29378  //
 29379  // API parameter values that are decorated as "sensitive" in the API will not
 29380  // be included in the string output. The member name will be present, but the
 29381  // value will be replaced with "sensitive".
 29382  func (s GetContainerServicePowersOutput) String() string {
 29383  	return awsutil.Prettify(s)
 29384  }
 29385  
 29386  // GoString returns the string representation.
 29387  //
 29388  // API parameter values that are decorated as "sensitive" in the API will not
 29389  // be included in the string output. The member name will be present, but the
 29390  // value will be replaced with "sensitive".
 29391  func (s GetContainerServicePowersOutput) GoString() string {
 29392  	return s.String()
 29393  }
 29394  
 29395  // SetPowers sets the Powers field's value.
 29396  func (s *GetContainerServicePowersOutput) SetPowers(v []*ContainerServicePower) *GetContainerServicePowersOutput {
 29397  	s.Powers = v
 29398  	return s
 29399  }
 29400  
 29401  type GetContainerServicesInput struct {
 29402  	_ struct{} `type:"structure"`
 29403  
 29404  	// The name of the container service for which to return information.
 29405  	//
 29406  	// When omitted, the response includes all of your container services in the
 29407  	// AWS Region where the request is made.
 29408  	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
 29409  }
 29410  
 29411  // String returns the string representation.
 29412  //
 29413  // API parameter values that are decorated as "sensitive" in the API will not
 29414  // be included in the string output. The member name will be present, but the
 29415  // value will be replaced with "sensitive".
 29416  func (s GetContainerServicesInput) String() string {
 29417  	return awsutil.Prettify(s)
 29418  }
 29419  
 29420  // GoString returns the string representation.
 29421  //
 29422  // API parameter values that are decorated as "sensitive" in the API will not
 29423  // be included in the string output. The member name will be present, but the
 29424  // value will be replaced with "sensitive".
 29425  func (s GetContainerServicesInput) GoString() string {
 29426  	return s.String()
 29427  }
 29428  
 29429  // Validate inspects the fields of the type to determine if they are valid.
 29430  func (s *GetContainerServicesInput) Validate() error {
 29431  	invalidParams := request.ErrInvalidParams{Context: "GetContainerServicesInput"}
 29432  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 29433  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 29434  	}
 29435  
 29436  	if invalidParams.Len() > 0 {
 29437  		return invalidParams
 29438  	}
 29439  	return nil
 29440  }
 29441  
 29442  // SetServiceName sets the ServiceName field's value.
 29443  func (s *GetContainerServicesInput) SetServiceName(v string) *GetContainerServicesInput {
 29444  	s.ServiceName = &v
 29445  	return s
 29446  }
 29447  
 29448  type GetContainerServicesOutput struct {
 29449  	_ struct{} `type:"structure"`
 29450  
 29451  	// An array of objects that describe one or more container services.
 29452  	ContainerServices []*ContainerService `locationName:"containerServices" type:"list"`
 29453  }
 29454  
 29455  // String returns the string representation.
 29456  //
 29457  // API parameter values that are decorated as "sensitive" in the API will not
 29458  // be included in the string output. The member name will be present, but the
 29459  // value will be replaced with "sensitive".
 29460  func (s GetContainerServicesOutput) String() string {
 29461  	return awsutil.Prettify(s)
 29462  }
 29463  
 29464  // GoString returns the string representation.
 29465  //
 29466  // API parameter values that are decorated as "sensitive" in the API will not
 29467  // be included in the string output. The member name will be present, but the
 29468  // value will be replaced with "sensitive".
 29469  func (s GetContainerServicesOutput) GoString() string {
 29470  	return s.String()
 29471  }
 29472  
 29473  // SetContainerServices sets the ContainerServices field's value.
 29474  func (s *GetContainerServicesOutput) SetContainerServices(v []*ContainerService) *GetContainerServicesOutput {
 29475  	s.ContainerServices = v
 29476  	return s
 29477  }
 29478  
 29479  type GetDiskInput struct {
 29480  	_ struct{} `type:"structure"`
 29481  
 29482  	// The name of the disk (e.g., my-disk).
 29483  	//
 29484  	// DiskName is a required field
 29485  	DiskName *string `locationName:"diskName" type:"string" required:"true"`
 29486  }
 29487  
 29488  // String returns the string representation.
 29489  //
 29490  // API parameter values that are decorated as "sensitive" in the API will not
 29491  // be included in the string output. The member name will be present, but the
 29492  // value will be replaced with "sensitive".
 29493  func (s GetDiskInput) String() string {
 29494  	return awsutil.Prettify(s)
 29495  }
 29496  
 29497  // GoString returns the string representation.
 29498  //
 29499  // API parameter values that are decorated as "sensitive" in the API will not
 29500  // be included in the string output. The member name will be present, but the
 29501  // value will be replaced with "sensitive".
 29502  func (s GetDiskInput) GoString() string {
 29503  	return s.String()
 29504  }
 29505  
 29506  // Validate inspects the fields of the type to determine if they are valid.
 29507  func (s *GetDiskInput) Validate() error {
 29508  	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
 29509  	if s.DiskName == nil {
 29510  		invalidParams.Add(request.NewErrParamRequired("DiskName"))
 29511  	}
 29512  
 29513  	if invalidParams.Len() > 0 {
 29514  		return invalidParams
 29515  	}
 29516  	return nil
 29517  }
 29518  
 29519  // SetDiskName sets the DiskName field's value.
 29520  func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
 29521  	s.DiskName = &v
 29522  	return s
 29523  }
 29524  
 29525  type GetDiskOutput struct {
 29526  	_ struct{} `type:"structure"`
 29527  
 29528  	// An object containing information about the disk.
 29529  	Disk *Disk `locationName:"disk" type:"structure"`
 29530  }
 29531  
 29532  // String returns the string representation.
 29533  //
 29534  // API parameter values that are decorated as "sensitive" in the API will not
 29535  // be included in the string output. The member name will be present, but the
 29536  // value will be replaced with "sensitive".
 29537  func (s GetDiskOutput) String() string {
 29538  	return awsutil.Prettify(s)
 29539  }
 29540  
 29541  // GoString returns the string representation.
 29542  //
 29543  // API parameter values that are decorated as "sensitive" in the API will not
 29544  // be included in the string output. The member name will be present, but the
 29545  // value will be replaced with "sensitive".
 29546  func (s GetDiskOutput) GoString() string {
 29547  	return s.String()
 29548  }
 29549  
 29550  // SetDisk sets the Disk field's value.
 29551  func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
 29552  	s.Disk = v
 29553  	return s
 29554  }
 29555  
 29556  type GetDiskSnapshotInput struct {
 29557  	_ struct{} `type:"structure"`
 29558  
 29559  	// The name of the disk snapshot (e.g., my-disk-snapshot).
 29560  	//
 29561  	// DiskSnapshotName is a required field
 29562  	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
 29563  }
 29564  
 29565  // String returns the string representation.
 29566  //
 29567  // API parameter values that are decorated as "sensitive" in the API will not
 29568  // be included in the string output. The member name will be present, but the
 29569  // value will be replaced with "sensitive".
 29570  func (s GetDiskSnapshotInput) String() string {
 29571  	return awsutil.Prettify(s)
 29572  }
 29573  
 29574  // GoString returns the string representation.
 29575  //
 29576  // API parameter values that are decorated as "sensitive" in the API will not
 29577  // be included in the string output. The member name will be present, but the
 29578  // value will be replaced with "sensitive".
 29579  func (s GetDiskSnapshotInput) GoString() string {
 29580  	return s.String()
 29581  }
 29582  
 29583  // Validate inspects the fields of the type to determine if they are valid.
 29584  func (s *GetDiskSnapshotInput) Validate() error {
 29585  	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
 29586  	if s.DiskSnapshotName == nil {
 29587  		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
 29588  	}
 29589  
 29590  	if invalidParams.Len() > 0 {
 29591  		return invalidParams
 29592  	}
 29593  	return nil
 29594  }
 29595  
 29596  // SetDiskSnapshotName sets the DiskSnapshotName field's value.
 29597  func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
 29598  	s.DiskSnapshotName = &v
 29599  	return s
 29600  }
 29601  
 29602  type GetDiskSnapshotOutput struct {
 29603  	_ struct{} `type:"structure"`
 29604  
 29605  	// An object containing information about the disk snapshot.
 29606  	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
 29607  }
 29608  
 29609  // String returns the string representation.
 29610  //
 29611  // API parameter values that are decorated as "sensitive" in the API will not
 29612  // be included in the string output. The member name will be present, but the
 29613  // value will be replaced with "sensitive".
 29614  func (s GetDiskSnapshotOutput) String() string {
 29615  	return awsutil.Prettify(s)
 29616  }
 29617  
 29618  // GoString returns the string representation.
 29619  //
 29620  // API parameter values that are decorated as "sensitive" in the API will not
 29621  // be included in the string output. The member name will be present, but the
 29622  // value will be replaced with "sensitive".
 29623  func (s GetDiskSnapshotOutput) GoString() string {
 29624  	return s.String()
 29625  }
 29626  
 29627  // SetDiskSnapshot sets the DiskSnapshot field's value.
 29628  func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
 29629  	s.DiskSnapshot = v
 29630  	return s
 29631  }
 29632  
 29633  type GetDiskSnapshotsInput struct {
 29634  	_ struct{} `type:"structure"`
 29635  
 29636  	// The token to advance to the next page of results from your request.
 29637  	//
 29638  	// To get a page token, perform an initial GetDiskSnapshots request. If your
 29639  	// results are paginated, the response will return a next page token that you
 29640  	// can specify as the page token in a subsequent request.
 29641  	PageToken *string `locationName:"pageToken" type:"string"`
 29642  }
 29643  
 29644  // String returns the string representation.
 29645  //
 29646  // API parameter values that are decorated as "sensitive" in the API will not
 29647  // be included in the string output. The member name will be present, but the
 29648  // value will be replaced with "sensitive".
 29649  func (s GetDiskSnapshotsInput) String() string {
 29650  	return awsutil.Prettify(s)
 29651  }
 29652  
 29653  // GoString returns the string representation.
 29654  //
 29655  // API parameter values that are decorated as "sensitive" in the API will not
 29656  // be included in the string output. The member name will be present, but the
 29657  // value will be replaced with "sensitive".
 29658  func (s GetDiskSnapshotsInput) GoString() string {
 29659  	return s.String()
 29660  }
 29661  
 29662  // SetPageToken sets the PageToken field's value.
 29663  func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
 29664  	s.PageToken = &v
 29665  	return s
 29666  }
 29667  
 29668  type GetDiskSnapshotsOutput struct {
 29669  	_ struct{} `type:"structure"`
 29670  
 29671  	// An array of objects containing information about all block storage disk snapshots.
 29672  	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
 29673  
 29674  	// The token to advance to the next page of results from your request.
 29675  	//
 29676  	// A next page token is not returned if there are no more results to display.
 29677  	//
 29678  	// To get the next page of results, perform another GetDiskSnapshots request
 29679  	// and specify the next page token using the pageToken parameter.
 29680  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 29681  }
 29682  
 29683  // String returns the string representation.
 29684  //
 29685  // API parameter values that are decorated as "sensitive" in the API will not
 29686  // be included in the string output. The member name will be present, but the
 29687  // value will be replaced with "sensitive".
 29688  func (s GetDiskSnapshotsOutput) String() string {
 29689  	return awsutil.Prettify(s)
 29690  }
 29691  
 29692  // GoString returns the string representation.
 29693  //
 29694  // API parameter values that are decorated as "sensitive" in the API will not
 29695  // be included in the string output. The member name will be present, but the
 29696  // value will be replaced with "sensitive".
 29697  func (s GetDiskSnapshotsOutput) GoString() string {
 29698  	return s.String()
 29699  }
 29700  
 29701  // SetDiskSnapshots sets the DiskSnapshots field's value.
 29702  func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
 29703  	s.DiskSnapshots = v
 29704  	return s
 29705  }
 29706  
 29707  // SetNextPageToken sets the NextPageToken field's value.
 29708  func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
 29709  	s.NextPageToken = &v
 29710  	return s
 29711  }
 29712  
 29713  type GetDisksInput struct {
 29714  	_ struct{} `type:"structure"`
 29715  
 29716  	// The token to advance to the next page of results from your request.
 29717  	//
 29718  	// To get a page token, perform an initial GetDisks request. If your results
 29719  	// are paginated, the response will return a next page token that you can specify
 29720  	// as the page token in a subsequent request.
 29721  	PageToken *string `locationName:"pageToken" type:"string"`
 29722  }
 29723  
 29724  // String returns the string representation.
 29725  //
 29726  // API parameter values that are decorated as "sensitive" in the API will not
 29727  // be included in the string output. The member name will be present, but the
 29728  // value will be replaced with "sensitive".
 29729  func (s GetDisksInput) String() string {
 29730  	return awsutil.Prettify(s)
 29731  }
 29732  
 29733  // GoString returns the string representation.
 29734  //
 29735  // API parameter values that are decorated as "sensitive" in the API will not
 29736  // be included in the string output. The member name will be present, but the
 29737  // value will be replaced with "sensitive".
 29738  func (s GetDisksInput) GoString() string {
 29739  	return s.String()
 29740  }
 29741  
 29742  // SetPageToken sets the PageToken field's value.
 29743  func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
 29744  	s.PageToken = &v
 29745  	return s
 29746  }
 29747  
 29748  type GetDisksOutput struct {
 29749  	_ struct{} `type:"structure"`
 29750  
 29751  	// An array of objects containing information about all block storage disks.
 29752  	Disks []*Disk `locationName:"disks" type:"list"`
 29753  
 29754  	// The token to advance to the next page of results from your request.
 29755  	//
 29756  	// A next page token is not returned if there are no more results to display.
 29757  	//
 29758  	// To get the next page of results, perform another GetDisks request and specify
 29759  	// the next page token using the pageToken parameter.
 29760  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 29761  }
 29762  
 29763  // String returns the string representation.
 29764  //
 29765  // API parameter values that are decorated as "sensitive" in the API will not
 29766  // be included in the string output. The member name will be present, but the
 29767  // value will be replaced with "sensitive".
 29768  func (s GetDisksOutput) String() string {
 29769  	return awsutil.Prettify(s)
 29770  }
 29771  
 29772  // GoString returns the string representation.
 29773  //
 29774  // API parameter values that are decorated as "sensitive" in the API will not
 29775  // be included in the string output. The member name will be present, but the
 29776  // value will be replaced with "sensitive".
 29777  func (s GetDisksOutput) GoString() string {
 29778  	return s.String()
 29779  }
 29780  
 29781  // SetDisks sets the Disks field's value.
 29782  func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
 29783  	s.Disks = v
 29784  	return s
 29785  }
 29786  
 29787  // SetNextPageToken sets the NextPageToken field's value.
 29788  func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
 29789  	s.NextPageToken = &v
 29790  	return s
 29791  }
 29792  
 29793  type GetDistributionBundlesInput struct {
 29794  	_ struct{} `type:"structure"`
 29795  }
 29796  
 29797  // String returns the string representation.
 29798  //
 29799  // API parameter values that are decorated as "sensitive" in the API will not
 29800  // be included in the string output. The member name will be present, but the
 29801  // value will be replaced with "sensitive".
 29802  func (s GetDistributionBundlesInput) String() string {
 29803  	return awsutil.Prettify(s)
 29804  }
 29805  
 29806  // GoString returns the string representation.
 29807  //
 29808  // API parameter values that are decorated as "sensitive" in the API will not
 29809  // be included in the string output. The member name will be present, but the
 29810  // value will be replaced with "sensitive".
 29811  func (s GetDistributionBundlesInput) GoString() string {
 29812  	return s.String()
 29813  }
 29814  
 29815  type GetDistributionBundlesOutput struct {
 29816  	_ struct{} `type:"structure"`
 29817  
 29818  	// An object that describes a distribution bundle.
 29819  	Bundles []*DistributionBundle `locationName:"bundles" type:"list"`
 29820  }
 29821  
 29822  // String returns the string representation.
 29823  //
 29824  // API parameter values that are decorated as "sensitive" in the API will not
 29825  // be included in the string output. The member name will be present, but the
 29826  // value will be replaced with "sensitive".
 29827  func (s GetDistributionBundlesOutput) String() string {
 29828  	return awsutil.Prettify(s)
 29829  }
 29830  
 29831  // GoString returns the string representation.
 29832  //
 29833  // API parameter values that are decorated as "sensitive" in the API will not
 29834  // be included in the string output. The member name will be present, but the
 29835  // value will be replaced with "sensitive".
 29836  func (s GetDistributionBundlesOutput) GoString() string {
 29837  	return s.String()
 29838  }
 29839  
 29840  // SetBundles sets the Bundles field's value.
 29841  func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput {
 29842  	s.Bundles = v
 29843  	return s
 29844  }
 29845  
 29846  type GetDistributionLatestCacheResetInput struct {
 29847  	_ struct{} `type:"structure"`
 29848  
 29849  	// The name of the distribution for which to return the timestamp of the last
 29850  	// cache reset.
 29851  	//
 29852  	// Use the GetDistributions action to get a list of distribution names that
 29853  	// you can specify.
 29854  	//
 29855  	// When omitted, the response includes the latest cache reset timestamp of all
 29856  	// your distributions.
 29857  	DistributionName *string `locationName:"distributionName" type:"string"`
 29858  }
 29859  
 29860  // String returns the string representation.
 29861  //
 29862  // API parameter values that are decorated as "sensitive" in the API will not
 29863  // be included in the string output. The member name will be present, but the
 29864  // value will be replaced with "sensitive".
 29865  func (s GetDistributionLatestCacheResetInput) String() string {
 29866  	return awsutil.Prettify(s)
 29867  }
 29868  
 29869  // GoString returns the string representation.
 29870  //
 29871  // API parameter values that are decorated as "sensitive" in the API will not
 29872  // be included in the string output. The member name will be present, but the
 29873  // value will be replaced with "sensitive".
 29874  func (s GetDistributionLatestCacheResetInput) GoString() string {
 29875  	return s.String()
 29876  }
 29877  
 29878  // SetDistributionName sets the DistributionName field's value.
 29879  func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput {
 29880  	s.DistributionName = &v
 29881  	return s
 29882  }
 29883  
 29884  type GetDistributionLatestCacheResetOutput struct {
 29885  	_ struct{} `type:"structure"`
 29886  
 29887  	// The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time
 29888  	// format.
 29889  	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
 29890  
 29891  	// The status of the last cache reset.
 29892  	Status *string `locationName:"status" type:"string"`
 29893  }
 29894  
 29895  // String returns the string representation.
 29896  //
 29897  // API parameter values that are decorated as "sensitive" in the API will not
 29898  // be included in the string output. The member name will be present, but the
 29899  // value will be replaced with "sensitive".
 29900  func (s GetDistributionLatestCacheResetOutput) String() string {
 29901  	return awsutil.Prettify(s)
 29902  }
 29903  
 29904  // GoString returns the string representation.
 29905  //
 29906  // API parameter values that are decorated as "sensitive" in the API will not
 29907  // be included in the string output. The member name will be present, but the
 29908  // value will be replaced with "sensitive".
 29909  func (s GetDistributionLatestCacheResetOutput) GoString() string {
 29910  	return s.String()
 29911  }
 29912  
 29913  // SetCreateTime sets the CreateTime field's value.
 29914  func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput {
 29915  	s.CreateTime = &v
 29916  	return s
 29917  }
 29918  
 29919  // SetStatus sets the Status field's value.
 29920  func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput {
 29921  	s.Status = &v
 29922  	return s
 29923  }
 29924  
 29925  type GetDistributionMetricDataInput struct {
 29926  	_ struct{} `type:"structure"`
 29927  
 29928  	// The name of the distribution for which to get metric data.
 29929  	//
 29930  	// Use the GetDistributions action to get a list of distribution names that
 29931  	// you can specify.
 29932  	//
 29933  	// DistributionName is a required field
 29934  	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
 29935  
 29936  	// The end of the time interval for which to get metric data.
 29937  	//
 29938  	// Constraints:
 29939  	//
 29940  	//    * Specified in Coordinated Universal Time (UTC).
 29941  	//
 29942  	//    * Specified in the Unix time format. For example, if you wish to use an
 29943  	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
 29944  	//    time.
 29945  	//
 29946  	// You can convert a human-friendly time to Unix time format using a converter
 29947  	// like Epoch converter (https://www.epochconverter.com/).
 29948  	//
 29949  	// EndTime is a required field
 29950  	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
 29951  
 29952  	// The metric for which you want to return information.
 29953  	//
 29954  	// Valid distribution metric names are listed below, along with the most useful
 29955  	// statistics to include in your request, and the published unit value.
 29956  	//
 29957  	//    * Requests - The total number of viewer requests received by your Lightsail
 29958  	//    distribution, for all HTTP methods, and for both HTTP and HTTPS requests.
 29959  	//    Statistics: The most useful statistic is Sum. Unit: The published unit
 29960  	//    is None.
 29961  	//
 29962  	//    * BytesDownloaded - The number of bytes downloaded by viewers for GET,
 29963  	//    HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum.
 29964  	//    Unit: The published unit is None.
 29965  	//
 29966  	//    * BytesUploaded - The number of bytes uploaded to your origin by your
 29967  	//    Lightsail distribution, using POST and PUT requests. Statistics: The most
 29968  	//    useful statistic is Sum. Unit: The published unit is None.
 29969  	//
 29970  	//    * TotalErrorRate - The percentage of all viewer requests for which the
 29971  	//    response's HTTP status code was 4xx or 5xx. Statistics: The most useful
 29972  	//    statistic is Average. Unit: The published unit is Percent.
 29973  	//
 29974  	//    * 4xxErrorRate - The percentage of all viewer requests for which the response's
 29975  	//    HTTP status cod was 4xx. In these cases, the client or client viewer may
 29976  	//    have made an error. For example, a status code of 404 (Not Found) means
 29977  	//    that the client requested an object that could not be found. Statistics:
 29978  	//    The most useful statistic is Average. Unit: The published unit is Percent.
 29979  	//
 29980  	//    * 5xxErrorRate - The percentage of all viewer requests for which the response's
 29981  	//    HTTP status code was 5xx. In these cases, the origin server did not satisfy
 29982  	//    the requests. For example, a status code of 503 (Service Unavailable)
 29983  	//    means that the origin server is currently unavailable. Statistics: The
 29984  	//    most useful statistic is Average. Unit: The published unit is Percent.
 29985  	//
 29986  	// MetricName is a required field
 29987  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"`
 29988  
 29989  	// The granularity, in seconds, for the metric data points that will be returned.
 29990  	//
 29991  	// Period is a required field
 29992  	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
 29993  
 29994  	// The start of the time interval for which to get metric data.
 29995  	//
 29996  	// Constraints:
 29997  	//
 29998  	//    * Specified in Coordinated Universal Time (UTC).
 29999  	//
 30000  	//    * Specified in the Unix time format. For example, if you wish to use a
 30001  	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
 30002  	//    start time.
 30003  	//
 30004  	// You can convert a human-friendly time to Unix time format using a converter
 30005  	// like Epoch converter (https://www.epochconverter.com/).
 30006  	//
 30007  	// StartTime is a required field
 30008  	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
 30009  
 30010  	// The statistic for the metric.
 30011  	//
 30012  	// The following statistics are available:
 30013  	//
 30014  	//    * Minimum - The lowest value observed during the specified period. Use
 30015  	//    this value to determine low volumes of activity for your application.
 30016  	//
 30017  	//    * Maximum - The highest value observed during the specified period. Use
 30018  	//    this value to determine high volumes of activity for your application.
 30019  	//
 30020  	//    * Sum - All values submitted for the matching metric added together. You
 30021  	//    can use this statistic to determine the total volume of a metric.
 30022  	//
 30023  	//    * Average - The value of Sum / SampleCount during the specified period.
 30024  	//    By comparing this statistic with the Minimum and Maximum values, you can
 30025  	//    determine the full scope of a metric and how close the average use is
 30026  	//    to the Minimum and Maximum values. This comparison helps you to know when
 30027  	//    to increase or decrease your resources.
 30028  	//
 30029  	//    * SampleCount - The count, or number, of data points used for the statistical
 30030  	//    calculation.
 30031  	//
 30032  	// Statistics is a required field
 30033  	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
 30034  
 30035  	// The unit for the metric data request.
 30036  	//
 30037  	// Valid units depend on the metric data being requested. For the valid units
 30038  	// with each available metric, see the metricName parameter.
 30039  	//
 30040  	// Unit is a required field
 30041  	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
 30042  }
 30043  
 30044  // String returns the string representation.
 30045  //
 30046  // API parameter values that are decorated as "sensitive" in the API will not
 30047  // be included in the string output. The member name will be present, but the
 30048  // value will be replaced with "sensitive".
 30049  func (s GetDistributionMetricDataInput) String() string {
 30050  	return awsutil.Prettify(s)
 30051  }
 30052  
 30053  // GoString returns the string representation.
 30054  //
 30055  // API parameter values that are decorated as "sensitive" in the API will not
 30056  // be included in the string output. The member name will be present, but the
 30057  // value will be replaced with "sensitive".
 30058  func (s GetDistributionMetricDataInput) GoString() string {
 30059  	return s.String()
 30060  }
 30061  
 30062  // Validate inspects the fields of the type to determine if they are valid.
 30063  func (s *GetDistributionMetricDataInput) Validate() error {
 30064  	invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"}
 30065  	if s.DistributionName == nil {
 30066  		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
 30067  	}
 30068  	if s.EndTime == nil {
 30069  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 30070  	}
 30071  	if s.MetricName == nil {
 30072  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 30073  	}
 30074  	if s.Period == nil {
 30075  		invalidParams.Add(request.NewErrParamRequired("Period"))
 30076  	}
 30077  	if s.Period != nil && *s.Period < 60 {
 30078  		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
 30079  	}
 30080  	if s.StartTime == nil {
 30081  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 30082  	}
 30083  	if s.Statistics == nil {
 30084  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
 30085  	}
 30086  	if s.Unit == nil {
 30087  		invalidParams.Add(request.NewErrParamRequired("Unit"))
 30088  	}
 30089  
 30090  	if invalidParams.Len() > 0 {
 30091  		return invalidParams
 30092  	}
 30093  	return nil
 30094  }
 30095  
 30096  // SetDistributionName sets the DistributionName field's value.
 30097  func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput {
 30098  	s.DistributionName = &v
 30099  	return s
 30100  }
 30101  
 30102  // SetEndTime sets the EndTime field's value.
 30103  func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput {
 30104  	s.EndTime = &v
 30105  	return s
 30106  }
 30107  
 30108  // SetMetricName sets the MetricName field's value.
 30109  func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput {
 30110  	s.MetricName = &v
 30111  	return s
 30112  }
 30113  
 30114  // SetPeriod sets the Period field's value.
 30115  func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput {
 30116  	s.Period = &v
 30117  	return s
 30118  }
 30119  
 30120  // SetStartTime sets the StartTime field's value.
 30121  func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput {
 30122  	s.StartTime = &v
 30123  	return s
 30124  }
 30125  
 30126  // SetStatistics sets the Statistics field's value.
 30127  func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput {
 30128  	s.Statistics = v
 30129  	return s
 30130  }
 30131  
 30132  // SetUnit sets the Unit field's value.
 30133  func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput {
 30134  	s.Unit = &v
 30135  	return s
 30136  }
 30137  
 30138  type GetDistributionMetricDataOutput struct {
 30139  	_ struct{} `type:"structure"`
 30140  
 30141  	// An array of objects that describe the metric data returned.
 30142  	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
 30143  
 30144  	// The name of the metric returned.
 30145  	MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"`
 30146  }
 30147  
 30148  // String returns the string representation.
 30149  //
 30150  // API parameter values that are decorated as "sensitive" in the API will not
 30151  // be included in the string output. The member name will be present, but the
 30152  // value will be replaced with "sensitive".
 30153  func (s GetDistributionMetricDataOutput) String() string {
 30154  	return awsutil.Prettify(s)
 30155  }
 30156  
 30157  // GoString returns the string representation.
 30158  //
 30159  // API parameter values that are decorated as "sensitive" in the API will not
 30160  // be included in the string output. The member name will be present, but the
 30161  // value will be replaced with "sensitive".
 30162  func (s GetDistributionMetricDataOutput) GoString() string {
 30163  	return s.String()
 30164  }
 30165  
 30166  // SetMetricData sets the MetricData field's value.
 30167  func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput {
 30168  	s.MetricData = v
 30169  	return s
 30170  }
 30171  
 30172  // SetMetricName sets the MetricName field's value.
 30173  func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput {
 30174  	s.MetricName = &v
 30175  	return s
 30176  }
 30177  
 30178  type GetDistributionsInput struct {
 30179  	_ struct{} `type:"structure"`
 30180  
 30181  	// The name of the distribution for which to return information.
 30182  	//
 30183  	// When omitted, the response includes all of your distributions in the AWS
 30184  	// Region where the request is made.
 30185  	DistributionName *string `locationName:"distributionName" type:"string"`
 30186  
 30187  	// The token to advance to the next page of results from your request.
 30188  	//
 30189  	// To get a page token, perform an initial GetDistributions request. If your
 30190  	// results are paginated, the response will return a next page token that you
 30191  	// can specify as the page token in a subsequent request.
 30192  	PageToken *string `locationName:"pageToken" type:"string"`
 30193  }
 30194  
 30195  // String returns the string representation.
 30196  //
 30197  // API parameter values that are decorated as "sensitive" in the API will not
 30198  // be included in the string output. The member name will be present, but the
 30199  // value will be replaced with "sensitive".
 30200  func (s GetDistributionsInput) String() string {
 30201  	return awsutil.Prettify(s)
 30202  }
 30203  
 30204  // GoString returns the string representation.
 30205  //
 30206  // API parameter values that are decorated as "sensitive" in the API will not
 30207  // be included in the string output. The member name will be present, but the
 30208  // value will be replaced with "sensitive".
 30209  func (s GetDistributionsInput) GoString() string {
 30210  	return s.String()
 30211  }
 30212  
 30213  // SetDistributionName sets the DistributionName field's value.
 30214  func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput {
 30215  	s.DistributionName = &v
 30216  	return s
 30217  }
 30218  
 30219  // SetPageToken sets the PageToken field's value.
 30220  func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput {
 30221  	s.PageToken = &v
 30222  	return s
 30223  }
 30224  
 30225  type GetDistributionsOutput struct {
 30226  	_ struct{} `type:"structure"`
 30227  
 30228  	// An array of objects that describe your distributions.
 30229  	Distributions []*LightsailDistribution `locationName:"distributions" type:"list"`
 30230  
 30231  	// The token to advance to the next page of results from your request.
 30232  	//
 30233  	// A next page token is not returned if there are no more results to display.
 30234  	//
 30235  	// To get the next page of results, perform another GetDistributions request
 30236  	// and specify the next page token using the pageToken parameter.
 30237  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 30238  }
 30239  
 30240  // String returns the string representation.
 30241  //
 30242  // API parameter values that are decorated as "sensitive" in the API will not
 30243  // be included in the string output. The member name will be present, but the
 30244  // value will be replaced with "sensitive".
 30245  func (s GetDistributionsOutput) String() string {
 30246  	return awsutil.Prettify(s)
 30247  }
 30248  
 30249  // GoString returns the string representation.
 30250  //
 30251  // API parameter values that are decorated as "sensitive" in the API will not
 30252  // be included in the string output. The member name will be present, but the
 30253  // value will be replaced with "sensitive".
 30254  func (s GetDistributionsOutput) GoString() string {
 30255  	return s.String()
 30256  }
 30257  
 30258  // SetDistributions sets the Distributions field's value.
 30259  func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput {
 30260  	s.Distributions = v
 30261  	return s
 30262  }
 30263  
 30264  // SetNextPageToken sets the NextPageToken field's value.
 30265  func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput {
 30266  	s.NextPageToken = &v
 30267  	return s
 30268  }
 30269  
 30270  type GetDomainInput struct {
 30271  	_ struct{} `type:"structure"`
 30272  
 30273  	// The domain name for which your want to return information about.
 30274  	//
 30275  	// DomainName is a required field
 30276  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 30277  }
 30278  
 30279  // String returns the string representation.
 30280  //
 30281  // API parameter values that are decorated as "sensitive" in the API will not
 30282  // be included in the string output. The member name will be present, but the
 30283  // value will be replaced with "sensitive".
 30284  func (s GetDomainInput) String() string {
 30285  	return awsutil.Prettify(s)
 30286  }
 30287  
 30288  // GoString returns the string representation.
 30289  //
 30290  // API parameter values that are decorated as "sensitive" in the API will not
 30291  // be included in the string output. The member name will be present, but the
 30292  // value will be replaced with "sensitive".
 30293  func (s GetDomainInput) GoString() string {
 30294  	return s.String()
 30295  }
 30296  
 30297  // Validate inspects the fields of the type to determine if they are valid.
 30298  func (s *GetDomainInput) Validate() error {
 30299  	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
 30300  	if s.DomainName == nil {
 30301  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 30302  	}
 30303  
 30304  	if invalidParams.Len() > 0 {
 30305  		return invalidParams
 30306  	}
 30307  	return nil
 30308  }
 30309  
 30310  // SetDomainName sets the DomainName field's value.
 30311  func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
 30312  	s.DomainName = &v
 30313  	return s
 30314  }
 30315  
 30316  type GetDomainOutput struct {
 30317  	_ struct{} `type:"structure"`
 30318  
 30319  	// An array of key-value pairs containing information about your get domain
 30320  	// request.
 30321  	Domain *Domain `locationName:"domain" type:"structure"`
 30322  }
 30323  
 30324  // String returns the string representation.
 30325  //
 30326  // API parameter values that are decorated as "sensitive" in the API will not
 30327  // be included in the string output. The member name will be present, but the
 30328  // value will be replaced with "sensitive".
 30329  func (s GetDomainOutput) String() string {
 30330  	return awsutil.Prettify(s)
 30331  }
 30332  
 30333  // GoString returns the string representation.
 30334  //
 30335  // API parameter values that are decorated as "sensitive" in the API will not
 30336  // be included in the string output. The member name will be present, but the
 30337  // value will be replaced with "sensitive".
 30338  func (s GetDomainOutput) GoString() string {
 30339  	return s.String()
 30340  }
 30341  
 30342  // SetDomain sets the Domain field's value.
 30343  func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
 30344  	s.Domain = v
 30345  	return s
 30346  }
 30347  
 30348  type GetDomainsInput struct {
 30349  	_ struct{} `type:"structure"`
 30350  
 30351  	// The token to advance to the next page of results from your request.
 30352  	//
 30353  	// To get a page token, perform an initial GetDomains request. If your results
 30354  	// are paginated, the response will return a next page token that you can specify
 30355  	// as the page token in a subsequent request.
 30356  	PageToken *string `locationName:"pageToken" type:"string"`
 30357  }
 30358  
 30359  // String returns the string representation.
 30360  //
 30361  // API parameter values that are decorated as "sensitive" in the API will not
 30362  // be included in the string output. The member name will be present, but the
 30363  // value will be replaced with "sensitive".
 30364  func (s GetDomainsInput) String() string {
 30365  	return awsutil.Prettify(s)
 30366  }
 30367  
 30368  // GoString returns the string representation.
 30369  //
 30370  // API parameter values that are decorated as "sensitive" in the API will not
 30371  // be included in the string output. The member name will be present, but the
 30372  // value will be replaced with "sensitive".
 30373  func (s GetDomainsInput) GoString() string {
 30374  	return s.String()
 30375  }
 30376  
 30377  // SetPageToken sets the PageToken field's value.
 30378  func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
 30379  	s.PageToken = &v
 30380  	return s
 30381  }
 30382  
 30383  type GetDomainsOutput struct {
 30384  	_ struct{} `type:"structure"`
 30385  
 30386  	// An array of key-value pairs containing information about each of the domain
 30387  	// entries in the user's account.
 30388  	Domains []*Domain `locationName:"domains" type:"list"`
 30389  
 30390  	// The token to advance to the next page of results from your request.
 30391  	//
 30392  	// A next page token is not returned if there are no more results to display.
 30393  	//
 30394  	// To get the next page of results, perform another GetDomains request and specify
 30395  	// the next page token using the pageToken parameter.
 30396  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 30397  }
 30398  
 30399  // String returns the string representation.
 30400  //
 30401  // API parameter values that are decorated as "sensitive" in the API will not
 30402  // be included in the string output. The member name will be present, but the
 30403  // value will be replaced with "sensitive".
 30404  func (s GetDomainsOutput) String() string {
 30405  	return awsutil.Prettify(s)
 30406  }
 30407  
 30408  // GoString returns the string representation.
 30409  //
 30410  // API parameter values that are decorated as "sensitive" in the API will not
 30411  // be included in the string output. The member name will be present, but the
 30412  // value will be replaced with "sensitive".
 30413  func (s GetDomainsOutput) GoString() string {
 30414  	return s.String()
 30415  }
 30416  
 30417  // SetDomains sets the Domains field's value.
 30418  func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
 30419  	s.Domains = v
 30420  	return s
 30421  }
 30422  
 30423  // SetNextPageToken sets the NextPageToken field's value.
 30424  func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
 30425  	s.NextPageToken = &v
 30426  	return s
 30427  }
 30428  
 30429  type GetExportSnapshotRecordsInput struct {
 30430  	_ struct{} `type:"structure"`
 30431  
 30432  	// The token to advance to the next page of results from your request.
 30433  	//
 30434  	// To get a page token, perform an initial GetExportSnapshotRecords request.
 30435  	// If your results are paginated, the response will return a next page token
 30436  	// that you can specify as the page token in a subsequent request.
 30437  	PageToken *string `locationName:"pageToken" type:"string"`
 30438  }
 30439  
 30440  // String returns the string representation.
 30441  //
 30442  // API parameter values that are decorated as "sensitive" in the API will not
 30443  // be included in the string output. The member name will be present, but the
 30444  // value will be replaced with "sensitive".
 30445  func (s GetExportSnapshotRecordsInput) String() string {
 30446  	return awsutil.Prettify(s)
 30447  }
 30448  
 30449  // GoString returns the string representation.
 30450  //
 30451  // API parameter values that are decorated as "sensitive" in the API will not
 30452  // be included in the string output. The member name will be present, but the
 30453  // value will be replaced with "sensitive".
 30454  func (s GetExportSnapshotRecordsInput) GoString() string {
 30455  	return s.String()
 30456  }
 30457  
 30458  // SetPageToken sets the PageToken field's value.
 30459  func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
 30460  	s.PageToken = &v
 30461  	return s
 30462  }
 30463  
 30464  type GetExportSnapshotRecordsOutput struct {
 30465  	_ struct{} `type:"structure"`
 30466  
 30467  	// A list of objects describing the export snapshot records.
 30468  	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
 30469  
 30470  	// The token to advance to the next page of results from your request.
 30471  	//
 30472  	// A next page token is not returned if there are no more results to display.
 30473  	//
 30474  	// To get the next page of results, perform another GetExportSnapshotRecords
 30475  	// request and specify the next page token using the pageToken parameter.
 30476  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 30477  }
 30478  
 30479  // String returns the string representation.
 30480  //
 30481  // API parameter values that are decorated as "sensitive" in the API will not
 30482  // be included in the string output. The member name will be present, but the
 30483  // value will be replaced with "sensitive".
 30484  func (s GetExportSnapshotRecordsOutput) String() string {
 30485  	return awsutil.Prettify(s)
 30486  }
 30487  
 30488  // GoString returns the string representation.
 30489  //
 30490  // API parameter values that are decorated as "sensitive" in the API will not
 30491  // be included in the string output. The member name will be present, but the
 30492  // value will be replaced with "sensitive".
 30493  func (s GetExportSnapshotRecordsOutput) GoString() string {
 30494  	return s.String()
 30495  }
 30496  
 30497  // SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
 30498  func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
 30499  	s.ExportSnapshotRecords = v
 30500  	return s
 30501  }
 30502  
 30503  // SetNextPageToken sets the NextPageToken field's value.
 30504  func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
 30505  	s.NextPageToken = &v
 30506  	return s
 30507  }
 30508  
 30509  type GetInstanceAccessDetailsInput struct {
 30510  	_ struct{} `type:"structure"`
 30511  
 30512  	// The name of the instance to access.
 30513  	//
 30514  	// InstanceName is a required field
 30515  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 30516  
 30517  	// The protocol to use to connect to your instance. Defaults to ssh.
 30518  	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
 30519  }
 30520  
 30521  // String returns the string representation.
 30522  //
 30523  // API parameter values that are decorated as "sensitive" in the API will not
 30524  // be included in the string output. The member name will be present, but the
 30525  // value will be replaced with "sensitive".
 30526  func (s GetInstanceAccessDetailsInput) String() string {
 30527  	return awsutil.Prettify(s)
 30528  }
 30529  
 30530  // GoString returns the string representation.
 30531  //
 30532  // API parameter values that are decorated as "sensitive" in the API will not
 30533  // be included in the string output. The member name will be present, but the
 30534  // value will be replaced with "sensitive".
 30535  func (s GetInstanceAccessDetailsInput) GoString() string {
 30536  	return s.String()
 30537  }
 30538  
 30539  // Validate inspects the fields of the type to determine if they are valid.
 30540  func (s *GetInstanceAccessDetailsInput) Validate() error {
 30541  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
 30542  	if s.InstanceName == nil {
 30543  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 30544  	}
 30545  
 30546  	if invalidParams.Len() > 0 {
 30547  		return invalidParams
 30548  	}
 30549  	return nil
 30550  }
 30551  
 30552  // SetInstanceName sets the InstanceName field's value.
 30553  func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
 30554  	s.InstanceName = &v
 30555  	return s
 30556  }
 30557  
 30558  // SetProtocol sets the Protocol field's value.
 30559  func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
 30560  	s.Protocol = &v
 30561  	return s
 30562  }
 30563  
 30564  type GetInstanceAccessDetailsOutput struct {
 30565  	_ struct{} `type:"structure"`
 30566  
 30567  	// An array of key-value pairs containing information about a get instance access
 30568  	// request.
 30569  	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
 30570  }
 30571  
 30572  // String returns the string representation.
 30573  //
 30574  // API parameter values that are decorated as "sensitive" in the API will not
 30575  // be included in the string output. The member name will be present, but the
 30576  // value will be replaced with "sensitive".
 30577  func (s GetInstanceAccessDetailsOutput) String() string {
 30578  	return awsutil.Prettify(s)
 30579  }
 30580  
 30581  // GoString returns the string representation.
 30582  //
 30583  // API parameter values that are decorated as "sensitive" in the API will not
 30584  // be included in the string output. The member name will be present, but the
 30585  // value will be replaced with "sensitive".
 30586  func (s GetInstanceAccessDetailsOutput) GoString() string {
 30587  	return s.String()
 30588  }
 30589  
 30590  // SetAccessDetails sets the AccessDetails field's value.
 30591  func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
 30592  	s.AccessDetails = v
 30593  	return s
 30594  }
 30595  
 30596  type GetInstanceInput struct {
 30597  	_ struct{} `type:"structure"`
 30598  
 30599  	// The name of the instance.
 30600  	//
 30601  	// InstanceName is a required field
 30602  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 30603  }
 30604  
 30605  // String returns the string representation.
 30606  //
 30607  // API parameter values that are decorated as "sensitive" in the API will not
 30608  // be included in the string output. The member name will be present, but the
 30609  // value will be replaced with "sensitive".
 30610  func (s GetInstanceInput) String() string {
 30611  	return awsutil.Prettify(s)
 30612  }
 30613  
 30614  // GoString returns the string representation.
 30615  //
 30616  // API parameter values that are decorated as "sensitive" in the API will not
 30617  // be included in the string output. The member name will be present, but the
 30618  // value will be replaced with "sensitive".
 30619  func (s GetInstanceInput) GoString() string {
 30620  	return s.String()
 30621  }
 30622  
 30623  // Validate inspects the fields of the type to determine if they are valid.
 30624  func (s *GetInstanceInput) Validate() error {
 30625  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
 30626  	if s.InstanceName == nil {
 30627  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 30628  	}
 30629  
 30630  	if invalidParams.Len() > 0 {
 30631  		return invalidParams
 30632  	}
 30633  	return nil
 30634  }
 30635  
 30636  // SetInstanceName sets the InstanceName field's value.
 30637  func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
 30638  	s.InstanceName = &v
 30639  	return s
 30640  }
 30641  
 30642  type GetInstanceMetricDataInput struct {
 30643  	_ struct{} `type:"structure"`
 30644  
 30645  	// The end time of the time period.
 30646  	//
 30647  	// EndTime is a required field
 30648  	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
 30649  
 30650  	// The name of the instance for which you want to get metrics data.
 30651  	//
 30652  	// InstanceName is a required field
 30653  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 30654  
 30655  	// The metric for which you want to return information.
 30656  	//
 30657  	// Valid instance metric names are listed below, along with the most useful
 30658  	// statistics to include in your request, and the published unit value.
 30659  	//
 30660  	//    * BurstCapacityPercentage - The percentage of CPU performance available
 30661  	//    for your instance to burst above its baseline. Your instance continuously
 30662  	//    accrues and consumes burst capacity. Burst capacity stops accruing when
 30663  	//    your instance's BurstCapacityPercentage reaches 100%. For more information,
 30664  	//    see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
 30665  	//    Statistics: The most useful statistics are Maximum and Average. Unit:
 30666  	//    The published unit is Percent.
 30667  	//
 30668  	//    * BurstCapacityTime - The available amount of time for your instance to
 30669  	//    burst at 100% CPU utilization. Your instance continuously accrues and
 30670  	//    consumes burst capacity. Burst capacity time stops accruing when your
 30671  	//    instance's BurstCapacityPercentage metric reaches 100%. Burst capacity
 30672  	//    time is consumed at the full rate only when your instance operates at
 30673  	//    100% CPU utilization. For example, if your instance operates at 50% CPU
 30674  	//    utilization in the burstable zone for a 5-minute period, then it consumes
 30675  	//    CPU burst capacity minutes at a 50% rate in that period. Your instance
 30676  	//    consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the
 30677  	//    5-minute period. For more information, see Viewing instance burst capacity
 30678  	//    in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
 30679  	//    Statistics: The most useful statistics are Maximum and Average. Unit:
 30680  	//    The published unit is Seconds.
 30681  	//
 30682  	//    * CPUUtilization - The percentage of allocated compute units that are
 30683  	//    currently in use on the instance. This metric identifies the processing
 30684  	//    power to run the applications on the instance. Tools in your operating
 30685  	//    system can show a lower percentage than Lightsail when the instance is
 30686  	//    not allocated a full processor core. Statistics: The most useful statistics
 30687  	//    are Maximum and Average. Unit: The published unit is Percent.
 30688  	//
 30689  	//    * NetworkIn - The number of bytes received on all network interfaces by
 30690  	//    the instance. This metric identifies the volume of incoming network traffic
 30691  	//    to the instance. The number reported is the number of bytes received during
 30692  	//    the period. Because this metric is reported in 5-minute intervals, divide
 30693  	//    the reported number by 300 to find Bytes/second. Statistics: The most
 30694  	//    useful statistic is Sum. Unit: The published unit is Bytes.
 30695  	//
 30696  	//    * NetworkOut - The number of bytes sent out on all network interfaces
 30697  	//    by the instance. This metric identifies the volume of outgoing network
 30698  	//    traffic from the instance. The number reported is the number of bytes
 30699  	//    sent during the period. Because this metric is reported in 5-minute intervals,
 30700  	//    divide the reported number by 300 to find Bytes/second. Statistics: The
 30701  	//    most useful statistic is Sum. Unit: The published unit is Bytes.
 30702  	//
 30703  	//    * StatusCheckFailed - Reports whether the instance passed or failed both
 30704  	//    the instance status check and the system status check. This metric can
 30705  	//    be either 0 (passed) or 1 (failed). This metric data is available in 1-minute
 30706  	//    (60 seconds) granularity. Statistics: The most useful statistic is Sum.
 30707  	//    Unit: The published unit is Count.
 30708  	//
 30709  	//    * StatusCheckFailed_Instance - Reports whether the instance passed or
 30710  	//    failed the instance status check. This metric can be either 0 (passed)
 30711  	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
 30712  	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
 30713  	//    unit is Count.
 30714  	//
 30715  	//    * StatusCheckFailed_System - Reports whether the instance passed or failed
 30716  	//    the system status check. This metric can be either 0 (passed) or 1 (failed).
 30717  	//    This metric data is available in 1-minute (60 seconds) granularity. Statistics:
 30718  	//    The most useful statistic is Sum. Unit: The published unit is Count.
 30719  	//
 30720  	// MetricName is a required field
 30721  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
 30722  
 30723  	// The granularity, in seconds, of the returned data points.
 30724  	//
 30725  	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
 30726  	// instance metric data is available in 1-minute (60 seconds) granularity. All
 30727  	// other instance metric data is available in 5-minute (300 seconds) granularity.
 30728  	//
 30729  	// Period is a required field
 30730  	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
 30731  
 30732  	// The start time of the time period.
 30733  	//
 30734  	// StartTime is a required field
 30735  	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
 30736  
 30737  	// The statistic for the metric.
 30738  	//
 30739  	// The following statistics are available:
 30740  	//
 30741  	//    * Minimum - The lowest value observed during the specified period. Use
 30742  	//    this value to determine low volumes of activity for your application.
 30743  	//
 30744  	//    * Maximum - The highest value observed during the specified period. Use
 30745  	//    this value to determine high volumes of activity for your application.
 30746  	//
 30747  	//    * Sum - All values submitted for the matching metric added together. You
 30748  	//    can use this statistic to determine the total volume of a metric.
 30749  	//
 30750  	//    * Average - The value of Sum / SampleCount during the specified period.
 30751  	//    By comparing this statistic with the Minimum and Maximum values, you can
 30752  	//    determine the full scope of a metric and how close the average use is
 30753  	//    to the Minimum and Maximum values. This comparison helps you to know when
 30754  	//    to increase or decrease your resources.
 30755  	//
 30756  	//    * SampleCount - The count, or number, of data points used for the statistical
 30757  	//    calculation.
 30758  	//
 30759  	// Statistics is a required field
 30760  	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
 30761  
 30762  	// The unit for the metric data request. Valid units depend on the metric data
 30763  	// being requested. For the valid units to specify with each available metric,
 30764  	// see the metricName parameter.
 30765  	//
 30766  	// Unit is a required field
 30767  	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
 30768  }
 30769  
 30770  // String returns the string representation.
 30771  //
 30772  // API parameter values that are decorated as "sensitive" in the API will not
 30773  // be included in the string output. The member name will be present, but the
 30774  // value will be replaced with "sensitive".
 30775  func (s GetInstanceMetricDataInput) String() string {
 30776  	return awsutil.Prettify(s)
 30777  }
 30778  
 30779  // GoString returns the string representation.
 30780  //
 30781  // API parameter values that are decorated as "sensitive" in the API will not
 30782  // be included in the string output. The member name will be present, but the
 30783  // value will be replaced with "sensitive".
 30784  func (s GetInstanceMetricDataInput) GoString() string {
 30785  	return s.String()
 30786  }
 30787  
 30788  // Validate inspects the fields of the type to determine if they are valid.
 30789  func (s *GetInstanceMetricDataInput) Validate() error {
 30790  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
 30791  	if s.EndTime == nil {
 30792  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 30793  	}
 30794  	if s.InstanceName == nil {
 30795  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 30796  	}
 30797  	if s.MetricName == nil {
 30798  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 30799  	}
 30800  	if s.Period == nil {
 30801  		invalidParams.Add(request.NewErrParamRequired("Period"))
 30802  	}
 30803  	if s.Period != nil && *s.Period < 60 {
 30804  		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
 30805  	}
 30806  	if s.StartTime == nil {
 30807  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 30808  	}
 30809  	if s.Statistics == nil {
 30810  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
 30811  	}
 30812  	if s.Unit == nil {
 30813  		invalidParams.Add(request.NewErrParamRequired("Unit"))
 30814  	}
 30815  
 30816  	if invalidParams.Len() > 0 {
 30817  		return invalidParams
 30818  	}
 30819  	return nil
 30820  }
 30821  
 30822  // SetEndTime sets the EndTime field's value.
 30823  func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
 30824  	s.EndTime = &v
 30825  	return s
 30826  }
 30827  
 30828  // SetInstanceName sets the InstanceName field's value.
 30829  func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
 30830  	s.InstanceName = &v
 30831  	return s
 30832  }
 30833  
 30834  // SetMetricName sets the MetricName field's value.
 30835  func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
 30836  	s.MetricName = &v
 30837  	return s
 30838  }
 30839  
 30840  // SetPeriod sets the Period field's value.
 30841  func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
 30842  	s.Period = &v
 30843  	return s
 30844  }
 30845  
 30846  // SetStartTime sets the StartTime field's value.
 30847  func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
 30848  	s.StartTime = &v
 30849  	return s
 30850  }
 30851  
 30852  // SetStatistics sets the Statistics field's value.
 30853  func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
 30854  	s.Statistics = v
 30855  	return s
 30856  }
 30857  
 30858  // SetUnit sets the Unit field's value.
 30859  func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
 30860  	s.Unit = &v
 30861  	return s
 30862  }
 30863  
 30864  type GetInstanceMetricDataOutput struct {
 30865  	_ struct{} `type:"structure"`
 30866  
 30867  	// An array of objects that describe the metric data returned.
 30868  	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
 30869  
 30870  	// The name of the metric returned.
 30871  	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
 30872  }
 30873  
 30874  // String returns the string representation.
 30875  //
 30876  // API parameter values that are decorated as "sensitive" in the API will not
 30877  // be included in the string output. The member name will be present, but the
 30878  // value will be replaced with "sensitive".
 30879  func (s GetInstanceMetricDataOutput) String() string {
 30880  	return awsutil.Prettify(s)
 30881  }
 30882  
 30883  // GoString returns the string representation.
 30884  //
 30885  // API parameter values that are decorated as "sensitive" in the API will not
 30886  // be included in the string output. The member name will be present, but the
 30887  // value will be replaced with "sensitive".
 30888  func (s GetInstanceMetricDataOutput) GoString() string {
 30889  	return s.String()
 30890  }
 30891  
 30892  // SetMetricData sets the MetricData field's value.
 30893  func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
 30894  	s.MetricData = v
 30895  	return s
 30896  }
 30897  
 30898  // SetMetricName sets the MetricName field's value.
 30899  func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
 30900  	s.MetricName = &v
 30901  	return s
 30902  }
 30903  
 30904  type GetInstanceOutput struct {
 30905  	_ struct{} `type:"structure"`
 30906  
 30907  	// An array of key-value pairs containing information about the specified instance.
 30908  	Instance *Instance `locationName:"instance" type:"structure"`
 30909  }
 30910  
 30911  // String returns the string representation.
 30912  //
 30913  // API parameter values that are decorated as "sensitive" in the API will not
 30914  // be included in the string output. The member name will be present, but the
 30915  // value will be replaced with "sensitive".
 30916  func (s GetInstanceOutput) String() string {
 30917  	return awsutil.Prettify(s)
 30918  }
 30919  
 30920  // GoString returns the string representation.
 30921  //
 30922  // API parameter values that are decorated as "sensitive" in the API will not
 30923  // be included in the string output. The member name will be present, but the
 30924  // value will be replaced with "sensitive".
 30925  func (s GetInstanceOutput) GoString() string {
 30926  	return s.String()
 30927  }
 30928  
 30929  // SetInstance sets the Instance field's value.
 30930  func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
 30931  	s.Instance = v
 30932  	return s
 30933  }
 30934  
 30935  type GetInstancePortStatesInput struct {
 30936  	_ struct{} `type:"structure"`
 30937  
 30938  	// The name of the instance for which to return firewall port states.
 30939  	//
 30940  	// InstanceName is a required field
 30941  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 30942  }
 30943  
 30944  // String returns the string representation.
 30945  //
 30946  // API parameter values that are decorated as "sensitive" in the API will not
 30947  // be included in the string output. The member name will be present, but the
 30948  // value will be replaced with "sensitive".
 30949  func (s GetInstancePortStatesInput) String() string {
 30950  	return awsutil.Prettify(s)
 30951  }
 30952  
 30953  // GoString returns the string representation.
 30954  //
 30955  // API parameter values that are decorated as "sensitive" in the API will not
 30956  // be included in the string output. The member name will be present, but the
 30957  // value will be replaced with "sensitive".
 30958  func (s GetInstancePortStatesInput) GoString() string {
 30959  	return s.String()
 30960  }
 30961  
 30962  // Validate inspects the fields of the type to determine if they are valid.
 30963  func (s *GetInstancePortStatesInput) Validate() error {
 30964  	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
 30965  	if s.InstanceName == nil {
 30966  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 30967  	}
 30968  
 30969  	if invalidParams.Len() > 0 {
 30970  		return invalidParams
 30971  	}
 30972  	return nil
 30973  }
 30974  
 30975  // SetInstanceName sets the InstanceName field's value.
 30976  func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
 30977  	s.InstanceName = &v
 30978  	return s
 30979  }
 30980  
 30981  type GetInstancePortStatesOutput struct {
 30982  	_ struct{} `type:"structure"`
 30983  
 30984  	// An array of objects that describe the firewall port states for the specified
 30985  	// instance.
 30986  	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
 30987  }
 30988  
 30989  // String returns the string representation.
 30990  //
 30991  // API parameter values that are decorated as "sensitive" in the API will not
 30992  // be included in the string output. The member name will be present, but the
 30993  // value will be replaced with "sensitive".
 30994  func (s GetInstancePortStatesOutput) String() string {
 30995  	return awsutil.Prettify(s)
 30996  }
 30997  
 30998  // GoString returns the string representation.
 30999  //
 31000  // API parameter values that are decorated as "sensitive" in the API will not
 31001  // be included in the string output. The member name will be present, but the
 31002  // value will be replaced with "sensitive".
 31003  func (s GetInstancePortStatesOutput) GoString() string {
 31004  	return s.String()
 31005  }
 31006  
 31007  // SetPortStates sets the PortStates field's value.
 31008  func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
 31009  	s.PortStates = v
 31010  	return s
 31011  }
 31012  
 31013  type GetInstanceSnapshotInput struct {
 31014  	_ struct{} `type:"structure"`
 31015  
 31016  	// The name of the snapshot for which you are requesting information.
 31017  	//
 31018  	// InstanceSnapshotName is a required field
 31019  	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
 31020  }
 31021  
 31022  // String returns the string representation.
 31023  //
 31024  // API parameter values that are decorated as "sensitive" in the API will not
 31025  // be included in the string output. The member name will be present, but the
 31026  // value will be replaced with "sensitive".
 31027  func (s GetInstanceSnapshotInput) String() string {
 31028  	return awsutil.Prettify(s)
 31029  }
 31030  
 31031  // GoString returns the string representation.
 31032  //
 31033  // API parameter values that are decorated as "sensitive" in the API will not
 31034  // be included in the string output. The member name will be present, but the
 31035  // value will be replaced with "sensitive".
 31036  func (s GetInstanceSnapshotInput) GoString() string {
 31037  	return s.String()
 31038  }
 31039  
 31040  // Validate inspects the fields of the type to determine if they are valid.
 31041  func (s *GetInstanceSnapshotInput) Validate() error {
 31042  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
 31043  	if s.InstanceSnapshotName == nil {
 31044  		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
 31045  	}
 31046  
 31047  	if invalidParams.Len() > 0 {
 31048  		return invalidParams
 31049  	}
 31050  	return nil
 31051  }
 31052  
 31053  // SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
 31054  func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
 31055  	s.InstanceSnapshotName = &v
 31056  	return s
 31057  }
 31058  
 31059  type GetInstanceSnapshotOutput struct {
 31060  	_ struct{} `type:"structure"`
 31061  
 31062  	// An array of key-value pairs containing information about the results of your
 31063  	// get instance snapshot request.
 31064  	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
 31065  }
 31066  
 31067  // String returns the string representation.
 31068  //
 31069  // API parameter values that are decorated as "sensitive" in the API will not
 31070  // be included in the string output. The member name will be present, but the
 31071  // value will be replaced with "sensitive".
 31072  func (s GetInstanceSnapshotOutput) String() string {
 31073  	return awsutil.Prettify(s)
 31074  }
 31075  
 31076  // GoString returns the string representation.
 31077  //
 31078  // API parameter values that are decorated as "sensitive" in the API will not
 31079  // be included in the string output. The member name will be present, but the
 31080  // value will be replaced with "sensitive".
 31081  func (s GetInstanceSnapshotOutput) GoString() string {
 31082  	return s.String()
 31083  }
 31084  
 31085  // SetInstanceSnapshot sets the InstanceSnapshot field's value.
 31086  func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
 31087  	s.InstanceSnapshot = v
 31088  	return s
 31089  }
 31090  
 31091  type GetInstanceSnapshotsInput struct {
 31092  	_ struct{} `type:"structure"`
 31093  
 31094  	// The token to advance to the next page of results from your request.
 31095  	//
 31096  	// To get a page token, perform an initial GetInstanceSnapshots request. If
 31097  	// your results are paginated, the response will return a next page token that
 31098  	// you can specify as the page token in a subsequent request.
 31099  	PageToken *string `locationName:"pageToken" type:"string"`
 31100  }
 31101  
 31102  // String returns the string representation.
 31103  //
 31104  // API parameter values that are decorated as "sensitive" in the API will not
 31105  // be included in the string output. The member name will be present, but the
 31106  // value will be replaced with "sensitive".
 31107  func (s GetInstanceSnapshotsInput) String() string {
 31108  	return awsutil.Prettify(s)
 31109  }
 31110  
 31111  // GoString returns the string representation.
 31112  //
 31113  // API parameter values that are decorated as "sensitive" in the API will not
 31114  // be included in the string output. The member name will be present, but the
 31115  // value will be replaced with "sensitive".
 31116  func (s GetInstanceSnapshotsInput) GoString() string {
 31117  	return s.String()
 31118  }
 31119  
 31120  // SetPageToken sets the PageToken field's value.
 31121  func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
 31122  	s.PageToken = &v
 31123  	return s
 31124  }
 31125  
 31126  type GetInstanceSnapshotsOutput struct {
 31127  	_ struct{} `type:"structure"`
 31128  
 31129  	// An array of key-value pairs containing information about the results of your
 31130  	// get instance snapshots request.
 31131  	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
 31132  
 31133  	// The token to advance to the next page of results from your request.
 31134  	//
 31135  	// A next page token is not returned if there are no more results to display.
 31136  	//
 31137  	// To get the next page of results, perform another GetInstanceSnapshots request
 31138  	// and specify the next page token using the pageToken parameter.
 31139  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 31140  }
 31141  
 31142  // String returns the string representation.
 31143  //
 31144  // API parameter values that are decorated as "sensitive" in the API will not
 31145  // be included in the string output. The member name will be present, but the
 31146  // value will be replaced with "sensitive".
 31147  func (s GetInstanceSnapshotsOutput) String() string {
 31148  	return awsutil.Prettify(s)
 31149  }
 31150  
 31151  // GoString returns the string representation.
 31152  //
 31153  // API parameter values that are decorated as "sensitive" in the API will not
 31154  // be included in the string output. The member name will be present, but the
 31155  // value will be replaced with "sensitive".
 31156  func (s GetInstanceSnapshotsOutput) GoString() string {
 31157  	return s.String()
 31158  }
 31159  
 31160  // SetInstanceSnapshots sets the InstanceSnapshots field's value.
 31161  func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
 31162  	s.InstanceSnapshots = v
 31163  	return s
 31164  }
 31165  
 31166  // SetNextPageToken sets the NextPageToken field's value.
 31167  func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
 31168  	s.NextPageToken = &v
 31169  	return s
 31170  }
 31171  
 31172  type GetInstanceStateInput struct {
 31173  	_ struct{} `type:"structure"`
 31174  
 31175  	// The name of the instance to get state information about.
 31176  	//
 31177  	// InstanceName is a required field
 31178  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 31179  }
 31180  
 31181  // String returns the string representation.
 31182  //
 31183  // API parameter values that are decorated as "sensitive" in the API will not
 31184  // be included in the string output. The member name will be present, but the
 31185  // value will be replaced with "sensitive".
 31186  func (s GetInstanceStateInput) String() string {
 31187  	return awsutil.Prettify(s)
 31188  }
 31189  
 31190  // GoString returns the string representation.
 31191  //
 31192  // API parameter values that are decorated as "sensitive" in the API will not
 31193  // be included in the string output. The member name will be present, but the
 31194  // value will be replaced with "sensitive".
 31195  func (s GetInstanceStateInput) GoString() string {
 31196  	return s.String()
 31197  }
 31198  
 31199  // Validate inspects the fields of the type to determine if they are valid.
 31200  func (s *GetInstanceStateInput) Validate() error {
 31201  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
 31202  	if s.InstanceName == nil {
 31203  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 31204  	}
 31205  
 31206  	if invalidParams.Len() > 0 {
 31207  		return invalidParams
 31208  	}
 31209  	return nil
 31210  }
 31211  
 31212  // SetInstanceName sets the InstanceName field's value.
 31213  func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
 31214  	s.InstanceName = &v
 31215  	return s
 31216  }
 31217  
 31218  type GetInstanceStateOutput struct {
 31219  	_ struct{} `type:"structure"`
 31220  
 31221  	// The state of the instance.
 31222  	State *InstanceState `locationName:"state" type:"structure"`
 31223  }
 31224  
 31225  // String returns the string representation.
 31226  //
 31227  // API parameter values that are decorated as "sensitive" in the API will not
 31228  // be included in the string output. The member name will be present, but the
 31229  // value will be replaced with "sensitive".
 31230  func (s GetInstanceStateOutput) String() string {
 31231  	return awsutil.Prettify(s)
 31232  }
 31233  
 31234  // GoString returns the string representation.
 31235  //
 31236  // API parameter values that are decorated as "sensitive" in the API will not
 31237  // be included in the string output. The member name will be present, but the
 31238  // value will be replaced with "sensitive".
 31239  func (s GetInstanceStateOutput) GoString() string {
 31240  	return s.String()
 31241  }
 31242  
 31243  // SetState sets the State field's value.
 31244  func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
 31245  	s.State = v
 31246  	return s
 31247  }
 31248  
 31249  type GetInstancesInput struct {
 31250  	_ struct{} `type:"structure"`
 31251  
 31252  	// The token to advance to the next page of results from your request.
 31253  	//
 31254  	// To get a page token, perform an initial GetInstances request. If your results
 31255  	// are paginated, the response will return a next page token that you can specify
 31256  	// as the page token in a subsequent request.
 31257  	PageToken *string `locationName:"pageToken" type:"string"`
 31258  }
 31259  
 31260  // String returns the string representation.
 31261  //
 31262  // API parameter values that are decorated as "sensitive" in the API will not
 31263  // be included in the string output. The member name will be present, but the
 31264  // value will be replaced with "sensitive".
 31265  func (s GetInstancesInput) String() string {
 31266  	return awsutil.Prettify(s)
 31267  }
 31268  
 31269  // GoString returns the string representation.
 31270  //
 31271  // API parameter values that are decorated as "sensitive" in the API will not
 31272  // be included in the string output. The member name will be present, but the
 31273  // value will be replaced with "sensitive".
 31274  func (s GetInstancesInput) GoString() string {
 31275  	return s.String()
 31276  }
 31277  
 31278  // SetPageToken sets the PageToken field's value.
 31279  func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
 31280  	s.PageToken = &v
 31281  	return s
 31282  }
 31283  
 31284  type GetInstancesOutput struct {
 31285  	_ struct{} `type:"structure"`
 31286  
 31287  	// An array of key-value pairs containing information about your instances.
 31288  	Instances []*Instance `locationName:"instances" type:"list"`
 31289  
 31290  	// The token to advance to the next page of results from your request.
 31291  	//
 31292  	// A next page token is not returned if there are no more results to display.
 31293  	//
 31294  	// To get the next page of results, perform another GetInstances request and
 31295  	// specify the next page token using the pageToken parameter.
 31296  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 31297  }
 31298  
 31299  // String returns the string representation.
 31300  //
 31301  // API parameter values that are decorated as "sensitive" in the API will not
 31302  // be included in the string output. The member name will be present, but the
 31303  // value will be replaced with "sensitive".
 31304  func (s GetInstancesOutput) String() string {
 31305  	return awsutil.Prettify(s)
 31306  }
 31307  
 31308  // GoString returns the string representation.
 31309  //
 31310  // API parameter values that are decorated as "sensitive" in the API will not
 31311  // be included in the string output. The member name will be present, but the
 31312  // value will be replaced with "sensitive".
 31313  func (s GetInstancesOutput) GoString() string {
 31314  	return s.String()
 31315  }
 31316  
 31317  // SetInstances sets the Instances field's value.
 31318  func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
 31319  	s.Instances = v
 31320  	return s
 31321  }
 31322  
 31323  // SetNextPageToken sets the NextPageToken field's value.
 31324  func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
 31325  	s.NextPageToken = &v
 31326  	return s
 31327  }
 31328  
 31329  type GetKeyPairInput struct {
 31330  	_ struct{} `type:"structure"`
 31331  
 31332  	// The name of the key pair for which you are requesting information.
 31333  	//
 31334  	// KeyPairName is a required field
 31335  	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
 31336  }
 31337  
 31338  // String returns the string representation.
 31339  //
 31340  // API parameter values that are decorated as "sensitive" in the API will not
 31341  // be included in the string output. The member name will be present, but the
 31342  // value will be replaced with "sensitive".
 31343  func (s GetKeyPairInput) String() string {
 31344  	return awsutil.Prettify(s)
 31345  }
 31346  
 31347  // GoString returns the string representation.
 31348  //
 31349  // API parameter values that are decorated as "sensitive" in the API will not
 31350  // be included in the string output. The member name will be present, but the
 31351  // value will be replaced with "sensitive".
 31352  func (s GetKeyPairInput) GoString() string {
 31353  	return s.String()
 31354  }
 31355  
 31356  // Validate inspects the fields of the type to determine if they are valid.
 31357  func (s *GetKeyPairInput) Validate() error {
 31358  	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
 31359  	if s.KeyPairName == nil {
 31360  		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
 31361  	}
 31362  
 31363  	if invalidParams.Len() > 0 {
 31364  		return invalidParams
 31365  	}
 31366  	return nil
 31367  }
 31368  
 31369  // SetKeyPairName sets the KeyPairName field's value.
 31370  func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
 31371  	s.KeyPairName = &v
 31372  	return s
 31373  }
 31374  
 31375  type GetKeyPairOutput struct {
 31376  	_ struct{} `type:"structure"`
 31377  
 31378  	// An array of key-value pairs containing information about the key pair.
 31379  	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
 31380  }
 31381  
 31382  // String returns the string representation.
 31383  //
 31384  // API parameter values that are decorated as "sensitive" in the API will not
 31385  // be included in the string output. The member name will be present, but the
 31386  // value will be replaced with "sensitive".
 31387  func (s GetKeyPairOutput) String() string {
 31388  	return awsutil.Prettify(s)
 31389  }
 31390  
 31391  // GoString returns the string representation.
 31392  //
 31393  // API parameter values that are decorated as "sensitive" in the API will not
 31394  // be included in the string output. The member name will be present, but the
 31395  // value will be replaced with "sensitive".
 31396  func (s GetKeyPairOutput) GoString() string {
 31397  	return s.String()
 31398  }
 31399  
 31400  // SetKeyPair sets the KeyPair field's value.
 31401  func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
 31402  	s.KeyPair = v
 31403  	return s
 31404  }
 31405  
 31406  type GetKeyPairsInput struct {
 31407  	_ struct{} `type:"structure"`
 31408  
 31409  	// The token to advance to the next page of results from your request.
 31410  	//
 31411  	// To get a page token, perform an initial GetKeyPairs request. If your results
 31412  	// are paginated, the response will return a next page token that you can specify
 31413  	// as the page token in a subsequent request.
 31414  	PageToken *string `locationName:"pageToken" type:"string"`
 31415  }
 31416  
 31417  // String returns the string representation.
 31418  //
 31419  // API parameter values that are decorated as "sensitive" in the API will not
 31420  // be included in the string output. The member name will be present, but the
 31421  // value will be replaced with "sensitive".
 31422  func (s GetKeyPairsInput) String() string {
 31423  	return awsutil.Prettify(s)
 31424  }
 31425  
 31426  // GoString returns the string representation.
 31427  //
 31428  // API parameter values that are decorated as "sensitive" in the API will not
 31429  // be included in the string output. The member name will be present, but the
 31430  // value will be replaced with "sensitive".
 31431  func (s GetKeyPairsInput) GoString() string {
 31432  	return s.String()
 31433  }
 31434  
 31435  // SetPageToken sets the PageToken field's value.
 31436  func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
 31437  	s.PageToken = &v
 31438  	return s
 31439  }
 31440  
 31441  type GetKeyPairsOutput struct {
 31442  	_ struct{} `type:"structure"`
 31443  
 31444  	// An array of key-value pairs containing information about the key pairs.
 31445  	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
 31446  
 31447  	// The token to advance to the next page of results from your request.
 31448  	//
 31449  	// A next page token is not returned if there are no more results to display.
 31450  	//
 31451  	// To get the next page of results, perform another GetKeyPairs request and
 31452  	// specify the next page token using the pageToken parameter.
 31453  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 31454  }
 31455  
 31456  // String returns the string representation.
 31457  //
 31458  // API parameter values that are decorated as "sensitive" in the API will not
 31459  // be included in the string output. The member name will be present, but the
 31460  // value will be replaced with "sensitive".
 31461  func (s GetKeyPairsOutput) String() string {
 31462  	return awsutil.Prettify(s)
 31463  }
 31464  
 31465  // GoString returns the string representation.
 31466  //
 31467  // API parameter values that are decorated as "sensitive" in the API will not
 31468  // be included in the string output. The member name will be present, but the
 31469  // value will be replaced with "sensitive".
 31470  func (s GetKeyPairsOutput) GoString() string {
 31471  	return s.String()
 31472  }
 31473  
 31474  // SetKeyPairs sets the KeyPairs field's value.
 31475  func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
 31476  	s.KeyPairs = v
 31477  	return s
 31478  }
 31479  
 31480  // SetNextPageToken sets the NextPageToken field's value.
 31481  func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
 31482  	s.NextPageToken = &v
 31483  	return s
 31484  }
 31485  
 31486  type GetLoadBalancerInput struct {
 31487  	_ struct{} `type:"structure"`
 31488  
 31489  	// The name of the load balancer.
 31490  	//
 31491  	// LoadBalancerName is a required field
 31492  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 31493  }
 31494  
 31495  // String returns the string representation.
 31496  //
 31497  // API parameter values that are decorated as "sensitive" in the API will not
 31498  // be included in the string output. The member name will be present, but the
 31499  // value will be replaced with "sensitive".
 31500  func (s GetLoadBalancerInput) String() string {
 31501  	return awsutil.Prettify(s)
 31502  }
 31503  
 31504  // GoString returns the string representation.
 31505  //
 31506  // API parameter values that are decorated as "sensitive" in the API will not
 31507  // be included in the string output. The member name will be present, but the
 31508  // value will be replaced with "sensitive".
 31509  func (s GetLoadBalancerInput) GoString() string {
 31510  	return s.String()
 31511  }
 31512  
 31513  // Validate inspects the fields of the type to determine if they are valid.
 31514  func (s *GetLoadBalancerInput) Validate() error {
 31515  	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
 31516  	if s.LoadBalancerName == nil {
 31517  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 31518  	}
 31519  
 31520  	if invalidParams.Len() > 0 {
 31521  		return invalidParams
 31522  	}
 31523  	return nil
 31524  }
 31525  
 31526  // SetLoadBalancerName sets the LoadBalancerName field's value.
 31527  func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
 31528  	s.LoadBalancerName = &v
 31529  	return s
 31530  }
 31531  
 31532  type GetLoadBalancerMetricDataInput struct {
 31533  	_ struct{} `type:"structure"`
 31534  
 31535  	// The end time of the period.
 31536  	//
 31537  	// EndTime is a required field
 31538  	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
 31539  
 31540  	// The name of the load balancer.
 31541  	//
 31542  	// LoadBalancerName is a required field
 31543  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 31544  
 31545  	// The metric for which you want to return information.
 31546  	//
 31547  	// Valid load balancer metric names are listed below, along with the most useful
 31548  	// statistics to include in your request, and the published unit value.
 31549  	//
 31550  	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
 31551  	//    by the client that did not establish a session with the load balancer
 31552  	//    due to a TLS error generated by the load balancer. Possible causes include
 31553  	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
 31554  	//    is Sum. Unit: The published unit is Count.
 31555  	//
 31556  	//    * HealthyHostCount - The number of target instances that are considered
 31557  	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
 31558  	//    Maximum. Unit: The published unit is Count.
 31559  	//
 31560  	//    * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes
 31561  	//    generated by the target instances. This does not include any response
 31562  	//    codes generated by the load balancer. Statistics: The most useful statistic
 31563  	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
 31564  	//    published unit is Count.
 31565  	//
 31566  	//    * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes
 31567  	//    generated by the target instances. This does not include any response
 31568  	//    codes generated by the load balancer. Statistics: The most useful statistic
 31569  	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
 31570  	//    published unit is Count.
 31571  	//
 31572  	//    * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes
 31573  	//    generated by the target instances. This does not include any response
 31574  	//    codes generated by the load balancer. Statistics: The most useful statistic
 31575  	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
 31576  	//    published unit is Count.
 31577  	//
 31578  	//    * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes
 31579  	//    generated by the target instances. This does not include any response
 31580  	//    codes generated by the load balancer. Statistics: The most useful statistic
 31581  	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
 31582  	//    published unit is Count.
 31583  	//
 31584  	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
 31585  	//    originated from the load balancer. Client errors are generated when requests
 31586  	//    are malformed or incomplete. These requests were not received by the target
 31587  	//    instance. This count does not include response codes generated by the
 31588  	//    target instances. Statistics: The most useful statistic is Sum. Note that
 31589  	//    Minimum, Maximum, and Average all return 1. Unit: The published unit is
 31590  	//    Count.
 31591  	//
 31592  	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
 31593  	//    originated from the load balancer. This does not include any response
 31594  	//    codes generated by the target instance. This metric is reported if there
 31595  	//    are no healthy instances attached to the load balancer, or if the request
 31596  	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
 31597  	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
 31598  	//    and Average all return 1. Unit: The published unit is Count.
 31599  	//
 31600  	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
 31601  	//    leaves the load balancer until a response from the target instance is
 31602  	//    received. Statistics: The most useful statistic is Average. Unit: The
 31603  	//    published unit is Seconds.
 31604  	//
 31605  	//    * RejectedConnectionCount - The number of connections that were rejected
 31606  	//    because the load balancer had reached its maximum number of connections.
 31607  	//    Statistics: The most useful statistic is Sum. Unit: The published unit
 31608  	//    is Count.
 31609  	//
 31610  	//    * RequestCount - The number of requests processed over IPv4. This count
 31611  	//    includes only the requests with a response generated by a target instance
 31612  	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
 31613  	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
 31614  	//    is Count.
 31615  	//
 31616  	//    * UnhealthyHostCount - The number of target instances that are considered
 31617  	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
 31618  	//    and Maximum. Unit: The published unit is Count.
 31619  	//
 31620  	// MetricName is a required field
 31621  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
 31622  
 31623  	// The granularity, in seconds, of the returned data points.
 31624  	//
 31625  	// Period is a required field
 31626  	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
 31627  
 31628  	// The start time of the period.
 31629  	//
 31630  	// StartTime is a required field
 31631  	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
 31632  
 31633  	// The statistic for the metric.
 31634  	//
 31635  	// The following statistics are available:
 31636  	//
 31637  	//    * Minimum - The lowest value observed during the specified period. Use
 31638  	//    this value to determine low volumes of activity for your application.
 31639  	//
 31640  	//    * Maximum - The highest value observed during the specified period. Use
 31641  	//    this value to determine high volumes of activity for your application.
 31642  	//
 31643  	//    * Sum - All values submitted for the matching metric added together. You
 31644  	//    can use this statistic to determine the total volume of a metric.
 31645  	//
 31646  	//    * Average - The value of Sum / SampleCount during the specified period.
 31647  	//    By comparing this statistic with the Minimum and Maximum values, you can
 31648  	//    determine the full scope of a metric and how close the average use is
 31649  	//    to the Minimum and Maximum values. This comparison helps you to know when
 31650  	//    to increase or decrease your resources.
 31651  	//
 31652  	//    * SampleCount - The count, or number, of data points used for the statistical
 31653  	//    calculation.
 31654  	//
 31655  	// Statistics is a required field
 31656  	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
 31657  
 31658  	// The unit for the metric data request. Valid units depend on the metric data
 31659  	// being requested. For the valid units with each available metric, see the
 31660  	// metricName parameter.
 31661  	//
 31662  	// Unit is a required field
 31663  	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
 31664  }
 31665  
 31666  // String returns the string representation.
 31667  //
 31668  // API parameter values that are decorated as "sensitive" in the API will not
 31669  // be included in the string output. The member name will be present, but the
 31670  // value will be replaced with "sensitive".
 31671  func (s GetLoadBalancerMetricDataInput) String() string {
 31672  	return awsutil.Prettify(s)
 31673  }
 31674  
 31675  // GoString returns the string representation.
 31676  //
 31677  // API parameter values that are decorated as "sensitive" in the API will not
 31678  // be included in the string output. The member name will be present, but the
 31679  // value will be replaced with "sensitive".
 31680  func (s GetLoadBalancerMetricDataInput) GoString() string {
 31681  	return s.String()
 31682  }
 31683  
 31684  // Validate inspects the fields of the type to determine if they are valid.
 31685  func (s *GetLoadBalancerMetricDataInput) Validate() error {
 31686  	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
 31687  	if s.EndTime == nil {
 31688  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 31689  	}
 31690  	if s.LoadBalancerName == nil {
 31691  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 31692  	}
 31693  	if s.MetricName == nil {
 31694  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 31695  	}
 31696  	if s.Period == nil {
 31697  		invalidParams.Add(request.NewErrParamRequired("Period"))
 31698  	}
 31699  	if s.Period != nil && *s.Period < 60 {
 31700  		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
 31701  	}
 31702  	if s.StartTime == nil {
 31703  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 31704  	}
 31705  	if s.Statistics == nil {
 31706  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
 31707  	}
 31708  	if s.Unit == nil {
 31709  		invalidParams.Add(request.NewErrParamRequired("Unit"))
 31710  	}
 31711  
 31712  	if invalidParams.Len() > 0 {
 31713  		return invalidParams
 31714  	}
 31715  	return nil
 31716  }
 31717  
 31718  // SetEndTime sets the EndTime field's value.
 31719  func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
 31720  	s.EndTime = &v
 31721  	return s
 31722  }
 31723  
 31724  // SetLoadBalancerName sets the LoadBalancerName field's value.
 31725  func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
 31726  	s.LoadBalancerName = &v
 31727  	return s
 31728  }
 31729  
 31730  // SetMetricName sets the MetricName field's value.
 31731  func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
 31732  	s.MetricName = &v
 31733  	return s
 31734  }
 31735  
 31736  // SetPeriod sets the Period field's value.
 31737  func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
 31738  	s.Period = &v
 31739  	return s
 31740  }
 31741  
 31742  // SetStartTime sets the StartTime field's value.
 31743  func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
 31744  	s.StartTime = &v
 31745  	return s
 31746  }
 31747  
 31748  // SetStatistics sets the Statistics field's value.
 31749  func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
 31750  	s.Statistics = v
 31751  	return s
 31752  }
 31753  
 31754  // SetUnit sets the Unit field's value.
 31755  func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
 31756  	s.Unit = &v
 31757  	return s
 31758  }
 31759  
 31760  type GetLoadBalancerMetricDataOutput struct {
 31761  	_ struct{} `type:"structure"`
 31762  
 31763  	// An array of objects that describe the metric data returned.
 31764  	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
 31765  
 31766  	// The name of the metric returned.
 31767  	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
 31768  }
 31769  
 31770  // String returns the string representation.
 31771  //
 31772  // API parameter values that are decorated as "sensitive" in the API will not
 31773  // be included in the string output. The member name will be present, but the
 31774  // value will be replaced with "sensitive".
 31775  func (s GetLoadBalancerMetricDataOutput) String() string {
 31776  	return awsutil.Prettify(s)
 31777  }
 31778  
 31779  // GoString returns the string representation.
 31780  //
 31781  // API parameter values that are decorated as "sensitive" in the API will not
 31782  // be included in the string output. The member name will be present, but the
 31783  // value will be replaced with "sensitive".
 31784  func (s GetLoadBalancerMetricDataOutput) GoString() string {
 31785  	return s.String()
 31786  }
 31787  
 31788  // SetMetricData sets the MetricData field's value.
 31789  func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
 31790  	s.MetricData = v
 31791  	return s
 31792  }
 31793  
 31794  // SetMetricName sets the MetricName field's value.
 31795  func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
 31796  	s.MetricName = &v
 31797  	return s
 31798  }
 31799  
 31800  type GetLoadBalancerOutput struct {
 31801  	_ struct{} `type:"structure"`
 31802  
 31803  	// An object containing information about your load balancer.
 31804  	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
 31805  }
 31806  
 31807  // String returns the string representation.
 31808  //
 31809  // API parameter values that are decorated as "sensitive" in the API will not
 31810  // be included in the string output. The member name will be present, but the
 31811  // value will be replaced with "sensitive".
 31812  func (s GetLoadBalancerOutput) String() string {
 31813  	return awsutil.Prettify(s)
 31814  }
 31815  
 31816  // GoString returns the string representation.
 31817  //
 31818  // API parameter values that are decorated as "sensitive" in the API will not
 31819  // be included in the string output. The member name will be present, but the
 31820  // value will be replaced with "sensitive".
 31821  func (s GetLoadBalancerOutput) GoString() string {
 31822  	return s.String()
 31823  }
 31824  
 31825  // SetLoadBalancer sets the LoadBalancer field's value.
 31826  func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
 31827  	s.LoadBalancer = v
 31828  	return s
 31829  }
 31830  
 31831  type GetLoadBalancerTlsCertificatesInput struct {
 31832  	_ struct{} `type:"structure"`
 31833  
 31834  	// The name of the load balancer you associated with your SSL/TLS certificate.
 31835  	//
 31836  	// LoadBalancerName is a required field
 31837  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 31838  }
 31839  
 31840  // String returns the string representation.
 31841  //
 31842  // API parameter values that are decorated as "sensitive" in the API will not
 31843  // be included in the string output. The member name will be present, but the
 31844  // value will be replaced with "sensitive".
 31845  func (s GetLoadBalancerTlsCertificatesInput) String() string {
 31846  	return awsutil.Prettify(s)
 31847  }
 31848  
 31849  // GoString returns the string representation.
 31850  //
 31851  // API parameter values that are decorated as "sensitive" in the API will not
 31852  // be included in the string output. The member name will be present, but the
 31853  // value will be replaced with "sensitive".
 31854  func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
 31855  	return s.String()
 31856  }
 31857  
 31858  // Validate inspects the fields of the type to determine if they are valid.
 31859  func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
 31860  	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
 31861  	if s.LoadBalancerName == nil {
 31862  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 31863  	}
 31864  
 31865  	if invalidParams.Len() > 0 {
 31866  		return invalidParams
 31867  	}
 31868  	return nil
 31869  }
 31870  
 31871  // SetLoadBalancerName sets the LoadBalancerName field's value.
 31872  func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
 31873  	s.LoadBalancerName = &v
 31874  	return s
 31875  }
 31876  
 31877  type GetLoadBalancerTlsCertificatesOutput struct {
 31878  	_ struct{} `type:"structure"`
 31879  
 31880  	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
 31881  	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
 31882  }
 31883  
 31884  // String returns the string representation.
 31885  //
 31886  // API parameter values that are decorated as "sensitive" in the API will not
 31887  // be included in the string output. The member name will be present, but the
 31888  // value will be replaced with "sensitive".
 31889  func (s GetLoadBalancerTlsCertificatesOutput) String() string {
 31890  	return awsutil.Prettify(s)
 31891  }
 31892  
 31893  // GoString returns the string representation.
 31894  //
 31895  // API parameter values that are decorated as "sensitive" in the API will not
 31896  // be included in the string output. The member name will be present, but the
 31897  // value will be replaced with "sensitive".
 31898  func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
 31899  	return s.String()
 31900  }
 31901  
 31902  // SetTlsCertificates sets the TlsCertificates field's value.
 31903  func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
 31904  	s.TlsCertificates = v
 31905  	return s
 31906  }
 31907  
 31908  type GetLoadBalancersInput struct {
 31909  	_ struct{} `type:"structure"`
 31910  
 31911  	// The token to advance to the next page of results from your request.
 31912  	//
 31913  	// To get a page token, perform an initial GetLoadBalancers request. If your
 31914  	// results are paginated, the response will return a next page token that you
 31915  	// can specify as the page token in a subsequent request.
 31916  	PageToken *string `locationName:"pageToken" type:"string"`
 31917  }
 31918  
 31919  // String returns the string representation.
 31920  //
 31921  // API parameter values that are decorated as "sensitive" in the API will not
 31922  // be included in the string output. The member name will be present, but the
 31923  // value will be replaced with "sensitive".
 31924  func (s GetLoadBalancersInput) String() string {
 31925  	return awsutil.Prettify(s)
 31926  }
 31927  
 31928  // GoString returns the string representation.
 31929  //
 31930  // API parameter values that are decorated as "sensitive" in the API will not
 31931  // be included in the string output. The member name will be present, but the
 31932  // value will be replaced with "sensitive".
 31933  func (s GetLoadBalancersInput) GoString() string {
 31934  	return s.String()
 31935  }
 31936  
 31937  // SetPageToken sets the PageToken field's value.
 31938  func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
 31939  	s.PageToken = &v
 31940  	return s
 31941  }
 31942  
 31943  type GetLoadBalancersOutput struct {
 31944  	_ struct{} `type:"structure"`
 31945  
 31946  	// An array of LoadBalancer objects describing your load balancers.
 31947  	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
 31948  
 31949  	// The token to advance to the next page of results from your request.
 31950  	//
 31951  	// A next page token is not returned if there are no more results to display.
 31952  	//
 31953  	// To get the next page of results, perform another GetLoadBalancers request
 31954  	// and specify the next page token using the pageToken parameter.
 31955  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 31956  }
 31957  
 31958  // String returns the string representation.
 31959  //
 31960  // API parameter values that are decorated as "sensitive" in the API will not
 31961  // be included in the string output. The member name will be present, but the
 31962  // value will be replaced with "sensitive".
 31963  func (s GetLoadBalancersOutput) String() string {
 31964  	return awsutil.Prettify(s)
 31965  }
 31966  
 31967  // GoString returns the string representation.
 31968  //
 31969  // API parameter values that are decorated as "sensitive" in the API will not
 31970  // be included in the string output. The member name will be present, but the
 31971  // value will be replaced with "sensitive".
 31972  func (s GetLoadBalancersOutput) GoString() string {
 31973  	return s.String()
 31974  }
 31975  
 31976  // SetLoadBalancers sets the LoadBalancers field's value.
 31977  func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
 31978  	s.LoadBalancers = v
 31979  	return s
 31980  }
 31981  
 31982  // SetNextPageToken sets the NextPageToken field's value.
 31983  func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
 31984  	s.NextPageToken = &v
 31985  	return s
 31986  }
 31987  
 31988  type GetOperationInput struct {
 31989  	_ struct{} `type:"structure"`
 31990  
 31991  	// A GUID used to identify the operation.
 31992  	//
 31993  	// OperationId is a required field
 31994  	OperationId *string `locationName:"operationId" type:"string" required:"true"`
 31995  }
 31996  
 31997  // String returns the string representation.
 31998  //
 31999  // API parameter values that are decorated as "sensitive" in the API will not
 32000  // be included in the string output. The member name will be present, but the
 32001  // value will be replaced with "sensitive".
 32002  func (s GetOperationInput) String() string {
 32003  	return awsutil.Prettify(s)
 32004  }
 32005  
 32006  // GoString returns the string representation.
 32007  //
 32008  // API parameter values that are decorated as "sensitive" in the API will not
 32009  // be included in the string output. The member name will be present, but the
 32010  // value will be replaced with "sensitive".
 32011  func (s GetOperationInput) GoString() string {
 32012  	return s.String()
 32013  }
 32014  
 32015  // Validate inspects the fields of the type to determine if they are valid.
 32016  func (s *GetOperationInput) Validate() error {
 32017  	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
 32018  	if s.OperationId == nil {
 32019  		invalidParams.Add(request.NewErrParamRequired("OperationId"))
 32020  	}
 32021  
 32022  	if invalidParams.Len() > 0 {
 32023  		return invalidParams
 32024  	}
 32025  	return nil
 32026  }
 32027  
 32028  // SetOperationId sets the OperationId field's value.
 32029  func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
 32030  	s.OperationId = &v
 32031  	return s
 32032  }
 32033  
 32034  type GetOperationOutput struct {
 32035  	_ struct{} `type:"structure"`
 32036  
 32037  	// An array of objects that describe the result of the action, such as the status
 32038  	// of the request, the timestamp of the request, and the resources affected
 32039  	// by the request.
 32040  	Operation *Operation `locationName:"operation" type:"structure"`
 32041  }
 32042  
 32043  // String returns the string representation.
 32044  //
 32045  // API parameter values that are decorated as "sensitive" in the API will not
 32046  // be included in the string output. The member name will be present, but the
 32047  // value will be replaced with "sensitive".
 32048  func (s GetOperationOutput) String() string {
 32049  	return awsutil.Prettify(s)
 32050  }
 32051  
 32052  // GoString returns the string representation.
 32053  //
 32054  // API parameter values that are decorated as "sensitive" in the API will not
 32055  // be included in the string output. The member name will be present, but the
 32056  // value will be replaced with "sensitive".
 32057  func (s GetOperationOutput) GoString() string {
 32058  	return s.String()
 32059  }
 32060  
 32061  // SetOperation sets the Operation field's value.
 32062  func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
 32063  	s.Operation = v
 32064  	return s
 32065  }
 32066  
 32067  type GetOperationsForResourceInput struct {
 32068  	_ struct{} `type:"structure"`
 32069  
 32070  	// The token to advance to the next page of results from your request.
 32071  	//
 32072  	// To get a page token, perform an initial GetOperationsForResource request.
 32073  	// If your results are paginated, the response will return a next page token
 32074  	// that you can specify as the page token in a subsequent request.
 32075  	PageToken *string `locationName:"pageToken" type:"string"`
 32076  
 32077  	// The name of the resource for which you are requesting information.
 32078  	//
 32079  	// ResourceName is a required field
 32080  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 32081  }
 32082  
 32083  // String returns the string representation.
 32084  //
 32085  // API parameter values that are decorated as "sensitive" in the API will not
 32086  // be included in the string output. The member name will be present, but the
 32087  // value will be replaced with "sensitive".
 32088  func (s GetOperationsForResourceInput) String() string {
 32089  	return awsutil.Prettify(s)
 32090  }
 32091  
 32092  // GoString returns the string representation.
 32093  //
 32094  // API parameter values that are decorated as "sensitive" in the API will not
 32095  // be included in the string output. The member name will be present, but the
 32096  // value will be replaced with "sensitive".
 32097  func (s GetOperationsForResourceInput) GoString() string {
 32098  	return s.String()
 32099  }
 32100  
 32101  // Validate inspects the fields of the type to determine if they are valid.
 32102  func (s *GetOperationsForResourceInput) Validate() error {
 32103  	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
 32104  	if s.ResourceName == nil {
 32105  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 32106  	}
 32107  
 32108  	if invalidParams.Len() > 0 {
 32109  		return invalidParams
 32110  	}
 32111  	return nil
 32112  }
 32113  
 32114  // SetPageToken sets the PageToken field's value.
 32115  func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
 32116  	s.PageToken = &v
 32117  	return s
 32118  }
 32119  
 32120  // SetResourceName sets the ResourceName field's value.
 32121  func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
 32122  	s.ResourceName = &v
 32123  	return s
 32124  }
 32125  
 32126  type GetOperationsForResourceOutput struct {
 32127  	_ struct{} `type:"structure"`
 32128  
 32129  	// (Deprecated) Returns the number of pages of results that remain.
 32130  	//
 32131  	// In releases prior to June 12, 2017, this parameter returned null by the API.
 32132  	// It is now deprecated, and the API returns the next page token parameter instead.
 32133  	//
 32134  	// Deprecated: NextPageCount has been deprecated
 32135  	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
 32136  
 32137  	// The token to advance to the next page of results from your request.
 32138  	//
 32139  	// A next page token is not returned if there are no more results to display.
 32140  	//
 32141  	// To get the next page of results, perform another GetOperationsForResource
 32142  	// request and specify the next page token using the pageToken parameter.
 32143  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 32144  
 32145  	// An array of objects that describe the result of the action, such as the status
 32146  	// of the request, the timestamp of the request, and the resources affected
 32147  	// by the request.
 32148  	Operations []*Operation `locationName:"operations" type:"list"`
 32149  }
 32150  
 32151  // String returns the string representation.
 32152  //
 32153  // API parameter values that are decorated as "sensitive" in the API will not
 32154  // be included in the string output. The member name will be present, but the
 32155  // value will be replaced with "sensitive".
 32156  func (s GetOperationsForResourceOutput) String() string {
 32157  	return awsutil.Prettify(s)
 32158  }
 32159  
 32160  // GoString returns the string representation.
 32161  //
 32162  // API parameter values that are decorated as "sensitive" in the API will not
 32163  // be included in the string output. The member name will be present, but the
 32164  // value will be replaced with "sensitive".
 32165  func (s GetOperationsForResourceOutput) GoString() string {
 32166  	return s.String()
 32167  }
 32168  
 32169  // SetNextPageCount sets the NextPageCount field's value.
 32170  func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
 32171  	s.NextPageCount = &v
 32172  	return s
 32173  }
 32174  
 32175  // SetNextPageToken sets the NextPageToken field's value.
 32176  func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
 32177  	s.NextPageToken = &v
 32178  	return s
 32179  }
 32180  
 32181  // SetOperations sets the Operations field's value.
 32182  func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
 32183  	s.Operations = v
 32184  	return s
 32185  }
 32186  
 32187  type GetOperationsInput struct {
 32188  	_ struct{} `type:"structure"`
 32189  
 32190  	// The token to advance to the next page of results from your request.
 32191  	//
 32192  	// To get a page token, perform an initial GetOperations request. If your results
 32193  	// are paginated, the response will return a next page token that you can specify
 32194  	// as the page token in a subsequent request.
 32195  	PageToken *string `locationName:"pageToken" type:"string"`
 32196  }
 32197  
 32198  // String returns the string representation.
 32199  //
 32200  // API parameter values that are decorated as "sensitive" in the API will not
 32201  // be included in the string output. The member name will be present, but the
 32202  // value will be replaced with "sensitive".
 32203  func (s GetOperationsInput) String() string {
 32204  	return awsutil.Prettify(s)
 32205  }
 32206  
 32207  // GoString returns the string representation.
 32208  //
 32209  // API parameter values that are decorated as "sensitive" in the API will not
 32210  // be included in the string output. The member name will be present, but the
 32211  // value will be replaced with "sensitive".
 32212  func (s GetOperationsInput) GoString() string {
 32213  	return s.String()
 32214  }
 32215  
 32216  // SetPageToken sets the PageToken field's value.
 32217  func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
 32218  	s.PageToken = &v
 32219  	return s
 32220  }
 32221  
 32222  type GetOperationsOutput struct {
 32223  	_ struct{} `type:"structure"`
 32224  
 32225  	// The token to advance to the next page of results from your request.
 32226  	//
 32227  	// A next page token is not returned if there are no more results to display.
 32228  	//
 32229  	// To get the next page of results, perform another GetOperations request and
 32230  	// specify the next page token using the pageToken parameter.
 32231  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 32232  
 32233  	// An array of objects that describe the result of the action, such as the status
 32234  	// of the request, the timestamp of the request, and the resources affected
 32235  	// by the request.
 32236  	Operations []*Operation `locationName:"operations" type:"list"`
 32237  }
 32238  
 32239  // String returns the string representation.
 32240  //
 32241  // API parameter values that are decorated as "sensitive" in the API will not
 32242  // be included in the string output. The member name will be present, but the
 32243  // value will be replaced with "sensitive".
 32244  func (s GetOperationsOutput) String() string {
 32245  	return awsutil.Prettify(s)
 32246  }
 32247  
 32248  // GoString returns the string representation.
 32249  //
 32250  // API parameter values that are decorated as "sensitive" in the API will not
 32251  // be included in the string output. The member name will be present, but the
 32252  // value will be replaced with "sensitive".
 32253  func (s GetOperationsOutput) GoString() string {
 32254  	return s.String()
 32255  }
 32256  
 32257  // SetNextPageToken sets the NextPageToken field's value.
 32258  func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
 32259  	s.NextPageToken = &v
 32260  	return s
 32261  }
 32262  
 32263  // SetOperations sets the Operations field's value.
 32264  func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
 32265  	s.Operations = v
 32266  	return s
 32267  }
 32268  
 32269  type GetRegionsInput struct {
 32270  	_ struct{} `type:"structure"`
 32271  
 32272  	// A Boolean value indicating whether to also include Availability Zones in
 32273  	// your get regions request. Availability Zones are indicated with a letter:
 32274  	// e.g., us-east-2a.
 32275  	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
 32276  
 32277  	// A Boolean value indicating whether to also include Availability Zones for
 32278  	// databases in your get regions request. Availability Zones are indicated with
 32279  	// a letter (e.g., us-east-2a).
 32280  	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
 32281  }
 32282  
 32283  // String returns the string representation.
 32284  //
 32285  // API parameter values that are decorated as "sensitive" in the API will not
 32286  // be included in the string output. The member name will be present, but the
 32287  // value will be replaced with "sensitive".
 32288  func (s GetRegionsInput) String() string {
 32289  	return awsutil.Prettify(s)
 32290  }
 32291  
 32292  // GoString returns the string representation.
 32293  //
 32294  // API parameter values that are decorated as "sensitive" in the API will not
 32295  // be included in the string output. The member name will be present, but the
 32296  // value will be replaced with "sensitive".
 32297  func (s GetRegionsInput) GoString() string {
 32298  	return s.String()
 32299  }
 32300  
 32301  // SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
 32302  func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
 32303  	s.IncludeAvailabilityZones = &v
 32304  	return s
 32305  }
 32306  
 32307  // SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
 32308  func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
 32309  	s.IncludeRelationalDatabaseAvailabilityZones = &v
 32310  	return s
 32311  }
 32312  
 32313  type GetRegionsOutput struct {
 32314  	_ struct{} `type:"structure"`
 32315  
 32316  	// An array of key-value pairs containing information about your get regions
 32317  	// request.
 32318  	Regions []*Region `locationName:"regions" type:"list"`
 32319  }
 32320  
 32321  // String returns the string representation.
 32322  //
 32323  // API parameter values that are decorated as "sensitive" in the API will not
 32324  // be included in the string output. The member name will be present, but the
 32325  // value will be replaced with "sensitive".
 32326  func (s GetRegionsOutput) String() string {
 32327  	return awsutil.Prettify(s)
 32328  }
 32329  
 32330  // GoString returns the string representation.
 32331  //
 32332  // API parameter values that are decorated as "sensitive" in the API will not
 32333  // be included in the string output. The member name will be present, but the
 32334  // value will be replaced with "sensitive".
 32335  func (s GetRegionsOutput) GoString() string {
 32336  	return s.String()
 32337  }
 32338  
 32339  // SetRegions sets the Regions field's value.
 32340  func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
 32341  	s.Regions = v
 32342  	return s
 32343  }
 32344  
 32345  type GetRelationalDatabaseBlueprintsInput struct {
 32346  	_ struct{} `type:"structure"`
 32347  
 32348  	// The token to advance to the next page of results from your request.
 32349  	//
 32350  	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
 32351  	// If your results are paginated, the response will return a next page token
 32352  	// that you can specify as the page token in a subsequent request.
 32353  	PageToken *string `locationName:"pageToken" type:"string"`
 32354  }
 32355  
 32356  // String returns the string representation.
 32357  //
 32358  // API parameter values that are decorated as "sensitive" in the API will not
 32359  // be included in the string output. The member name will be present, but the
 32360  // value will be replaced with "sensitive".
 32361  func (s GetRelationalDatabaseBlueprintsInput) String() string {
 32362  	return awsutil.Prettify(s)
 32363  }
 32364  
 32365  // GoString returns the string representation.
 32366  //
 32367  // API parameter values that are decorated as "sensitive" in the API will not
 32368  // be included in the string output. The member name will be present, but the
 32369  // value will be replaced with "sensitive".
 32370  func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
 32371  	return s.String()
 32372  }
 32373  
 32374  // SetPageToken sets the PageToken field's value.
 32375  func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
 32376  	s.PageToken = &v
 32377  	return s
 32378  }
 32379  
 32380  type GetRelationalDatabaseBlueprintsOutput struct {
 32381  	_ struct{} `type:"structure"`
 32382  
 32383  	// An object describing the result of your get relational database blueprints
 32384  	// request.
 32385  	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
 32386  
 32387  	// The token to advance to the next page of results from your request.
 32388  	//
 32389  	// A next page token is not returned if there are no more results to display.
 32390  	//
 32391  	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
 32392  	// request and specify the next page token using the pageToken parameter.
 32393  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 32394  }
 32395  
 32396  // String returns the string representation.
 32397  //
 32398  // API parameter values that are decorated as "sensitive" in the API will not
 32399  // be included in the string output. The member name will be present, but the
 32400  // value will be replaced with "sensitive".
 32401  func (s GetRelationalDatabaseBlueprintsOutput) String() string {
 32402  	return awsutil.Prettify(s)
 32403  }
 32404  
 32405  // GoString returns the string representation.
 32406  //
 32407  // API parameter values that are decorated as "sensitive" in the API will not
 32408  // be included in the string output. The member name will be present, but the
 32409  // value will be replaced with "sensitive".
 32410  func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
 32411  	return s.String()
 32412  }
 32413  
 32414  // SetBlueprints sets the Blueprints field's value.
 32415  func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
 32416  	s.Blueprints = v
 32417  	return s
 32418  }
 32419  
 32420  // SetNextPageToken sets the NextPageToken field's value.
 32421  func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
 32422  	s.NextPageToken = &v
 32423  	return s
 32424  }
 32425  
 32426  type GetRelationalDatabaseBundlesInput struct {
 32427  	_ struct{} `type:"structure"`
 32428  
 32429  	// The token to advance to the next page of results from your request.
 32430  	//
 32431  	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
 32432  	// If your results are paginated, the response will return a next page token
 32433  	// that you can specify as the page token in a subsequent request.
 32434  	PageToken *string `locationName:"pageToken" type:"string"`
 32435  }
 32436  
 32437  // String returns the string representation.
 32438  //
 32439  // API parameter values that are decorated as "sensitive" in the API will not
 32440  // be included in the string output. The member name will be present, but the
 32441  // value will be replaced with "sensitive".
 32442  func (s GetRelationalDatabaseBundlesInput) String() string {
 32443  	return awsutil.Prettify(s)
 32444  }
 32445  
 32446  // GoString returns the string representation.
 32447  //
 32448  // API parameter values that are decorated as "sensitive" in the API will not
 32449  // be included in the string output. The member name will be present, but the
 32450  // value will be replaced with "sensitive".
 32451  func (s GetRelationalDatabaseBundlesInput) GoString() string {
 32452  	return s.String()
 32453  }
 32454  
 32455  // SetPageToken sets the PageToken field's value.
 32456  func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
 32457  	s.PageToken = &v
 32458  	return s
 32459  }
 32460  
 32461  type GetRelationalDatabaseBundlesOutput struct {
 32462  	_ struct{} `type:"structure"`
 32463  
 32464  	// An object describing the result of your get relational database bundles request.
 32465  	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
 32466  
 32467  	// The token to advance to the next page of results from your request.
 32468  	//
 32469  	// A next page token is not returned if there are no more results to display.
 32470  	//
 32471  	// To get the next page of results, perform another GetRelationalDatabaseBundles
 32472  	// request and specify the next page token using the pageToken parameter.
 32473  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 32474  }
 32475  
 32476  // String returns the string representation.
 32477  //
 32478  // API parameter values that are decorated as "sensitive" in the API will not
 32479  // be included in the string output. The member name will be present, but the
 32480  // value will be replaced with "sensitive".
 32481  func (s GetRelationalDatabaseBundlesOutput) String() string {
 32482  	return awsutil.Prettify(s)
 32483  }
 32484  
 32485  // GoString returns the string representation.
 32486  //
 32487  // API parameter values that are decorated as "sensitive" in the API will not
 32488  // be included in the string output. The member name will be present, but the
 32489  // value will be replaced with "sensitive".
 32490  func (s GetRelationalDatabaseBundlesOutput) GoString() string {
 32491  	return s.String()
 32492  }
 32493  
 32494  // SetBundles sets the Bundles field's value.
 32495  func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
 32496  	s.Bundles = v
 32497  	return s
 32498  }
 32499  
 32500  // SetNextPageToken sets the NextPageToken field's value.
 32501  func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
 32502  	s.NextPageToken = &v
 32503  	return s
 32504  }
 32505  
 32506  type GetRelationalDatabaseEventsInput struct {
 32507  	_ struct{} `type:"structure"`
 32508  
 32509  	// The number of minutes in the past from which to retrieve events. For example,
 32510  	// to get all events from the past 2 hours, enter 120.
 32511  	//
 32512  	// Default: 60
 32513  	//
 32514  	// The minimum is 1 and the maximum is 14 days (20160 minutes).
 32515  	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
 32516  
 32517  	// The token to advance to the next page of results from your request.
 32518  	//
 32519  	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
 32520  	// If your results are paginated, the response will return a next page token
 32521  	// that you can specify as the page token in a subsequent request.
 32522  	PageToken *string `locationName:"pageToken" type:"string"`
 32523  
 32524  	// The name of the database from which to get events.
 32525  	//
 32526  	// RelationalDatabaseName is a required field
 32527  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 32528  }
 32529  
 32530  // String returns the string representation.
 32531  //
 32532  // API parameter values that are decorated as "sensitive" in the API will not
 32533  // be included in the string output. The member name will be present, but the
 32534  // value will be replaced with "sensitive".
 32535  func (s GetRelationalDatabaseEventsInput) String() string {
 32536  	return awsutil.Prettify(s)
 32537  }
 32538  
 32539  // GoString returns the string representation.
 32540  //
 32541  // API parameter values that are decorated as "sensitive" in the API will not
 32542  // be included in the string output. The member name will be present, but the
 32543  // value will be replaced with "sensitive".
 32544  func (s GetRelationalDatabaseEventsInput) GoString() string {
 32545  	return s.String()
 32546  }
 32547  
 32548  // Validate inspects the fields of the type to determine if they are valid.
 32549  func (s *GetRelationalDatabaseEventsInput) Validate() error {
 32550  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
 32551  	if s.RelationalDatabaseName == nil {
 32552  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 32553  	}
 32554  
 32555  	if invalidParams.Len() > 0 {
 32556  		return invalidParams
 32557  	}
 32558  	return nil
 32559  }
 32560  
 32561  // SetDurationInMinutes sets the DurationInMinutes field's value.
 32562  func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
 32563  	s.DurationInMinutes = &v
 32564  	return s
 32565  }
 32566  
 32567  // SetPageToken sets the PageToken field's value.
 32568  func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
 32569  	s.PageToken = &v
 32570  	return s
 32571  }
 32572  
 32573  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 32574  func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
 32575  	s.RelationalDatabaseName = &v
 32576  	return s
 32577  }
 32578  
 32579  type GetRelationalDatabaseEventsOutput struct {
 32580  	_ struct{} `type:"structure"`
 32581  
 32582  	// The token to advance to the next page of results from your request.
 32583  	//
 32584  	// A next page token is not returned if there are no more results to display.
 32585  	//
 32586  	// To get the next page of results, perform another GetRelationalDatabaseEvents
 32587  	// request and specify the next page token using the pageToken parameter.
 32588  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 32589  
 32590  	// An object describing the result of your get relational database events request.
 32591  	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
 32592  }
 32593  
 32594  // String returns the string representation.
 32595  //
 32596  // API parameter values that are decorated as "sensitive" in the API will not
 32597  // be included in the string output. The member name will be present, but the
 32598  // value will be replaced with "sensitive".
 32599  func (s GetRelationalDatabaseEventsOutput) String() string {
 32600  	return awsutil.Prettify(s)
 32601  }
 32602  
 32603  // GoString returns the string representation.
 32604  //
 32605  // API parameter values that are decorated as "sensitive" in the API will not
 32606  // be included in the string output. The member name will be present, but the
 32607  // value will be replaced with "sensitive".
 32608  func (s GetRelationalDatabaseEventsOutput) GoString() string {
 32609  	return s.String()
 32610  }
 32611  
 32612  // SetNextPageToken sets the NextPageToken field's value.
 32613  func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
 32614  	s.NextPageToken = &v
 32615  	return s
 32616  }
 32617  
 32618  // SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
 32619  func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
 32620  	s.RelationalDatabaseEvents = v
 32621  	return s
 32622  }
 32623  
 32624  type GetRelationalDatabaseInput struct {
 32625  	_ struct{} `type:"structure"`
 32626  
 32627  	// The name of the database that you are looking up.
 32628  	//
 32629  	// RelationalDatabaseName is a required field
 32630  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 32631  }
 32632  
 32633  // String returns the string representation.
 32634  //
 32635  // API parameter values that are decorated as "sensitive" in the API will not
 32636  // be included in the string output. The member name will be present, but the
 32637  // value will be replaced with "sensitive".
 32638  func (s GetRelationalDatabaseInput) String() string {
 32639  	return awsutil.Prettify(s)
 32640  }
 32641  
 32642  // GoString returns the string representation.
 32643  //
 32644  // API parameter values that are decorated as "sensitive" in the API will not
 32645  // be included in the string output. The member name will be present, but the
 32646  // value will be replaced with "sensitive".
 32647  func (s GetRelationalDatabaseInput) GoString() string {
 32648  	return s.String()
 32649  }
 32650  
 32651  // Validate inspects the fields of the type to determine if they are valid.
 32652  func (s *GetRelationalDatabaseInput) Validate() error {
 32653  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
 32654  	if s.RelationalDatabaseName == nil {
 32655  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 32656  	}
 32657  
 32658  	if invalidParams.Len() > 0 {
 32659  		return invalidParams
 32660  	}
 32661  	return nil
 32662  }
 32663  
 32664  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 32665  func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
 32666  	s.RelationalDatabaseName = &v
 32667  	return s
 32668  }
 32669  
 32670  type GetRelationalDatabaseLogEventsInput struct {
 32671  	_ struct{} `type:"structure"`
 32672  
 32673  	// The end of the time interval from which to get log events.
 32674  	//
 32675  	// Constraints:
 32676  	//
 32677  	//    * Specified in Coordinated Universal Time (UTC).
 32678  	//
 32679  	//    * Specified in the Unix time format. For example, if you wish to use an
 32680  	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
 32681  	//    the end time.
 32682  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
 32683  
 32684  	// The name of the log stream.
 32685  	//
 32686  	// Use the get relational database log streams operation to get a list of available
 32687  	// log streams.
 32688  	//
 32689  	// LogStreamName is a required field
 32690  	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
 32691  
 32692  	// The token to advance to the next or previous page of results from your request.
 32693  	//
 32694  	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
 32695  	// If your results are paginated, the response will return a next forward token
 32696  	// and/or next backward token that you can specify as the page token in a subsequent
 32697  	// request.
 32698  	PageToken *string `locationName:"pageToken" type:"string"`
 32699  
 32700  	// The name of your database for which to get log events.
 32701  	//
 32702  	// RelationalDatabaseName is a required field
 32703  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 32704  
 32705  	// Parameter to specify if the log should start from head or tail. If true is
 32706  	// specified, the log event starts from the head of the log. If false is specified,
 32707  	// the log event starts from the tail of the log.
 32708  	//
 32709  	// For PostgreSQL, the default value of false is the only option available.
 32710  	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
 32711  
 32712  	// The start of the time interval from which to get log events.
 32713  	//
 32714  	// Constraints:
 32715  	//
 32716  	//    * Specified in Coordinated Universal Time (UTC).
 32717  	//
 32718  	//    * Specified in the Unix time format. For example, if you wish to use a
 32719  	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
 32720  	//    as the start time.
 32721  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
 32722  }
 32723  
 32724  // String returns the string representation.
 32725  //
 32726  // API parameter values that are decorated as "sensitive" in the API will not
 32727  // be included in the string output. The member name will be present, but the
 32728  // value will be replaced with "sensitive".
 32729  func (s GetRelationalDatabaseLogEventsInput) String() string {
 32730  	return awsutil.Prettify(s)
 32731  }
 32732  
 32733  // GoString returns the string representation.
 32734  //
 32735  // API parameter values that are decorated as "sensitive" in the API will not
 32736  // be included in the string output. The member name will be present, but the
 32737  // value will be replaced with "sensitive".
 32738  func (s GetRelationalDatabaseLogEventsInput) GoString() string {
 32739  	return s.String()
 32740  }
 32741  
 32742  // Validate inspects the fields of the type to determine if they are valid.
 32743  func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
 32744  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
 32745  	if s.LogStreamName == nil {
 32746  		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
 32747  	}
 32748  	if s.RelationalDatabaseName == nil {
 32749  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 32750  	}
 32751  
 32752  	if invalidParams.Len() > 0 {
 32753  		return invalidParams
 32754  	}
 32755  	return nil
 32756  }
 32757  
 32758  // SetEndTime sets the EndTime field's value.
 32759  func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
 32760  	s.EndTime = &v
 32761  	return s
 32762  }
 32763  
 32764  // SetLogStreamName sets the LogStreamName field's value.
 32765  func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
 32766  	s.LogStreamName = &v
 32767  	return s
 32768  }
 32769  
 32770  // SetPageToken sets the PageToken field's value.
 32771  func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
 32772  	s.PageToken = &v
 32773  	return s
 32774  }
 32775  
 32776  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 32777  func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
 32778  	s.RelationalDatabaseName = &v
 32779  	return s
 32780  }
 32781  
 32782  // SetStartFromHead sets the StartFromHead field's value.
 32783  func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
 32784  	s.StartFromHead = &v
 32785  	return s
 32786  }
 32787  
 32788  // SetStartTime sets the StartTime field's value.
 32789  func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
 32790  	s.StartTime = &v
 32791  	return s
 32792  }
 32793  
 32794  type GetRelationalDatabaseLogEventsOutput struct {
 32795  	_ struct{} `type:"structure"`
 32796  
 32797  	// A token used for advancing to the previous page of results from your get
 32798  	// relational database log events request.
 32799  	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
 32800  
 32801  	// A token used for advancing to the next page of results from your get relational
 32802  	// database log events request.
 32803  	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
 32804  
 32805  	// An object describing the result of your get relational database log events
 32806  	// request.
 32807  	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
 32808  }
 32809  
 32810  // String returns the string representation.
 32811  //
 32812  // API parameter values that are decorated as "sensitive" in the API will not
 32813  // be included in the string output. The member name will be present, but the
 32814  // value will be replaced with "sensitive".
 32815  func (s GetRelationalDatabaseLogEventsOutput) String() string {
 32816  	return awsutil.Prettify(s)
 32817  }
 32818  
 32819  // GoString returns the string representation.
 32820  //
 32821  // API parameter values that are decorated as "sensitive" in the API will not
 32822  // be included in the string output. The member name will be present, but the
 32823  // value will be replaced with "sensitive".
 32824  func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
 32825  	return s.String()
 32826  }
 32827  
 32828  // SetNextBackwardToken sets the NextBackwardToken field's value.
 32829  func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
 32830  	s.NextBackwardToken = &v
 32831  	return s
 32832  }
 32833  
 32834  // SetNextForwardToken sets the NextForwardToken field's value.
 32835  func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
 32836  	s.NextForwardToken = &v
 32837  	return s
 32838  }
 32839  
 32840  // SetResourceLogEvents sets the ResourceLogEvents field's value.
 32841  func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
 32842  	s.ResourceLogEvents = v
 32843  	return s
 32844  }
 32845  
 32846  type GetRelationalDatabaseLogStreamsInput struct {
 32847  	_ struct{} `type:"structure"`
 32848  
 32849  	// The name of your database for which to get log streams.
 32850  	//
 32851  	// RelationalDatabaseName is a required field
 32852  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 32853  }
 32854  
 32855  // String returns the string representation.
 32856  //
 32857  // API parameter values that are decorated as "sensitive" in the API will not
 32858  // be included in the string output. The member name will be present, but the
 32859  // value will be replaced with "sensitive".
 32860  func (s GetRelationalDatabaseLogStreamsInput) String() string {
 32861  	return awsutil.Prettify(s)
 32862  }
 32863  
 32864  // GoString returns the string representation.
 32865  //
 32866  // API parameter values that are decorated as "sensitive" in the API will not
 32867  // be included in the string output. The member name will be present, but the
 32868  // value will be replaced with "sensitive".
 32869  func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
 32870  	return s.String()
 32871  }
 32872  
 32873  // Validate inspects the fields of the type to determine if they are valid.
 32874  func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
 32875  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
 32876  	if s.RelationalDatabaseName == nil {
 32877  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 32878  	}
 32879  
 32880  	if invalidParams.Len() > 0 {
 32881  		return invalidParams
 32882  	}
 32883  	return nil
 32884  }
 32885  
 32886  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 32887  func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
 32888  	s.RelationalDatabaseName = &v
 32889  	return s
 32890  }
 32891  
 32892  type GetRelationalDatabaseLogStreamsOutput struct {
 32893  	_ struct{} `type:"structure"`
 32894  
 32895  	// An object describing the result of your get relational database log streams
 32896  	// request.
 32897  	LogStreams []*string `locationName:"logStreams" type:"list"`
 32898  }
 32899  
 32900  // String returns the string representation.
 32901  //
 32902  // API parameter values that are decorated as "sensitive" in the API will not
 32903  // be included in the string output. The member name will be present, but the
 32904  // value will be replaced with "sensitive".
 32905  func (s GetRelationalDatabaseLogStreamsOutput) String() string {
 32906  	return awsutil.Prettify(s)
 32907  }
 32908  
 32909  // GoString returns the string representation.
 32910  //
 32911  // API parameter values that are decorated as "sensitive" in the API will not
 32912  // be included in the string output. The member name will be present, but the
 32913  // value will be replaced with "sensitive".
 32914  func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
 32915  	return s.String()
 32916  }
 32917  
 32918  // SetLogStreams sets the LogStreams field's value.
 32919  func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
 32920  	s.LogStreams = v
 32921  	return s
 32922  }
 32923  
 32924  type GetRelationalDatabaseMasterUserPasswordInput struct {
 32925  	_ struct{} `type:"structure"`
 32926  
 32927  	// The password version to return.
 32928  	//
 32929  	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
 32930  	// respectively. Specifying PENDING returns the newest version of the password
 32931  	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
 32932  	// the PENDING password is no longer available.
 32933  	//
 32934  	// Default: CURRENT
 32935  	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
 32936  
 32937  	// The name of your database for which to get the master user password.
 32938  	//
 32939  	// RelationalDatabaseName is a required field
 32940  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 32941  }
 32942  
 32943  // String returns the string representation.
 32944  //
 32945  // API parameter values that are decorated as "sensitive" in the API will not
 32946  // be included in the string output. The member name will be present, but the
 32947  // value will be replaced with "sensitive".
 32948  func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
 32949  	return awsutil.Prettify(s)
 32950  }
 32951  
 32952  // GoString returns the string representation.
 32953  //
 32954  // API parameter values that are decorated as "sensitive" in the API will not
 32955  // be included in the string output. The member name will be present, but the
 32956  // value will be replaced with "sensitive".
 32957  func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
 32958  	return s.String()
 32959  }
 32960  
 32961  // Validate inspects the fields of the type to determine if they are valid.
 32962  func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
 32963  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
 32964  	if s.RelationalDatabaseName == nil {
 32965  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 32966  	}
 32967  
 32968  	if invalidParams.Len() > 0 {
 32969  		return invalidParams
 32970  	}
 32971  	return nil
 32972  }
 32973  
 32974  // SetPasswordVersion sets the PasswordVersion field's value.
 32975  func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
 32976  	s.PasswordVersion = &v
 32977  	return s
 32978  }
 32979  
 32980  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 32981  func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
 32982  	s.RelationalDatabaseName = &v
 32983  	return s
 32984  }
 32985  
 32986  type GetRelationalDatabaseMasterUserPasswordOutput struct {
 32987  	_ struct{} `type:"structure"`
 32988  
 32989  	// The timestamp when the specified version of the master user password was
 32990  	// created.
 32991  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 32992  
 32993  	// The master user password for the password version specified.
 32994  	//
 32995  	// MasterUserPassword is a sensitive parameter and its value will be
 32996  	// replaced with "sensitive" in string returned by GetRelationalDatabaseMasterUserPasswordOutput's
 32997  	// String and GoString methods.
 32998  	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
 32999  }
 33000  
 33001  // String returns the string representation.
 33002  //
 33003  // API parameter values that are decorated as "sensitive" in the API will not
 33004  // be included in the string output. The member name will be present, but the
 33005  // value will be replaced with "sensitive".
 33006  func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
 33007  	return awsutil.Prettify(s)
 33008  }
 33009  
 33010  // GoString returns the string representation.
 33011  //
 33012  // API parameter values that are decorated as "sensitive" in the API will not
 33013  // be included in the string output. The member name will be present, but the
 33014  // value will be replaced with "sensitive".
 33015  func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
 33016  	return s.String()
 33017  }
 33018  
 33019  // SetCreatedAt sets the CreatedAt field's value.
 33020  func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
 33021  	s.CreatedAt = &v
 33022  	return s
 33023  }
 33024  
 33025  // SetMasterUserPassword sets the MasterUserPassword field's value.
 33026  func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
 33027  	s.MasterUserPassword = &v
 33028  	return s
 33029  }
 33030  
 33031  type GetRelationalDatabaseMetricDataInput struct {
 33032  	_ struct{} `type:"structure"`
 33033  
 33034  	// The end of the time interval from which to get metric data.
 33035  	//
 33036  	// Constraints:
 33037  	//
 33038  	//    * Specified in Coordinated Universal Time (UTC).
 33039  	//
 33040  	//    * Specified in the Unix time format. For example, if you wish to use an
 33041  	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
 33042  	//    the end time.
 33043  	//
 33044  	// EndTime is a required field
 33045  	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
 33046  
 33047  	// The metric for which you want to return information.
 33048  	//
 33049  	// Valid relational database metric names are listed below, along with the most
 33050  	// useful statistics to include in your request, and the published unit value.
 33051  	// All relational database metric data is available in 1-minute (60 seconds)
 33052  	// granularity.
 33053  	//
 33054  	//    * CPUUtilization - The percentage of CPU utilization currently in use
 33055  	//    on the database. Statistics: The most useful statistics are Maximum and
 33056  	//    Average. Unit: The published unit is Percent.
 33057  	//
 33058  	//    * DatabaseConnections - The number of database connections in use. Statistics:
 33059  	//    The most useful statistics are Maximum and Sum. Unit: The published unit
 33060  	//    is Count.
 33061  	//
 33062  	//    * DiskQueueDepth - The number of outstanding IOs (read/write requests)
 33063  	//    that are waiting to access the disk. Statistics: The most useful statistic
 33064  	//    is Sum. Unit: The published unit is Count.
 33065  	//
 33066  	//    * FreeStorageSpace - The amount of available storage space. Statistics:
 33067  	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
 33068  	//
 33069  	//    * NetworkReceiveThroughput - The incoming (Receive) network traffic on
 33070  	//    the database, including both customer database traffic and AWS traffic
 33071  	//    used for monitoring and replication. Statistics: The most useful statistic
 33072  	//    is Average. Unit: The published unit is Bytes/Second.
 33073  	//
 33074  	//    * NetworkTransmitThroughput - The outgoing (Transmit) network traffic
 33075  	//    on the database, including both customer database traffic and AWS traffic
 33076  	//    used for monitoring and replication. Statistics: The most useful statistic
 33077  	//    is Average. Unit: The published unit is Bytes/Second.
 33078  	//
 33079  	// MetricName is a required field
 33080  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
 33081  
 33082  	// The granularity, in seconds, of the returned data points.
 33083  	//
 33084  	// All relational database metric data is available in 1-minute (60 seconds)
 33085  	// granularity.
 33086  	//
 33087  	// Period is a required field
 33088  	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
 33089  
 33090  	// The name of your database from which to get metric data.
 33091  	//
 33092  	// RelationalDatabaseName is a required field
 33093  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 33094  
 33095  	// The start of the time interval from which to get metric data.
 33096  	//
 33097  	// Constraints:
 33098  	//
 33099  	//    * Specified in Coordinated Universal Time (UTC).
 33100  	//
 33101  	//    * Specified in the Unix time format. For example, if you wish to use a
 33102  	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
 33103  	//    as the start time.
 33104  	//
 33105  	// StartTime is a required field
 33106  	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
 33107  
 33108  	// The statistic for the metric.
 33109  	//
 33110  	// The following statistics are available:
 33111  	//
 33112  	//    * Minimum - The lowest value observed during the specified period. Use
 33113  	//    this value to determine low volumes of activity for your application.
 33114  	//
 33115  	//    * Maximum - The highest value observed during the specified period. Use
 33116  	//    this value to determine high volumes of activity for your application.
 33117  	//
 33118  	//    * Sum - All values submitted for the matching metric added together. You
 33119  	//    can use this statistic to determine the total volume of a metric.
 33120  	//
 33121  	//    * Average - The value of Sum / SampleCount during the specified period.
 33122  	//    By comparing this statistic with the Minimum and Maximum values, you can
 33123  	//    determine the full scope of a metric and how close the average use is
 33124  	//    to the Minimum and Maximum values. This comparison helps you to know when
 33125  	//    to increase or decrease your resources.
 33126  	//
 33127  	//    * SampleCount - The count, or number, of data points used for the statistical
 33128  	//    calculation.
 33129  	//
 33130  	// Statistics is a required field
 33131  	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
 33132  
 33133  	// The unit for the metric data request. Valid units depend on the metric data
 33134  	// being requested. For the valid units with each available metric, see the
 33135  	// metricName parameter.
 33136  	//
 33137  	// Unit is a required field
 33138  	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
 33139  }
 33140  
 33141  // String returns the string representation.
 33142  //
 33143  // API parameter values that are decorated as "sensitive" in the API will not
 33144  // be included in the string output. The member name will be present, but the
 33145  // value will be replaced with "sensitive".
 33146  func (s GetRelationalDatabaseMetricDataInput) String() string {
 33147  	return awsutil.Prettify(s)
 33148  }
 33149  
 33150  // GoString returns the string representation.
 33151  //
 33152  // API parameter values that are decorated as "sensitive" in the API will not
 33153  // be included in the string output. The member name will be present, but the
 33154  // value will be replaced with "sensitive".
 33155  func (s GetRelationalDatabaseMetricDataInput) GoString() string {
 33156  	return s.String()
 33157  }
 33158  
 33159  // Validate inspects the fields of the type to determine if they are valid.
 33160  func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
 33161  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
 33162  	if s.EndTime == nil {
 33163  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 33164  	}
 33165  	if s.MetricName == nil {
 33166  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 33167  	}
 33168  	if s.Period == nil {
 33169  		invalidParams.Add(request.NewErrParamRequired("Period"))
 33170  	}
 33171  	if s.Period != nil && *s.Period < 60 {
 33172  		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
 33173  	}
 33174  	if s.RelationalDatabaseName == nil {
 33175  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 33176  	}
 33177  	if s.StartTime == nil {
 33178  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 33179  	}
 33180  	if s.Statistics == nil {
 33181  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
 33182  	}
 33183  	if s.Unit == nil {
 33184  		invalidParams.Add(request.NewErrParamRequired("Unit"))
 33185  	}
 33186  
 33187  	if invalidParams.Len() > 0 {
 33188  		return invalidParams
 33189  	}
 33190  	return nil
 33191  }
 33192  
 33193  // SetEndTime sets the EndTime field's value.
 33194  func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
 33195  	s.EndTime = &v
 33196  	return s
 33197  }
 33198  
 33199  // SetMetricName sets the MetricName field's value.
 33200  func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
 33201  	s.MetricName = &v
 33202  	return s
 33203  }
 33204  
 33205  // SetPeriod sets the Period field's value.
 33206  func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
 33207  	s.Period = &v
 33208  	return s
 33209  }
 33210  
 33211  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 33212  func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
 33213  	s.RelationalDatabaseName = &v
 33214  	return s
 33215  }
 33216  
 33217  // SetStartTime sets the StartTime field's value.
 33218  func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
 33219  	s.StartTime = &v
 33220  	return s
 33221  }
 33222  
 33223  // SetStatistics sets the Statistics field's value.
 33224  func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
 33225  	s.Statistics = v
 33226  	return s
 33227  }
 33228  
 33229  // SetUnit sets the Unit field's value.
 33230  func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
 33231  	s.Unit = &v
 33232  	return s
 33233  }
 33234  
 33235  type GetRelationalDatabaseMetricDataOutput struct {
 33236  	_ struct{} `type:"structure"`
 33237  
 33238  	// An array of objects that describe the metric data returned.
 33239  	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
 33240  
 33241  	// The name of the metric returned.
 33242  	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
 33243  }
 33244  
 33245  // String returns the string representation.
 33246  //
 33247  // API parameter values that are decorated as "sensitive" in the API will not
 33248  // be included in the string output. The member name will be present, but the
 33249  // value will be replaced with "sensitive".
 33250  func (s GetRelationalDatabaseMetricDataOutput) String() string {
 33251  	return awsutil.Prettify(s)
 33252  }
 33253  
 33254  // GoString returns the string representation.
 33255  //
 33256  // API parameter values that are decorated as "sensitive" in the API will not
 33257  // be included in the string output. The member name will be present, but the
 33258  // value will be replaced with "sensitive".
 33259  func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
 33260  	return s.String()
 33261  }
 33262  
 33263  // SetMetricData sets the MetricData field's value.
 33264  func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
 33265  	s.MetricData = v
 33266  	return s
 33267  }
 33268  
 33269  // SetMetricName sets the MetricName field's value.
 33270  func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
 33271  	s.MetricName = &v
 33272  	return s
 33273  }
 33274  
 33275  type GetRelationalDatabaseOutput struct {
 33276  	_ struct{} `type:"structure"`
 33277  
 33278  	// An object describing the specified database.
 33279  	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
 33280  }
 33281  
 33282  // String returns the string representation.
 33283  //
 33284  // API parameter values that are decorated as "sensitive" in the API will not
 33285  // be included in the string output. The member name will be present, but the
 33286  // value will be replaced with "sensitive".
 33287  func (s GetRelationalDatabaseOutput) String() string {
 33288  	return awsutil.Prettify(s)
 33289  }
 33290  
 33291  // GoString returns the string representation.
 33292  //
 33293  // API parameter values that are decorated as "sensitive" in the API will not
 33294  // be included in the string output. The member name will be present, but the
 33295  // value will be replaced with "sensitive".
 33296  func (s GetRelationalDatabaseOutput) GoString() string {
 33297  	return s.String()
 33298  }
 33299  
 33300  // SetRelationalDatabase sets the RelationalDatabase field's value.
 33301  func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
 33302  	s.RelationalDatabase = v
 33303  	return s
 33304  }
 33305  
 33306  type GetRelationalDatabaseParametersInput struct {
 33307  	_ struct{} `type:"structure"`
 33308  
 33309  	// The token to advance to the next page of results from your request.
 33310  	//
 33311  	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
 33312  	// If your results are paginated, the response will return a next page token
 33313  	// that you can specify as the page token in a subsequent request.
 33314  	PageToken *string `locationName:"pageToken" type:"string"`
 33315  
 33316  	// The name of your database for which to get parameters.
 33317  	//
 33318  	// RelationalDatabaseName is a required field
 33319  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 33320  }
 33321  
 33322  // String returns the string representation.
 33323  //
 33324  // API parameter values that are decorated as "sensitive" in the API will not
 33325  // be included in the string output. The member name will be present, but the
 33326  // value will be replaced with "sensitive".
 33327  func (s GetRelationalDatabaseParametersInput) String() string {
 33328  	return awsutil.Prettify(s)
 33329  }
 33330  
 33331  // GoString returns the string representation.
 33332  //
 33333  // API parameter values that are decorated as "sensitive" in the API will not
 33334  // be included in the string output. The member name will be present, but the
 33335  // value will be replaced with "sensitive".
 33336  func (s GetRelationalDatabaseParametersInput) GoString() string {
 33337  	return s.String()
 33338  }
 33339  
 33340  // Validate inspects the fields of the type to determine if they are valid.
 33341  func (s *GetRelationalDatabaseParametersInput) Validate() error {
 33342  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
 33343  	if s.RelationalDatabaseName == nil {
 33344  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 33345  	}
 33346  
 33347  	if invalidParams.Len() > 0 {
 33348  		return invalidParams
 33349  	}
 33350  	return nil
 33351  }
 33352  
 33353  // SetPageToken sets the PageToken field's value.
 33354  func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
 33355  	s.PageToken = &v
 33356  	return s
 33357  }
 33358  
 33359  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 33360  func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
 33361  	s.RelationalDatabaseName = &v
 33362  	return s
 33363  }
 33364  
 33365  type GetRelationalDatabaseParametersOutput struct {
 33366  	_ struct{} `type:"structure"`
 33367  
 33368  	// The token to advance to the next page of results from your request.
 33369  	//
 33370  	// A next page token is not returned if there are no more results to display.
 33371  	//
 33372  	// To get the next page of results, perform another GetRelationalDatabaseParameters
 33373  	// request and specify the next page token using the pageToken parameter.
 33374  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 33375  
 33376  	// An object describing the result of your get relational database parameters
 33377  	// request.
 33378  	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
 33379  }
 33380  
 33381  // String returns the string representation.
 33382  //
 33383  // API parameter values that are decorated as "sensitive" in the API will not
 33384  // be included in the string output. The member name will be present, but the
 33385  // value will be replaced with "sensitive".
 33386  func (s GetRelationalDatabaseParametersOutput) String() string {
 33387  	return awsutil.Prettify(s)
 33388  }
 33389  
 33390  // GoString returns the string representation.
 33391  //
 33392  // API parameter values that are decorated as "sensitive" in the API will not
 33393  // be included in the string output. The member name will be present, but the
 33394  // value will be replaced with "sensitive".
 33395  func (s GetRelationalDatabaseParametersOutput) GoString() string {
 33396  	return s.String()
 33397  }
 33398  
 33399  // SetNextPageToken sets the NextPageToken field's value.
 33400  func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
 33401  	s.NextPageToken = &v
 33402  	return s
 33403  }
 33404  
 33405  // SetParameters sets the Parameters field's value.
 33406  func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
 33407  	s.Parameters = v
 33408  	return s
 33409  }
 33410  
 33411  type GetRelationalDatabaseSnapshotInput struct {
 33412  	_ struct{} `type:"structure"`
 33413  
 33414  	// The name of the database snapshot for which to get information.
 33415  	//
 33416  	// RelationalDatabaseSnapshotName is a required field
 33417  	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
 33418  }
 33419  
 33420  // String returns the string representation.
 33421  //
 33422  // API parameter values that are decorated as "sensitive" in the API will not
 33423  // be included in the string output. The member name will be present, but the
 33424  // value will be replaced with "sensitive".
 33425  func (s GetRelationalDatabaseSnapshotInput) String() string {
 33426  	return awsutil.Prettify(s)
 33427  }
 33428  
 33429  // GoString returns the string representation.
 33430  //
 33431  // API parameter values that are decorated as "sensitive" in the API will not
 33432  // be included in the string output. The member name will be present, but the
 33433  // value will be replaced with "sensitive".
 33434  func (s GetRelationalDatabaseSnapshotInput) GoString() string {
 33435  	return s.String()
 33436  }
 33437  
 33438  // Validate inspects the fields of the type to determine if they are valid.
 33439  func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
 33440  	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
 33441  	if s.RelationalDatabaseSnapshotName == nil {
 33442  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
 33443  	}
 33444  
 33445  	if invalidParams.Len() > 0 {
 33446  		return invalidParams
 33447  	}
 33448  	return nil
 33449  }
 33450  
 33451  // SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
 33452  func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
 33453  	s.RelationalDatabaseSnapshotName = &v
 33454  	return s
 33455  }
 33456  
 33457  type GetRelationalDatabaseSnapshotOutput struct {
 33458  	_ struct{} `type:"structure"`
 33459  
 33460  	// An object describing the specified database snapshot.
 33461  	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
 33462  }
 33463  
 33464  // String returns the string representation.
 33465  //
 33466  // API parameter values that are decorated as "sensitive" in the API will not
 33467  // be included in the string output. The member name will be present, but the
 33468  // value will be replaced with "sensitive".
 33469  func (s GetRelationalDatabaseSnapshotOutput) String() string {
 33470  	return awsutil.Prettify(s)
 33471  }
 33472  
 33473  // GoString returns the string representation.
 33474  //
 33475  // API parameter values that are decorated as "sensitive" in the API will not
 33476  // be included in the string output. The member name will be present, but the
 33477  // value will be replaced with "sensitive".
 33478  func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
 33479  	return s.String()
 33480  }
 33481  
 33482  // SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
 33483  func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
 33484  	s.RelationalDatabaseSnapshot = v
 33485  	return s
 33486  }
 33487  
 33488  type GetRelationalDatabaseSnapshotsInput struct {
 33489  	_ struct{} `type:"structure"`
 33490  
 33491  	// The token to advance to the next page of results from your request.
 33492  	//
 33493  	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
 33494  	// If your results are paginated, the response will return a next page token
 33495  	// that you can specify as the page token in a subsequent request.
 33496  	PageToken *string `locationName:"pageToken" type:"string"`
 33497  }
 33498  
 33499  // String returns the string representation.
 33500  //
 33501  // API parameter values that are decorated as "sensitive" in the API will not
 33502  // be included in the string output. The member name will be present, but the
 33503  // value will be replaced with "sensitive".
 33504  func (s GetRelationalDatabaseSnapshotsInput) String() string {
 33505  	return awsutil.Prettify(s)
 33506  }
 33507  
 33508  // GoString returns the string representation.
 33509  //
 33510  // API parameter values that are decorated as "sensitive" in the API will not
 33511  // be included in the string output. The member name will be present, but the
 33512  // value will be replaced with "sensitive".
 33513  func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
 33514  	return s.String()
 33515  }
 33516  
 33517  // SetPageToken sets the PageToken field's value.
 33518  func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
 33519  	s.PageToken = &v
 33520  	return s
 33521  }
 33522  
 33523  type GetRelationalDatabaseSnapshotsOutput struct {
 33524  	_ struct{} `type:"structure"`
 33525  
 33526  	// The token to advance to the next page of results from your request.
 33527  	//
 33528  	// A next page token is not returned if there are no more results to display.
 33529  	//
 33530  	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
 33531  	// request and specify the next page token using the pageToken parameter.
 33532  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 33533  
 33534  	// An object describing the result of your get relational database snapshots
 33535  	// request.
 33536  	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
 33537  }
 33538  
 33539  // String returns the string representation.
 33540  //
 33541  // API parameter values that are decorated as "sensitive" in the API will not
 33542  // be included in the string output. The member name will be present, but the
 33543  // value will be replaced with "sensitive".
 33544  func (s GetRelationalDatabaseSnapshotsOutput) String() string {
 33545  	return awsutil.Prettify(s)
 33546  }
 33547  
 33548  // GoString returns the string representation.
 33549  //
 33550  // API parameter values that are decorated as "sensitive" in the API will not
 33551  // be included in the string output. The member name will be present, but the
 33552  // value will be replaced with "sensitive".
 33553  func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
 33554  	return s.String()
 33555  }
 33556  
 33557  // SetNextPageToken sets the NextPageToken field's value.
 33558  func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
 33559  	s.NextPageToken = &v
 33560  	return s
 33561  }
 33562  
 33563  // SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
 33564  func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
 33565  	s.RelationalDatabaseSnapshots = v
 33566  	return s
 33567  }
 33568  
 33569  type GetRelationalDatabasesInput struct {
 33570  	_ struct{} `type:"structure"`
 33571  
 33572  	// The token to advance to the next page of results from your request.
 33573  	//
 33574  	// To get a page token, perform an initial GetRelationalDatabases request. If
 33575  	// your results are paginated, the response will return a next page token that
 33576  	// you can specify as the page token in a subsequent request.
 33577  	PageToken *string `locationName:"pageToken" type:"string"`
 33578  }
 33579  
 33580  // String returns the string representation.
 33581  //
 33582  // API parameter values that are decorated as "sensitive" in the API will not
 33583  // be included in the string output. The member name will be present, but the
 33584  // value will be replaced with "sensitive".
 33585  func (s GetRelationalDatabasesInput) String() string {
 33586  	return awsutil.Prettify(s)
 33587  }
 33588  
 33589  // GoString returns the string representation.
 33590  //
 33591  // API parameter values that are decorated as "sensitive" in the API will not
 33592  // be included in the string output. The member name will be present, but the
 33593  // value will be replaced with "sensitive".
 33594  func (s GetRelationalDatabasesInput) GoString() string {
 33595  	return s.String()
 33596  }
 33597  
 33598  // SetPageToken sets the PageToken field's value.
 33599  func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
 33600  	s.PageToken = &v
 33601  	return s
 33602  }
 33603  
 33604  type GetRelationalDatabasesOutput struct {
 33605  	_ struct{} `type:"structure"`
 33606  
 33607  	// The token to advance to the next page of results from your request.
 33608  	//
 33609  	// A next page token is not returned if there are no more results to display.
 33610  	//
 33611  	// To get the next page of results, perform another GetRelationalDatabases request
 33612  	// and specify the next page token using the pageToken parameter.
 33613  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 33614  
 33615  	// An object describing the result of your get relational databases request.
 33616  	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
 33617  }
 33618  
 33619  // String returns the string representation.
 33620  //
 33621  // API parameter values that are decorated as "sensitive" in the API will not
 33622  // be included in the string output. The member name will be present, but the
 33623  // value will be replaced with "sensitive".
 33624  func (s GetRelationalDatabasesOutput) String() string {
 33625  	return awsutil.Prettify(s)
 33626  }
 33627  
 33628  // GoString returns the string representation.
 33629  //
 33630  // API parameter values that are decorated as "sensitive" in the API will not
 33631  // be included in the string output. The member name will be present, but the
 33632  // value will be replaced with "sensitive".
 33633  func (s GetRelationalDatabasesOutput) GoString() string {
 33634  	return s.String()
 33635  }
 33636  
 33637  // SetNextPageToken sets the NextPageToken field's value.
 33638  func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
 33639  	s.NextPageToken = &v
 33640  	return s
 33641  }
 33642  
 33643  // SetRelationalDatabases sets the RelationalDatabases field's value.
 33644  func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
 33645  	s.RelationalDatabases = v
 33646  	return s
 33647  }
 33648  
 33649  type GetStaticIpInput struct {
 33650  	_ struct{} `type:"structure"`
 33651  
 33652  	// The name of the static IP in Lightsail.
 33653  	//
 33654  	// StaticIpName is a required field
 33655  	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
 33656  }
 33657  
 33658  // String returns the string representation.
 33659  //
 33660  // API parameter values that are decorated as "sensitive" in the API will not
 33661  // be included in the string output. The member name will be present, but the
 33662  // value will be replaced with "sensitive".
 33663  func (s GetStaticIpInput) String() string {
 33664  	return awsutil.Prettify(s)
 33665  }
 33666  
 33667  // GoString returns the string representation.
 33668  //
 33669  // API parameter values that are decorated as "sensitive" in the API will not
 33670  // be included in the string output. The member name will be present, but the
 33671  // value will be replaced with "sensitive".
 33672  func (s GetStaticIpInput) GoString() string {
 33673  	return s.String()
 33674  }
 33675  
 33676  // Validate inspects the fields of the type to determine if they are valid.
 33677  func (s *GetStaticIpInput) Validate() error {
 33678  	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
 33679  	if s.StaticIpName == nil {
 33680  		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
 33681  	}
 33682  
 33683  	if invalidParams.Len() > 0 {
 33684  		return invalidParams
 33685  	}
 33686  	return nil
 33687  }
 33688  
 33689  // SetStaticIpName sets the StaticIpName field's value.
 33690  func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
 33691  	s.StaticIpName = &v
 33692  	return s
 33693  }
 33694  
 33695  type GetStaticIpOutput struct {
 33696  	_ struct{} `type:"structure"`
 33697  
 33698  	// An array of key-value pairs containing information about the requested static
 33699  	// IP.
 33700  	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
 33701  }
 33702  
 33703  // String returns the string representation.
 33704  //
 33705  // API parameter values that are decorated as "sensitive" in the API will not
 33706  // be included in the string output. The member name will be present, but the
 33707  // value will be replaced with "sensitive".
 33708  func (s GetStaticIpOutput) String() string {
 33709  	return awsutil.Prettify(s)
 33710  }
 33711  
 33712  // GoString returns the string representation.
 33713  //
 33714  // API parameter values that are decorated as "sensitive" in the API will not
 33715  // be included in the string output. The member name will be present, but the
 33716  // value will be replaced with "sensitive".
 33717  func (s GetStaticIpOutput) GoString() string {
 33718  	return s.String()
 33719  }
 33720  
 33721  // SetStaticIp sets the StaticIp field's value.
 33722  func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
 33723  	s.StaticIp = v
 33724  	return s
 33725  }
 33726  
 33727  type GetStaticIpsInput struct {
 33728  	_ struct{} `type:"structure"`
 33729  
 33730  	// The token to advance to the next page of results from your request.
 33731  	//
 33732  	// To get a page token, perform an initial GetStaticIps request. If your results
 33733  	// are paginated, the response will return a next page token that you can specify
 33734  	// as the page token in a subsequent request.
 33735  	PageToken *string `locationName:"pageToken" type:"string"`
 33736  }
 33737  
 33738  // String returns the string representation.
 33739  //
 33740  // API parameter values that are decorated as "sensitive" in the API will not
 33741  // be included in the string output. The member name will be present, but the
 33742  // value will be replaced with "sensitive".
 33743  func (s GetStaticIpsInput) String() string {
 33744  	return awsutil.Prettify(s)
 33745  }
 33746  
 33747  // GoString returns the string representation.
 33748  //
 33749  // API parameter values that are decorated as "sensitive" in the API will not
 33750  // be included in the string output. The member name will be present, but the
 33751  // value will be replaced with "sensitive".
 33752  func (s GetStaticIpsInput) GoString() string {
 33753  	return s.String()
 33754  }
 33755  
 33756  // SetPageToken sets the PageToken field's value.
 33757  func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
 33758  	s.PageToken = &v
 33759  	return s
 33760  }
 33761  
 33762  type GetStaticIpsOutput struct {
 33763  	_ struct{} `type:"structure"`
 33764  
 33765  	// The token to advance to the next page of results from your request.
 33766  	//
 33767  	// A next page token is not returned if there are no more results to display.
 33768  	//
 33769  	// To get the next page of results, perform another GetStaticIps request and
 33770  	// specify the next page token using the pageToken parameter.
 33771  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 33772  
 33773  	// An array of key-value pairs containing information about your get static
 33774  	// IPs request.
 33775  	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
 33776  }
 33777  
 33778  // String returns the string representation.
 33779  //
 33780  // API parameter values that are decorated as "sensitive" in the API will not
 33781  // be included in the string output. The member name will be present, but the
 33782  // value will be replaced with "sensitive".
 33783  func (s GetStaticIpsOutput) String() string {
 33784  	return awsutil.Prettify(s)
 33785  }
 33786  
 33787  // GoString returns the string representation.
 33788  //
 33789  // API parameter values that are decorated as "sensitive" in the API will not
 33790  // be included in the string output. The member name will be present, but the
 33791  // value will be replaced with "sensitive".
 33792  func (s GetStaticIpsOutput) GoString() string {
 33793  	return s.String()
 33794  }
 33795  
 33796  // SetNextPageToken sets the NextPageToken field's value.
 33797  func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
 33798  	s.NextPageToken = &v
 33799  	return s
 33800  }
 33801  
 33802  // SetStaticIps sets the StaticIps field's value.
 33803  func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
 33804  	s.StaticIps = v
 33805  	return s
 33806  }
 33807  
 33808  // Describes the request headers that a Lightsail distribution bases caching
 33809  // on.
 33810  //
 33811  // For the headers that you specify, your distribution caches separate versions
 33812  // of the specified content based on the header values in viewer requests. For
 33813  // example, suppose viewer requests for logo.jpg contain a custom product header
 33814  // that has a value of either acme or apex, and you configure your distribution
 33815  // to cache your content based on values in the product header. Your distribution
 33816  // forwards the product header to the origin and caches the response from the
 33817  // origin once for each header value.
 33818  type HeaderObject struct {
 33819  	_ struct{} `type:"structure"`
 33820  
 33821  	// The specific headers to forward to your distribution's origin.
 33822  	HeadersAllowList []*string `locationName:"headersAllowList" type:"list"`
 33823  
 33824  	// The headers that you want your distribution to forward to your origin and
 33825  	// base caching on.
 33826  	//
 33827  	// You can configure your distribution to do one of the following:
 33828  	//
 33829  	//    * all - Forward all headers to your origin.
 33830  	//
 33831  	//    * none - Forward only the default headers.
 33832  	//
 33833  	//    * allow-list - Forward only the headers you specify using the headersAllowList
 33834  	//    parameter.
 33835  	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
 33836  }
 33837  
 33838  // String returns the string representation.
 33839  //
 33840  // API parameter values that are decorated as "sensitive" in the API will not
 33841  // be included in the string output. The member name will be present, but the
 33842  // value will be replaced with "sensitive".
 33843  func (s HeaderObject) String() string {
 33844  	return awsutil.Prettify(s)
 33845  }
 33846  
 33847  // GoString returns the string representation.
 33848  //
 33849  // API parameter values that are decorated as "sensitive" in the API will not
 33850  // be included in the string output. The member name will be present, but the
 33851  // value will be replaced with "sensitive".
 33852  func (s HeaderObject) GoString() string {
 33853  	return s.String()
 33854  }
 33855  
 33856  // SetHeadersAllowList sets the HeadersAllowList field's value.
 33857  func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject {
 33858  	s.HeadersAllowList = v
 33859  	return s
 33860  }
 33861  
 33862  // SetOption sets the Option field's value.
 33863  func (s *HeaderObject) SetOption(v string) *HeaderObject {
 33864  	s.Option = &v
 33865  	return s
 33866  }
 33867  
 33868  // Describes the public SSH host keys or the RDP certificate.
 33869  type HostKeyAttributes struct {
 33870  	_ struct{} `type:"structure"`
 33871  
 33872  	// The SSH host key algorithm or the RDP certificate format.
 33873  	//
 33874  	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
 33875  	// etc. For RDP certificates, the algorithm is always x509-cert.
 33876  	Algorithm *string `locationName:"algorithm" type:"string"`
 33877  
 33878  	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
 33879  	//
 33880  	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
 33881  	//
 33882  	//    * 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
 33883  	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
 33884  
 33885  	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
 33886  	//
 33887  	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
 33888  	//
 33889  	//    * 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
 33890  	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
 33891  
 33892  	// The returned RDP certificate is not valid after this point in time.
 33893  	//
 33894  	// This value is listed only for RDP certificates.
 33895  	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
 33896  
 33897  	// The returned RDP certificate is valid after this point in time.
 33898  	//
 33899  	// This value is listed only for RDP certificates.
 33900  	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
 33901  
 33902  	// The public SSH host key or the RDP certificate.
 33903  	PublicKey *string `locationName:"publicKey" type:"string"`
 33904  
 33905  	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
 33906  	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
 33907  }
 33908  
 33909  // String returns the string representation.
 33910  //
 33911  // API parameter values that are decorated as "sensitive" in the API will not
 33912  // be included in the string output. The member name will be present, but the
 33913  // value will be replaced with "sensitive".
 33914  func (s HostKeyAttributes) String() string {
 33915  	return awsutil.Prettify(s)
 33916  }
 33917  
 33918  // GoString returns the string representation.
 33919  //
 33920  // API parameter values that are decorated as "sensitive" in the API will not
 33921  // be included in the string output. The member name will be present, but the
 33922  // value will be replaced with "sensitive".
 33923  func (s HostKeyAttributes) GoString() string {
 33924  	return s.String()
 33925  }
 33926  
 33927  // SetAlgorithm sets the Algorithm field's value.
 33928  func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
 33929  	s.Algorithm = &v
 33930  	return s
 33931  }
 33932  
 33933  // SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
 33934  func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
 33935  	s.FingerprintSHA1 = &v
 33936  	return s
 33937  }
 33938  
 33939  // SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
 33940  func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
 33941  	s.FingerprintSHA256 = &v
 33942  	return s
 33943  }
 33944  
 33945  // SetNotValidAfter sets the NotValidAfter field's value.
 33946  func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
 33947  	s.NotValidAfter = &v
 33948  	return s
 33949  }
 33950  
 33951  // SetNotValidBefore sets the NotValidBefore field's value.
 33952  func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
 33953  	s.NotValidBefore = &v
 33954  	return s
 33955  }
 33956  
 33957  // SetPublicKey sets the PublicKey field's value.
 33958  func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
 33959  	s.PublicKey = &v
 33960  	return s
 33961  }
 33962  
 33963  // SetWitnessedAt sets the WitnessedAt field's value.
 33964  func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
 33965  	s.WitnessedAt = &v
 33966  	return s
 33967  }
 33968  
 33969  type ImportKeyPairInput struct {
 33970  	_ struct{} `type:"structure"`
 33971  
 33972  	// The name of the key pair for which you want to import the public key.
 33973  	//
 33974  	// KeyPairName is a required field
 33975  	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
 33976  
 33977  	// A base64-encoded public key of the ssh-rsa type.
 33978  	//
 33979  	// PublicKeyBase64 is a required field
 33980  	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
 33981  }
 33982  
 33983  // String returns the string representation.
 33984  //
 33985  // API parameter values that are decorated as "sensitive" in the API will not
 33986  // be included in the string output. The member name will be present, but the
 33987  // value will be replaced with "sensitive".
 33988  func (s ImportKeyPairInput) String() string {
 33989  	return awsutil.Prettify(s)
 33990  }
 33991  
 33992  // GoString returns the string representation.
 33993  //
 33994  // API parameter values that are decorated as "sensitive" in the API will not
 33995  // be included in the string output. The member name will be present, but the
 33996  // value will be replaced with "sensitive".
 33997  func (s ImportKeyPairInput) GoString() string {
 33998  	return s.String()
 33999  }
 34000  
 34001  // Validate inspects the fields of the type to determine if they are valid.
 34002  func (s *ImportKeyPairInput) Validate() error {
 34003  	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
 34004  	if s.KeyPairName == nil {
 34005  		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
 34006  	}
 34007  	if s.PublicKeyBase64 == nil {
 34008  		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
 34009  	}
 34010  
 34011  	if invalidParams.Len() > 0 {
 34012  		return invalidParams
 34013  	}
 34014  	return nil
 34015  }
 34016  
 34017  // SetKeyPairName sets the KeyPairName field's value.
 34018  func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
 34019  	s.KeyPairName = &v
 34020  	return s
 34021  }
 34022  
 34023  // SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
 34024  func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
 34025  	s.PublicKeyBase64 = &v
 34026  	return s
 34027  }
 34028  
 34029  type ImportKeyPairOutput struct {
 34030  	_ struct{} `type:"structure"`
 34031  
 34032  	// An array of objects that describe the result of the action, such as the status
 34033  	// of the request, the timestamp of the request, and the resources affected
 34034  	// by the request.
 34035  	Operation *Operation `locationName:"operation" type:"structure"`
 34036  }
 34037  
 34038  // String returns the string representation.
 34039  //
 34040  // API parameter values that are decorated as "sensitive" in the API will not
 34041  // be included in the string output. The member name will be present, but the
 34042  // value will be replaced with "sensitive".
 34043  func (s ImportKeyPairOutput) String() string {
 34044  	return awsutil.Prettify(s)
 34045  }
 34046  
 34047  // GoString returns the string representation.
 34048  //
 34049  // API parameter values that are decorated as "sensitive" in the API will not
 34050  // be included in the string output. The member name will be present, but the
 34051  // value will be replaced with "sensitive".
 34052  func (s ImportKeyPairOutput) GoString() string {
 34053  	return s.String()
 34054  }
 34055  
 34056  // SetOperation sets the Operation field's value.
 34057  func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
 34058  	s.Operation = v
 34059  	return s
 34060  }
 34061  
 34062  // Describes the origin resource of an Amazon Lightsail content delivery network
 34063  // (CDN) distribution.
 34064  //
 34065  // An origin can be a Lightsail instance or load balancer. A distribution pulls
 34066  // content from an origin, caches it, and serves it to viewers via a worldwide
 34067  // network of edge servers.
 34068  type InputOrigin struct {
 34069  	_ struct{} `type:"structure"`
 34070  
 34071  	// The name of the origin resource.
 34072  	Name *string `locationName:"name" type:"string"`
 34073  
 34074  	// The protocol that your Amazon Lightsail distribution uses when establishing
 34075  	// a connection with your origin to pull content.
 34076  	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
 34077  
 34078  	// The AWS Region name of the origin resource.
 34079  	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
 34080  }
 34081  
 34082  // String returns the string representation.
 34083  //
 34084  // API parameter values that are decorated as "sensitive" in the API will not
 34085  // be included in the string output. The member name will be present, but the
 34086  // value will be replaced with "sensitive".
 34087  func (s InputOrigin) String() string {
 34088  	return awsutil.Prettify(s)
 34089  }
 34090  
 34091  // GoString returns the string representation.
 34092  //
 34093  // API parameter values that are decorated as "sensitive" in the API will not
 34094  // be included in the string output. The member name will be present, but the
 34095  // value will be replaced with "sensitive".
 34096  func (s InputOrigin) GoString() string {
 34097  	return s.String()
 34098  }
 34099  
 34100  // SetName sets the Name field's value.
 34101  func (s *InputOrigin) SetName(v string) *InputOrigin {
 34102  	s.Name = &v
 34103  	return s
 34104  }
 34105  
 34106  // SetProtocolPolicy sets the ProtocolPolicy field's value.
 34107  func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin {
 34108  	s.ProtocolPolicy = &v
 34109  	return s
 34110  }
 34111  
 34112  // SetRegionName sets the RegionName field's value.
 34113  func (s *InputOrigin) SetRegionName(v string) *InputOrigin {
 34114  	s.RegionName = &v
 34115  	return s
 34116  }
 34117  
 34118  // Describes an instance (a virtual private server).
 34119  type Instance struct {
 34120  	_ struct{} `type:"structure"`
 34121  
 34122  	// An array of objects representing the add-ons enabled on the instance.
 34123  	AddOns []*AddOn `locationName:"addOns" type:"list"`
 34124  
 34125  	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
 34126  	Arn *string `locationName:"arn" type:"string"`
 34127  
 34128  	// The blueprint ID (e.g., os_amlinux_2016_03).
 34129  	BlueprintId *string `locationName:"blueprintId" type:"string"`
 34130  
 34131  	// The friendly name of the blueprint (e.g., Amazon Linux).
 34132  	BlueprintName *string `locationName:"blueprintName" type:"string"`
 34133  
 34134  	// The bundle for the instance (e.g., micro_1_0).
 34135  	BundleId *string `locationName:"bundleId" type:"string"`
 34136  
 34137  	// The timestamp when the instance was created (e.g., 1479734909.17) in Unix
 34138  	// time format.
 34139  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 34140  
 34141  	// The size of the vCPU and the amount of RAM for the instance.
 34142  	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
 34143  
 34144  	// The IP address type of the instance.
 34145  	//
 34146  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 34147  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 34148  
 34149  	// The IPv6 addresses of the instance.
 34150  	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
 34151  
 34152  	// A Boolean value indicating whether this instance has a static IP assigned
 34153  	// to it.
 34154  	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
 34155  
 34156  	// The region name and Availability Zone where the instance is located.
 34157  	Location *ResourceLocation `locationName:"location" type:"structure"`
 34158  
 34159  	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
 34160  	Name *string `locationName:"name" type:"string"`
 34161  
 34162  	// Information about the public ports and monthly data transfer rates for the
 34163  	// instance.
 34164  	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
 34165  
 34166  	// The private IP address of the instance.
 34167  	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
 34168  
 34169  	// The public IP address of the instance.
 34170  	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
 34171  
 34172  	// The type of resource (usually Instance).
 34173  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 34174  
 34175  	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
 34176  	SshKeyName *string `locationName:"sshKeyName" type:"string"`
 34177  
 34178  	// The status code and the state (e.g., running) for the instance.
 34179  	State *InstanceState `locationName:"state" type:"structure"`
 34180  
 34181  	// The support code. Include this code in your email to support when you have
 34182  	// questions about an instance or another resource in Lightsail. This code enables
 34183  	// our support team to look up your Lightsail information more easily.
 34184  	SupportCode *string `locationName:"supportCode" type:"string"`
 34185  
 34186  	// The tag keys and optional values for the resource. For more information about
 34187  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 34188  	Tags []*Tag `locationName:"tags" type:"list"`
 34189  
 34190  	// The user name for connecting to the instance (e.g., ec2-user).
 34191  	Username *string `locationName:"username" type:"string"`
 34192  }
 34193  
 34194  // String returns the string representation.
 34195  //
 34196  // API parameter values that are decorated as "sensitive" in the API will not
 34197  // be included in the string output. The member name will be present, but the
 34198  // value will be replaced with "sensitive".
 34199  func (s Instance) String() string {
 34200  	return awsutil.Prettify(s)
 34201  }
 34202  
 34203  // GoString returns the string representation.
 34204  //
 34205  // API parameter values that are decorated as "sensitive" in the API will not
 34206  // be included in the string output. The member name will be present, but the
 34207  // value will be replaced with "sensitive".
 34208  func (s Instance) GoString() string {
 34209  	return s.String()
 34210  }
 34211  
 34212  // SetAddOns sets the AddOns field's value.
 34213  func (s *Instance) SetAddOns(v []*AddOn) *Instance {
 34214  	s.AddOns = v
 34215  	return s
 34216  }
 34217  
 34218  // SetArn sets the Arn field's value.
 34219  func (s *Instance) SetArn(v string) *Instance {
 34220  	s.Arn = &v
 34221  	return s
 34222  }
 34223  
 34224  // SetBlueprintId sets the BlueprintId field's value.
 34225  func (s *Instance) SetBlueprintId(v string) *Instance {
 34226  	s.BlueprintId = &v
 34227  	return s
 34228  }
 34229  
 34230  // SetBlueprintName sets the BlueprintName field's value.
 34231  func (s *Instance) SetBlueprintName(v string) *Instance {
 34232  	s.BlueprintName = &v
 34233  	return s
 34234  }
 34235  
 34236  // SetBundleId sets the BundleId field's value.
 34237  func (s *Instance) SetBundleId(v string) *Instance {
 34238  	s.BundleId = &v
 34239  	return s
 34240  }
 34241  
 34242  // SetCreatedAt sets the CreatedAt field's value.
 34243  func (s *Instance) SetCreatedAt(v time.Time) *Instance {
 34244  	s.CreatedAt = &v
 34245  	return s
 34246  }
 34247  
 34248  // SetHardware sets the Hardware field's value.
 34249  func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
 34250  	s.Hardware = v
 34251  	return s
 34252  }
 34253  
 34254  // SetIpAddressType sets the IpAddressType field's value.
 34255  func (s *Instance) SetIpAddressType(v string) *Instance {
 34256  	s.IpAddressType = &v
 34257  	return s
 34258  }
 34259  
 34260  // SetIpv6Addresses sets the Ipv6Addresses field's value.
 34261  func (s *Instance) SetIpv6Addresses(v []*string) *Instance {
 34262  	s.Ipv6Addresses = v
 34263  	return s
 34264  }
 34265  
 34266  // SetIsStaticIp sets the IsStaticIp field's value.
 34267  func (s *Instance) SetIsStaticIp(v bool) *Instance {
 34268  	s.IsStaticIp = &v
 34269  	return s
 34270  }
 34271  
 34272  // SetLocation sets the Location field's value.
 34273  func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
 34274  	s.Location = v
 34275  	return s
 34276  }
 34277  
 34278  // SetName sets the Name field's value.
 34279  func (s *Instance) SetName(v string) *Instance {
 34280  	s.Name = &v
 34281  	return s
 34282  }
 34283  
 34284  // SetNetworking sets the Networking field's value.
 34285  func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
 34286  	s.Networking = v
 34287  	return s
 34288  }
 34289  
 34290  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 34291  func (s *Instance) SetPrivateIpAddress(v string) *Instance {
 34292  	s.PrivateIpAddress = &v
 34293  	return s
 34294  }
 34295  
 34296  // SetPublicIpAddress sets the PublicIpAddress field's value.
 34297  func (s *Instance) SetPublicIpAddress(v string) *Instance {
 34298  	s.PublicIpAddress = &v
 34299  	return s
 34300  }
 34301  
 34302  // SetResourceType sets the ResourceType field's value.
 34303  func (s *Instance) SetResourceType(v string) *Instance {
 34304  	s.ResourceType = &v
 34305  	return s
 34306  }
 34307  
 34308  // SetSshKeyName sets the SshKeyName field's value.
 34309  func (s *Instance) SetSshKeyName(v string) *Instance {
 34310  	s.SshKeyName = &v
 34311  	return s
 34312  }
 34313  
 34314  // SetState sets the State field's value.
 34315  func (s *Instance) SetState(v *InstanceState) *Instance {
 34316  	s.State = v
 34317  	return s
 34318  }
 34319  
 34320  // SetSupportCode sets the SupportCode field's value.
 34321  func (s *Instance) SetSupportCode(v string) *Instance {
 34322  	s.SupportCode = &v
 34323  	return s
 34324  }
 34325  
 34326  // SetTags sets the Tags field's value.
 34327  func (s *Instance) SetTags(v []*Tag) *Instance {
 34328  	s.Tags = v
 34329  	return s
 34330  }
 34331  
 34332  // SetUsername sets the Username field's value.
 34333  func (s *Instance) SetUsername(v string) *Instance {
 34334  	s.Username = &v
 34335  	return s
 34336  }
 34337  
 34338  // The parameters for gaining temporary access to one of your Amazon Lightsail
 34339  // instances.
 34340  type InstanceAccessDetails struct {
 34341  	_ struct{} `type:"structure"`
 34342  
 34343  	// For SSH access, the public key to use when accessing your instance For OpenSSH
 34344  	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
 34345  	CertKey *string `locationName:"certKey" type:"string"`
 34346  
 34347  	// For SSH access, the date on which the temporary keys expire.
 34348  	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
 34349  
 34350  	// Describes the public SSH host keys or the RDP certificate.
 34351  	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
 34352  
 34353  	// The name of this Amazon Lightsail instance.
 34354  	InstanceName *string `locationName:"instanceName" type:"string"`
 34355  
 34356  	// The public IP address of the Amazon Lightsail instance.
 34357  	IpAddress *string `locationName:"ipAddress" type:"string"`
 34358  
 34359  	// For RDP access, the password for your Amazon Lightsail instance. Password
 34360  	// will be an empty string if the password for your new instance is not ready
 34361  	// yet. When you create an instance, it can take up to 15 minutes for the instance
 34362  	// to be ready.
 34363  	//
 34364  	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
 34365  	// password will always be an empty string.
 34366  	//
 34367  	// If you change the Administrator password on the instance, Lightsail will
 34368  	// continue to return the original password value. When accessing the instance
 34369  	// using RDP, you need to manually enter the Administrator password after changing
 34370  	// it from the default.
 34371  	Password *string `locationName:"password" type:"string"`
 34372  
 34373  	// For a Windows Server-based instance, an object with the data you can use
 34374  	// to retrieve your password. This is only needed if password is empty and the
 34375  	// instance is not new (and therefore the password is not ready yet). When you
 34376  	// create an instance, it can take up to 15 minutes for the instance to be ready.
 34377  	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
 34378  
 34379  	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
 34380  	// line SSH), you should save this value to tempkey).
 34381  	PrivateKey *string `locationName:"privateKey" type:"string"`
 34382  
 34383  	// The protocol for these Amazon Lightsail instance access details.
 34384  	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
 34385  
 34386  	// The user name to use when logging in to the Amazon Lightsail instance.
 34387  	Username *string `locationName:"username" type:"string"`
 34388  }
 34389  
 34390  // String returns the string representation.
 34391  //
 34392  // API parameter values that are decorated as "sensitive" in the API will not
 34393  // be included in the string output. The member name will be present, but the
 34394  // value will be replaced with "sensitive".
 34395  func (s InstanceAccessDetails) String() string {
 34396  	return awsutil.Prettify(s)
 34397  }
 34398  
 34399  // GoString returns the string representation.
 34400  //
 34401  // API parameter values that are decorated as "sensitive" in the API will not
 34402  // be included in the string output. The member name will be present, but the
 34403  // value will be replaced with "sensitive".
 34404  func (s InstanceAccessDetails) GoString() string {
 34405  	return s.String()
 34406  }
 34407  
 34408  // SetCertKey sets the CertKey field's value.
 34409  func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
 34410  	s.CertKey = &v
 34411  	return s
 34412  }
 34413  
 34414  // SetExpiresAt sets the ExpiresAt field's value.
 34415  func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
 34416  	s.ExpiresAt = &v
 34417  	return s
 34418  }
 34419  
 34420  // SetHostKeys sets the HostKeys field's value.
 34421  func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
 34422  	s.HostKeys = v
 34423  	return s
 34424  }
 34425  
 34426  // SetInstanceName sets the InstanceName field's value.
 34427  func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
 34428  	s.InstanceName = &v
 34429  	return s
 34430  }
 34431  
 34432  // SetIpAddress sets the IpAddress field's value.
 34433  func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
 34434  	s.IpAddress = &v
 34435  	return s
 34436  }
 34437  
 34438  // SetPassword sets the Password field's value.
 34439  func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
 34440  	s.Password = &v
 34441  	return s
 34442  }
 34443  
 34444  // SetPasswordData sets the PasswordData field's value.
 34445  func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
 34446  	s.PasswordData = v
 34447  	return s
 34448  }
 34449  
 34450  // SetPrivateKey sets the PrivateKey field's value.
 34451  func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
 34452  	s.PrivateKey = &v
 34453  	return s
 34454  }
 34455  
 34456  // SetProtocol sets the Protocol field's value.
 34457  func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
 34458  	s.Protocol = &v
 34459  	return s
 34460  }
 34461  
 34462  // SetUsername sets the Username field's value.
 34463  func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
 34464  	s.Username = &v
 34465  	return s
 34466  }
 34467  
 34468  // Describes the Amazon Elastic Compute Cloud instance and related resources
 34469  // to be created using the create cloud formation stack operation.
 34470  type InstanceEntry struct {
 34471  	_ struct{} `type:"structure"`
 34472  
 34473  	// The Availability Zone for the new Amazon EC2 instance.
 34474  	//
 34475  	// AvailabilityZone is a required field
 34476  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
 34477  
 34478  	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
 34479  	//
 34480  	// InstanceType is a required field
 34481  	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
 34482  
 34483  	// The port configuration to use for the new Amazon EC2 instance.
 34484  	//
 34485  	// The following configuration options are available:
 34486  	//
 34487  	//    * DEFAULT - Use the default firewall settings from the Lightsail instance
 34488  	//    blueprint. If this is specified, then IPv4 and IPv6 will be configured
 34489  	//    for the new instance that is created in Amazon EC2.
 34490  	//
 34491  	//    * INSTANCE - Use the configured firewall settings from the source Lightsail
 34492  	//    instance. If this is specified, the new instance that is created in Amazon
 34493  	//    EC2 will be configured to match the configuration of the source Lightsail
 34494  	//    instance. For example, if the source instance is configured for dual-stack
 34495  	//    (IPv4 and IPv6), then IPv4 and IPv6 will be configured for the new instance
 34496  	//    that is created in Amazon EC2. If the source instance is configured for
 34497  	//    IPv4 only, then only IPv4 will be configured for the new instance that
 34498  	//    is created in Amazon EC2.
 34499  	//
 34500  	//    * NONE - Use the default Amazon EC2 security group. If this is specified,
 34501  	//    then only IPv4 will be configured for the new instance that is created
 34502  	//    in Amazon EC2.
 34503  	//
 34504  	//    * CLOSED - All ports closed. If this is specified, then only IPv4 will
 34505  	//    be configured for the new instance that is created in Amazon EC2.
 34506  	//
 34507  	// If you configured lightsail-connect as a cidrListAliases on your instance,
 34508  	// or if you chose to allow the Lightsail browser-based SSH or RDP clients to
 34509  	// connect to your instance, that configuration is not carried over to your
 34510  	// new Amazon EC2 instance.
 34511  	//
 34512  	// PortInfoSource is a required field
 34513  	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
 34514  
 34515  	// The name of the export snapshot record, which contains the exported Lightsail
 34516  	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
 34517  	//
 34518  	// Use the get export snapshot records operation to get a list of export snapshot
 34519  	// records that you can use to create a CloudFormation stack.
 34520  	//
 34521  	// SourceName is a required field
 34522  	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
 34523  
 34524  	// A launch script you can create that configures a server with additional user
 34525  	// data. For example, you might want to run apt-get -y update.
 34526  	//
 34527  	// Depending on the machine image you choose, the command to get software on
 34528  	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
 34529  	// use apt-get, and FreeBSD uses pkg.
 34530  	UserData *string `locationName:"userData" type:"string"`
 34531  }
 34532  
 34533  // String returns the string representation.
 34534  //
 34535  // API parameter values that are decorated as "sensitive" in the API will not
 34536  // be included in the string output. The member name will be present, but the
 34537  // value will be replaced with "sensitive".
 34538  func (s InstanceEntry) String() string {
 34539  	return awsutil.Prettify(s)
 34540  }
 34541  
 34542  // GoString returns the string representation.
 34543  //
 34544  // API parameter values that are decorated as "sensitive" in the API will not
 34545  // be included in the string output. The member name will be present, but the
 34546  // value will be replaced with "sensitive".
 34547  func (s InstanceEntry) GoString() string {
 34548  	return s.String()
 34549  }
 34550  
 34551  // Validate inspects the fields of the type to determine if they are valid.
 34552  func (s *InstanceEntry) Validate() error {
 34553  	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
 34554  	if s.AvailabilityZone == nil {
 34555  		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
 34556  	}
 34557  	if s.InstanceType == nil {
 34558  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
 34559  	}
 34560  	if s.PortInfoSource == nil {
 34561  		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
 34562  	}
 34563  	if s.SourceName == nil {
 34564  		invalidParams.Add(request.NewErrParamRequired("SourceName"))
 34565  	}
 34566  
 34567  	if invalidParams.Len() > 0 {
 34568  		return invalidParams
 34569  	}
 34570  	return nil
 34571  }
 34572  
 34573  // SetAvailabilityZone sets the AvailabilityZone field's value.
 34574  func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
 34575  	s.AvailabilityZone = &v
 34576  	return s
 34577  }
 34578  
 34579  // SetInstanceType sets the InstanceType field's value.
 34580  func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
 34581  	s.InstanceType = &v
 34582  	return s
 34583  }
 34584  
 34585  // SetPortInfoSource sets the PortInfoSource field's value.
 34586  func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
 34587  	s.PortInfoSource = &v
 34588  	return s
 34589  }
 34590  
 34591  // SetSourceName sets the SourceName field's value.
 34592  func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
 34593  	s.SourceName = &v
 34594  	return s
 34595  }
 34596  
 34597  // SetUserData sets the UserData field's value.
 34598  func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
 34599  	s.UserData = &v
 34600  	return s
 34601  }
 34602  
 34603  // Describes the hardware for the instance.
 34604  type InstanceHardware struct {
 34605  	_ struct{} `type:"structure"`
 34606  
 34607  	// The number of vCPUs the instance has.
 34608  	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
 34609  
 34610  	// The disks attached to the instance.
 34611  	Disks []*Disk `locationName:"disks" type:"list"`
 34612  
 34613  	// The amount of RAM in GB on the instance (e.g., 1.0).
 34614  	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
 34615  }
 34616  
 34617  // String returns the string representation.
 34618  //
 34619  // API parameter values that are decorated as "sensitive" in the API will not
 34620  // be included in the string output. The member name will be present, but the
 34621  // value will be replaced with "sensitive".
 34622  func (s InstanceHardware) String() string {
 34623  	return awsutil.Prettify(s)
 34624  }
 34625  
 34626  // GoString returns the string representation.
 34627  //
 34628  // API parameter values that are decorated as "sensitive" in the API will not
 34629  // be included in the string output. The member name will be present, but the
 34630  // value will be replaced with "sensitive".
 34631  func (s InstanceHardware) GoString() string {
 34632  	return s.String()
 34633  }
 34634  
 34635  // SetCpuCount sets the CpuCount field's value.
 34636  func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
 34637  	s.CpuCount = &v
 34638  	return s
 34639  }
 34640  
 34641  // SetDisks sets the Disks field's value.
 34642  func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
 34643  	s.Disks = v
 34644  	return s
 34645  }
 34646  
 34647  // SetRamSizeInGb sets the RamSizeInGb field's value.
 34648  func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
 34649  	s.RamSizeInGb = &v
 34650  	return s
 34651  }
 34652  
 34653  // Describes information about the health of the instance.
 34654  type InstanceHealthSummary struct {
 34655  	_ struct{} `type:"structure"`
 34656  
 34657  	// Describes the overall instance health. Valid values are below.
 34658  	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
 34659  
 34660  	// More information about the instance health. If the instanceHealth is healthy,
 34661  	// then an instanceHealthReason value is not provided.
 34662  	//
 34663  	// If instanceHealth is initial, the instanceHealthReason value can be one of
 34664  	// the following:
 34665  	//
 34666  	//    * Lb.RegistrationInProgress - The target instance is in the process of
 34667  	//    being registered with the load balancer.
 34668  	//
 34669  	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
 34670  	//    the target instance the minimum number of health checks required to determine
 34671  	//    its health status.
 34672  	//
 34673  	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
 34674  	// of the following:
 34675  	//
 34676  	//    * Instance.ResponseCodeMismatch - The health checks did not return an
 34677  	//    expected HTTP code.
 34678  	//
 34679  	//    * Instance.Timeout - The health check requests timed out.
 34680  	//
 34681  	//    * Instance.FailedHealthChecks - The health checks failed because the connection
 34682  	//    to the target instance timed out, the target instance response was malformed,
 34683  	//    or the target instance failed the health check for an unknown reason.
 34684  	//
 34685  	//    * Lb.InternalError - The health checks failed due to an internal error.
 34686  	//
 34687  	// If instanceHealth is unused, the instanceHealthReason value can be one of
 34688  	// the following:
 34689  	//
 34690  	//    * Instance.NotRegistered - The target instance is not registered with
 34691  	//    the target group.
 34692  	//
 34693  	//    * Instance.NotInUse - The target group is not used by any load balancer,
 34694  	//    or the target instance is in an Availability Zone that is not enabled
 34695  	//    for its load balancer.
 34696  	//
 34697  	//    * Instance.IpUnusable - The target IP address is reserved for use by a
 34698  	//    Lightsail load balancer.
 34699  	//
 34700  	//    * Instance.InvalidState - The target is in the stopped or terminated state.
 34701  	//
 34702  	// If instanceHealth is draining, the instanceHealthReason value can be one
 34703  	// of the following:
 34704  	//
 34705  	//    * Instance.DeregistrationInProgress - The target instance is in the process
 34706  	//    of being deregistered and the deregistration delay period has not expired.
 34707  	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
 34708  
 34709  	// The name of the Lightsail instance for which you are requesting health check
 34710  	// data.
 34711  	InstanceName *string `locationName:"instanceName" type:"string"`
 34712  }
 34713  
 34714  // String returns the string representation.
 34715  //
 34716  // API parameter values that are decorated as "sensitive" in the API will not
 34717  // be included in the string output. The member name will be present, but the
 34718  // value will be replaced with "sensitive".
 34719  func (s InstanceHealthSummary) String() string {
 34720  	return awsutil.Prettify(s)
 34721  }
 34722  
 34723  // GoString returns the string representation.
 34724  //
 34725  // API parameter values that are decorated as "sensitive" in the API will not
 34726  // be included in the string output. The member name will be present, but the
 34727  // value will be replaced with "sensitive".
 34728  func (s InstanceHealthSummary) GoString() string {
 34729  	return s.String()
 34730  }
 34731  
 34732  // SetInstanceHealth sets the InstanceHealth field's value.
 34733  func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
 34734  	s.InstanceHealth = &v
 34735  	return s
 34736  }
 34737  
 34738  // SetInstanceHealthReason sets the InstanceHealthReason field's value.
 34739  func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
 34740  	s.InstanceHealthReason = &v
 34741  	return s
 34742  }
 34743  
 34744  // SetInstanceName sets the InstanceName field's value.
 34745  func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
 34746  	s.InstanceName = &v
 34747  	return s
 34748  }
 34749  
 34750  // Describes monthly data transfer rates and port information for an instance.
 34751  type InstanceNetworking struct {
 34752  	_ struct{} `type:"structure"`
 34753  
 34754  	// The amount of data in GB allocated for monthly data transfers.
 34755  	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
 34756  
 34757  	// An array of key-value pairs containing information about the ports on the
 34758  	// instance.
 34759  	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
 34760  }
 34761  
 34762  // String returns the string representation.
 34763  //
 34764  // API parameter values that are decorated as "sensitive" in the API will not
 34765  // be included in the string output. The member name will be present, but the
 34766  // value will be replaced with "sensitive".
 34767  func (s InstanceNetworking) String() string {
 34768  	return awsutil.Prettify(s)
 34769  }
 34770  
 34771  // GoString returns the string representation.
 34772  //
 34773  // API parameter values that are decorated as "sensitive" in the API will not
 34774  // be included in the string output. The member name will be present, but the
 34775  // value will be replaced with "sensitive".
 34776  func (s InstanceNetworking) GoString() string {
 34777  	return s.String()
 34778  }
 34779  
 34780  // SetMonthlyTransfer sets the MonthlyTransfer field's value.
 34781  func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
 34782  	s.MonthlyTransfer = v
 34783  	return s
 34784  }
 34785  
 34786  // SetPorts sets the Ports field's value.
 34787  func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
 34788  	s.Ports = v
 34789  	return s
 34790  }
 34791  
 34792  // Describes information about ports for an Amazon Lightsail instance.
 34793  type InstancePortInfo struct {
 34794  	_ struct{} `type:"structure"`
 34795  
 34796  	// The access direction (inbound or outbound).
 34797  	//
 34798  	// Lightsail currently supports only inbound access direction.
 34799  	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
 34800  
 34801  	// The location from which access is allowed. For example, Anywhere (0.0.0.0/0),
 34802  	// or Custom if a specific IP address or range of IP addresses is allowed.
 34803  	AccessFrom *string `locationName:"accessFrom" type:"string"`
 34804  
 34805  	// The type of access (Public or Private).
 34806  	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
 34807  
 34808  	// An alias that defines access for a preconfigured range of IP addresses.
 34809  	//
 34810  	// The only alias currently supported is lightsail-connect, which allows IP
 34811  	// addresses of the browser-based RDP/SSH client in the Lightsail console to
 34812  	// connect to your instance.
 34813  	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
 34814  
 34815  	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
 34816  	// allowed to connect to an instance through the ports, and the protocol.
 34817  	//
 34818  	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
 34819  	// to an instance.
 34820  	//
 34821  	// For more information about CIDR block notation, see Classless Inter-Domain
 34822  	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
 34823  	// on Wikipedia.
 34824  	Cidrs []*string `locationName:"cidrs" type:"list"`
 34825  
 34826  	// The common name of the port information.
 34827  	CommonName *string `locationName:"commonName" type:"string"`
 34828  
 34829  	// The first port in a range of open ports on an instance.
 34830  	//
 34831  	// Allowed ports:
 34832  	//
 34833  	//    * TCP and UDP - 0 to 65535
 34834  	//
 34835  	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
 34836  	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
 34837  	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
 34838  	//    on Wikipedia.
 34839  	//
 34840  	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
 34841  	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
 34842  	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
 34843  	FromPort *int64 `locationName:"fromPort" type:"integer"`
 34844  
 34845  	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
 34846  	// allowed to connect to an instance through the ports, and the protocol. Only
 34847  	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
 34848  	// IPv4 should be used.
 34849  	//
 34850  	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
 34851  	// to an instance.
 34852  	//
 34853  	// For more information about CIDR block notation, see Classless Inter-Domain
 34854  	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
 34855  	// on Wikipedia.
 34856  	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
 34857  
 34858  	// The IP protocol name.
 34859  	//
 34860  	// The name can be one of the following:
 34861  	//
 34862  	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
 34863  	//    and error-checked delivery of streamed data between applications running
 34864  	//    on hosts communicating by an IP network. If you have an application that
 34865  	//    doesn't require reliable data stream service, use UDP instead.
 34866  	//
 34867  	//    * all - All transport layer protocol types. For more general information,
 34868  	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
 34869  	//    Wikipedia.
 34870  	//
 34871  	//    * udp - With User Datagram Protocol (UDP), computer applications can send
 34872  	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
 34873  	//    Prior communications are not required to set up transmission channels
 34874  	//    or data paths. Applications that don't require reliable data stream service
 34875  	//    can use UDP, which provides a connectionless datagram service that emphasizes
 34876  	//    reduced latency over reliability. If you do require reliable data stream
 34877  	//    service, use TCP instead.
 34878  	//
 34879  	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
 34880  	//    messages and operational information indicating success or failure when
 34881  	//    communicating with an instance. For example, an error is indicated when
 34882  	//    an instance could not be reached. When you specify icmp as the protocol,
 34883  	//    you must specify the ICMP type using the fromPort parameter, and ICMP
 34884  	//    code using the toPort parameter.
 34885  	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
 34886  
 34887  	// The last port in a range of open ports on an instance.
 34888  	//
 34889  	// Allowed ports:
 34890  	//
 34891  	//    * TCP and UDP - 0 to 65535
 34892  	//
 34893  	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
 34894  	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
 34895  	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
 34896  	//    on Wikipedia.
 34897  	//
 34898  	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
 34899  	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
 34900  	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
 34901  	ToPort *int64 `locationName:"toPort" type:"integer"`
 34902  }
 34903  
 34904  // String returns the string representation.
 34905  //
 34906  // API parameter values that are decorated as "sensitive" in the API will not
 34907  // be included in the string output. The member name will be present, but the
 34908  // value will be replaced with "sensitive".
 34909  func (s InstancePortInfo) String() string {
 34910  	return awsutil.Prettify(s)
 34911  }
 34912  
 34913  // GoString returns the string representation.
 34914  //
 34915  // API parameter values that are decorated as "sensitive" in the API will not
 34916  // be included in the string output. The member name will be present, but the
 34917  // value will be replaced with "sensitive".
 34918  func (s InstancePortInfo) GoString() string {
 34919  	return s.String()
 34920  }
 34921  
 34922  // SetAccessDirection sets the AccessDirection field's value.
 34923  func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
 34924  	s.AccessDirection = &v
 34925  	return s
 34926  }
 34927  
 34928  // SetAccessFrom sets the AccessFrom field's value.
 34929  func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
 34930  	s.AccessFrom = &v
 34931  	return s
 34932  }
 34933  
 34934  // SetAccessType sets the AccessType field's value.
 34935  func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
 34936  	s.AccessType = &v
 34937  	return s
 34938  }
 34939  
 34940  // SetCidrListAliases sets the CidrListAliases field's value.
 34941  func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo {
 34942  	s.CidrListAliases = v
 34943  	return s
 34944  }
 34945  
 34946  // SetCidrs sets the Cidrs field's value.
 34947  func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo {
 34948  	s.Cidrs = v
 34949  	return s
 34950  }
 34951  
 34952  // SetCommonName sets the CommonName field's value.
 34953  func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
 34954  	s.CommonName = &v
 34955  	return s
 34956  }
 34957  
 34958  // SetFromPort sets the FromPort field's value.
 34959  func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
 34960  	s.FromPort = &v
 34961  	return s
 34962  }
 34963  
 34964  // SetIpv6Cidrs sets the Ipv6Cidrs field's value.
 34965  func (s *InstancePortInfo) SetIpv6Cidrs(v []*string) *InstancePortInfo {
 34966  	s.Ipv6Cidrs = v
 34967  	return s
 34968  }
 34969  
 34970  // SetProtocol sets the Protocol field's value.
 34971  func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
 34972  	s.Protocol = &v
 34973  	return s
 34974  }
 34975  
 34976  // SetToPort sets the ToPort field's value.
 34977  func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
 34978  	s.ToPort = &v
 34979  	return s
 34980  }
 34981  
 34982  // Describes open ports on an instance, the IP addresses allowed to connect
 34983  // to the instance through the ports, and the protocol.
 34984  type InstancePortState struct {
 34985  	_ struct{} `type:"structure"`
 34986  
 34987  	// An alias that defines access for a preconfigured range of IP addresses.
 34988  	//
 34989  	// The only alias currently supported is lightsail-connect, which allows IP
 34990  	// addresses of the browser-based RDP/SSH client in the Lightsail console to
 34991  	// connect to your instance.
 34992  	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
 34993  
 34994  	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
 34995  	// allowed to connect to an instance through the ports, and the protocol.
 34996  	//
 34997  	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
 34998  	// to an instance.
 34999  	//
 35000  	// For more information about CIDR block notation, see Classless Inter-Domain
 35001  	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
 35002  	// on Wikipedia.
 35003  	Cidrs []*string `locationName:"cidrs" type:"list"`
 35004  
 35005  	// The first port in a range of open ports on an instance.
 35006  	//
 35007  	// Allowed ports:
 35008  	//
 35009  	//    * TCP and UDP - 0 to 65535
 35010  	//
 35011  	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
 35012  	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
 35013  	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
 35014  	//    on Wikipedia.
 35015  	//
 35016  	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
 35017  	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
 35018  	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
 35019  	FromPort *int64 `locationName:"fromPort" type:"integer"`
 35020  
 35021  	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
 35022  	// allowed to connect to an instance through the ports, and the protocol. Only
 35023  	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
 35024  	// IPv4 should be used.
 35025  	//
 35026  	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
 35027  	// to an instance.
 35028  	//
 35029  	// For more information about CIDR block notation, see Classless Inter-Domain
 35030  	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
 35031  	// on Wikipedia.
 35032  	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
 35033  
 35034  	// The IP protocol name.
 35035  	//
 35036  	// The name can be one of the following:
 35037  	//
 35038  	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
 35039  	//    and error-checked delivery of streamed data between applications running
 35040  	//    on hosts communicating by an IP network. If you have an application that
 35041  	//    doesn't require reliable data stream service, use UDP instead.
 35042  	//
 35043  	//    * all - All transport layer protocol types. For more general information,
 35044  	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
 35045  	//    Wikipedia.
 35046  	//
 35047  	//    * udp - With User Datagram Protocol (UDP), computer applications can send
 35048  	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
 35049  	//    Prior communications are not required to set up transmission channels
 35050  	//    or data paths. Applications that don't require reliable data stream service
 35051  	//    can use UDP, which provides a connectionless datagram service that emphasizes
 35052  	//    reduced latency over reliability. If you do require reliable data stream
 35053  	//    service, use TCP instead.
 35054  	//
 35055  	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
 35056  	//    messages and operational information indicating success or failure when
 35057  	//    communicating with an instance. For example, an error is indicated when
 35058  	//    an instance could not be reached. When you specify icmp as the protocol,
 35059  	//    you must specify the ICMP type using the fromPort parameter, and ICMP
 35060  	//    code using the toPort parameter.
 35061  	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
 35062  
 35063  	// Specifies whether the instance port is open or closed.
 35064  	//
 35065  	// The port state for Lightsail instances is always open.
 35066  	State *string `locationName:"state" type:"string" enum:"PortState"`
 35067  
 35068  	// The last port in a range of open ports on an instance.
 35069  	//
 35070  	// Allowed ports:
 35071  	//
 35072  	//    * TCP and UDP - 0 to 65535
 35073  	//
 35074  	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
 35075  	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
 35076  	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
 35077  	//    on Wikipedia.
 35078  	//
 35079  	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
 35080  	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
 35081  	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
 35082  	ToPort *int64 `locationName:"toPort" type:"integer"`
 35083  }
 35084  
 35085  // String returns the string representation.
 35086  //
 35087  // API parameter values that are decorated as "sensitive" in the API will not
 35088  // be included in the string output. The member name will be present, but the
 35089  // value will be replaced with "sensitive".
 35090  func (s InstancePortState) String() string {
 35091  	return awsutil.Prettify(s)
 35092  }
 35093  
 35094  // GoString returns the string representation.
 35095  //
 35096  // API parameter values that are decorated as "sensitive" in the API will not
 35097  // be included in the string output. The member name will be present, but the
 35098  // value will be replaced with "sensitive".
 35099  func (s InstancePortState) GoString() string {
 35100  	return s.String()
 35101  }
 35102  
 35103  // SetCidrListAliases sets the CidrListAliases field's value.
 35104  func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState {
 35105  	s.CidrListAliases = v
 35106  	return s
 35107  }
 35108  
 35109  // SetCidrs sets the Cidrs field's value.
 35110  func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState {
 35111  	s.Cidrs = v
 35112  	return s
 35113  }
 35114  
 35115  // SetFromPort sets the FromPort field's value.
 35116  func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
 35117  	s.FromPort = &v
 35118  	return s
 35119  }
 35120  
 35121  // SetIpv6Cidrs sets the Ipv6Cidrs field's value.
 35122  func (s *InstancePortState) SetIpv6Cidrs(v []*string) *InstancePortState {
 35123  	s.Ipv6Cidrs = v
 35124  	return s
 35125  }
 35126  
 35127  // SetProtocol sets the Protocol field's value.
 35128  func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
 35129  	s.Protocol = &v
 35130  	return s
 35131  }
 35132  
 35133  // SetState sets the State field's value.
 35134  func (s *InstancePortState) SetState(v string) *InstancePortState {
 35135  	s.State = &v
 35136  	return s
 35137  }
 35138  
 35139  // SetToPort sets the ToPort field's value.
 35140  func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
 35141  	s.ToPort = &v
 35142  	return s
 35143  }
 35144  
 35145  // Describes an instance snapshot.
 35146  type InstanceSnapshot struct {
 35147  	_ struct{} `type:"structure"`
 35148  
 35149  	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
 35150  	Arn *string `locationName:"arn" type:"string"`
 35151  
 35152  	// The timestamp when the snapshot was created (e.g., 1479907467.024).
 35153  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 35154  
 35155  	// An array of disk objects containing information about all block storage disks.
 35156  	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
 35157  
 35158  	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
 35159  	// A blueprint is a virtual private server (or instance) image used to create
 35160  	// instances quickly.
 35161  	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
 35162  
 35163  	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
 35164  	FromBundleId *string `locationName:"fromBundleId" type:"string"`
 35165  
 35166  	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
 35167  	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
 35168  	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
 35169  
 35170  	// The instance from which the snapshot was created.
 35171  	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
 35172  
 35173  	// A Boolean value indicating whether the snapshot was created from an automatic
 35174  	// snapshot.
 35175  	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
 35176  
 35177  	// The region name and Availability Zone where you created the snapshot.
 35178  	Location *ResourceLocation `locationName:"location" type:"structure"`
 35179  
 35180  	// The name of the snapshot.
 35181  	Name *string `locationName:"name" type:"string"`
 35182  
 35183  	// The progress of the snapshot.
 35184  	//
 35185  	// This is populated only for disk snapshots, and is null for instance snapshots.
 35186  	Progress *string `locationName:"progress" type:"string"`
 35187  
 35188  	// The type of resource (usually InstanceSnapshot).
 35189  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 35190  
 35191  	// The size in GB of the SSD.
 35192  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 35193  
 35194  	// The state the snapshot is in.
 35195  	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
 35196  
 35197  	// The support code. Include this code in your email to support when you have
 35198  	// questions about an instance or another resource in Lightsail. This code enables
 35199  	// our support team to look up your Lightsail information more easily.
 35200  	SupportCode *string `locationName:"supportCode" type:"string"`
 35201  
 35202  	// The tag keys and optional values for the resource. For more information about
 35203  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 35204  	Tags []*Tag `locationName:"tags" type:"list"`
 35205  }
 35206  
 35207  // String returns the string representation.
 35208  //
 35209  // API parameter values that are decorated as "sensitive" in the API will not
 35210  // be included in the string output. The member name will be present, but the
 35211  // value will be replaced with "sensitive".
 35212  func (s InstanceSnapshot) String() string {
 35213  	return awsutil.Prettify(s)
 35214  }
 35215  
 35216  // GoString returns the string representation.
 35217  //
 35218  // API parameter values that are decorated as "sensitive" in the API will not
 35219  // be included in the string output. The member name will be present, but the
 35220  // value will be replaced with "sensitive".
 35221  func (s InstanceSnapshot) GoString() string {
 35222  	return s.String()
 35223  }
 35224  
 35225  // SetArn sets the Arn field's value.
 35226  func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
 35227  	s.Arn = &v
 35228  	return s
 35229  }
 35230  
 35231  // SetCreatedAt sets the CreatedAt field's value.
 35232  func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
 35233  	s.CreatedAt = &v
 35234  	return s
 35235  }
 35236  
 35237  // SetFromAttachedDisks sets the FromAttachedDisks field's value.
 35238  func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
 35239  	s.FromAttachedDisks = v
 35240  	return s
 35241  }
 35242  
 35243  // SetFromBlueprintId sets the FromBlueprintId field's value.
 35244  func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
 35245  	s.FromBlueprintId = &v
 35246  	return s
 35247  }
 35248  
 35249  // SetFromBundleId sets the FromBundleId field's value.
 35250  func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
 35251  	s.FromBundleId = &v
 35252  	return s
 35253  }
 35254  
 35255  // SetFromInstanceArn sets the FromInstanceArn field's value.
 35256  func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
 35257  	s.FromInstanceArn = &v
 35258  	return s
 35259  }
 35260  
 35261  // SetFromInstanceName sets the FromInstanceName field's value.
 35262  func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
 35263  	s.FromInstanceName = &v
 35264  	return s
 35265  }
 35266  
 35267  // SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
 35268  func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
 35269  	s.IsFromAutoSnapshot = &v
 35270  	return s
 35271  }
 35272  
 35273  // SetLocation sets the Location field's value.
 35274  func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
 35275  	s.Location = v
 35276  	return s
 35277  }
 35278  
 35279  // SetName sets the Name field's value.
 35280  func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
 35281  	s.Name = &v
 35282  	return s
 35283  }
 35284  
 35285  // SetProgress sets the Progress field's value.
 35286  func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
 35287  	s.Progress = &v
 35288  	return s
 35289  }
 35290  
 35291  // SetResourceType sets the ResourceType field's value.
 35292  func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
 35293  	s.ResourceType = &v
 35294  	return s
 35295  }
 35296  
 35297  // SetSizeInGb sets the SizeInGb field's value.
 35298  func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
 35299  	s.SizeInGb = &v
 35300  	return s
 35301  }
 35302  
 35303  // SetState sets the State field's value.
 35304  func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
 35305  	s.State = &v
 35306  	return s
 35307  }
 35308  
 35309  // SetSupportCode sets the SupportCode field's value.
 35310  func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
 35311  	s.SupportCode = &v
 35312  	return s
 35313  }
 35314  
 35315  // SetTags sets the Tags field's value.
 35316  func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
 35317  	s.Tags = v
 35318  	return s
 35319  }
 35320  
 35321  // Describes an instance snapshot.
 35322  type InstanceSnapshotInfo struct {
 35323  	_ struct{} `type:"structure"`
 35324  
 35325  	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
 35326  	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
 35327  
 35328  	// The bundle ID from which the source instance was created (e.g., micro_1_0).
 35329  	FromBundleId *string `locationName:"fromBundleId" type:"string"`
 35330  
 35331  	// A list of objects describing the disks that were attached to the source instance.
 35332  	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
 35333  }
 35334  
 35335  // String returns the string representation.
 35336  //
 35337  // API parameter values that are decorated as "sensitive" in the API will not
 35338  // be included in the string output. The member name will be present, but the
 35339  // value will be replaced with "sensitive".
 35340  func (s InstanceSnapshotInfo) String() string {
 35341  	return awsutil.Prettify(s)
 35342  }
 35343  
 35344  // GoString returns the string representation.
 35345  //
 35346  // API parameter values that are decorated as "sensitive" in the API will not
 35347  // be included in the string output. The member name will be present, but the
 35348  // value will be replaced with "sensitive".
 35349  func (s InstanceSnapshotInfo) GoString() string {
 35350  	return s.String()
 35351  }
 35352  
 35353  // SetFromBlueprintId sets the FromBlueprintId field's value.
 35354  func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
 35355  	s.FromBlueprintId = &v
 35356  	return s
 35357  }
 35358  
 35359  // SetFromBundleId sets the FromBundleId field's value.
 35360  func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
 35361  	s.FromBundleId = &v
 35362  	return s
 35363  }
 35364  
 35365  // SetFromDiskInfo sets the FromDiskInfo field's value.
 35366  func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
 35367  	s.FromDiskInfo = v
 35368  	return s
 35369  }
 35370  
 35371  // Describes the virtual private server (or instance) status.
 35372  type InstanceState struct {
 35373  	_ struct{} `type:"structure"`
 35374  
 35375  	// The status code for the instance.
 35376  	Code *int64 `locationName:"code" type:"integer"`
 35377  
 35378  	// The state of the instance (e.g., running or pending).
 35379  	Name *string `locationName:"name" type:"string"`
 35380  }
 35381  
 35382  // String returns the string representation.
 35383  //
 35384  // API parameter values that are decorated as "sensitive" in the API will not
 35385  // be included in the string output. The member name will be present, but the
 35386  // value will be replaced with "sensitive".
 35387  func (s InstanceState) String() string {
 35388  	return awsutil.Prettify(s)
 35389  }
 35390  
 35391  // GoString returns the string representation.
 35392  //
 35393  // API parameter values that are decorated as "sensitive" in the API will not
 35394  // be included in the string output. The member name will be present, but the
 35395  // value will be replaced with "sensitive".
 35396  func (s InstanceState) GoString() string {
 35397  	return s.String()
 35398  }
 35399  
 35400  // SetCode sets the Code field's value.
 35401  func (s *InstanceState) SetCode(v int64) *InstanceState {
 35402  	s.Code = &v
 35403  	return s
 35404  }
 35405  
 35406  // SetName sets the Name field's value.
 35407  func (s *InstanceState) SetName(v string) *InstanceState {
 35408  	s.Name = &v
 35409  	return s
 35410  }
 35411  
 35412  // Lightsail throws this exception when user input does not conform to the validation
 35413  // rules of an input field.
 35414  //
 35415  // Domain and distribution APIs are only available in the N. Virginia (us-east-1)
 35416  // AWS Region. Please set your AWS Region configuration to us-east-1 to create,
 35417  // view, or edit these resources.
 35418  type InvalidInputException struct {
 35419  	_            struct{}                  `type:"structure"`
 35420  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 35421  
 35422  	Code_ *string `locationName:"code" type:"string"`
 35423  
 35424  	Docs *string `locationName:"docs" type:"string"`
 35425  
 35426  	Message_ *string `locationName:"message" type:"string"`
 35427  
 35428  	Tip *string `locationName:"tip" type:"string"`
 35429  }
 35430  
 35431  // String returns the string representation.
 35432  //
 35433  // API parameter values that are decorated as "sensitive" in the API will not
 35434  // be included in the string output. The member name will be present, but the
 35435  // value will be replaced with "sensitive".
 35436  func (s InvalidInputException) String() string {
 35437  	return awsutil.Prettify(s)
 35438  }
 35439  
 35440  // GoString returns the string representation.
 35441  //
 35442  // API parameter values that are decorated as "sensitive" in the API will not
 35443  // be included in the string output. The member name will be present, but the
 35444  // value will be replaced with "sensitive".
 35445  func (s InvalidInputException) GoString() string {
 35446  	return s.String()
 35447  }
 35448  
 35449  func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
 35450  	return &InvalidInputException{
 35451  		RespMetadata: v,
 35452  	}
 35453  }
 35454  
 35455  // Code returns the exception type name.
 35456  func (s *InvalidInputException) Code() string {
 35457  	return "InvalidInputException"
 35458  }
 35459  
 35460  // Message returns the exception's message.
 35461  func (s *InvalidInputException) Message() string {
 35462  	if s.Message_ != nil {
 35463  		return *s.Message_
 35464  	}
 35465  	return ""
 35466  }
 35467  
 35468  // OrigErr always returns nil, satisfies awserr.Error interface.
 35469  func (s *InvalidInputException) OrigErr() error {
 35470  	return nil
 35471  }
 35472  
 35473  func (s *InvalidInputException) Error() string {
 35474  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 35475  }
 35476  
 35477  // Status code returns the HTTP status code for the request's response error.
 35478  func (s *InvalidInputException) StatusCode() int {
 35479  	return s.RespMetadata.StatusCode
 35480  }
 35481  
 35482  // RequestID returns the service's response RequestID for request.
 35483  func (s *InvalidInputException) RequestID() string {
 35484  	return s.RespMetadata.RequestID
 35485  }
 35486  
 35487  type IsVpcPeeredInput struct {
 35488  	_ struct{} `type:"structure"`
 35489  }
 35490  
 35491  // String returns the string representation.
 35492  //
 35493  // API parameter values that are decorated as "sensitive" in the API will not
 35494  // be included in the string output. The member name will be present, but the
 35495  // value will be replaced with "sensitive".
 35496  func (s IsVpcPeeredInput) String() string {
 35497  	return awsutil.Prettify(s)
 35498  }
 35499  
 35500  // GoString returns the string representation.
 35501  //
 35502  // API parameter values that are decorated as "sensitive" in the API will not
 35503  // be included in the string output. The member name will be present, but the
 35504  // value will be replaced with "sensitive".
 35505  func (s IsVpcPeeredInput) GoString() string {
 35506  	return s.String()
 35507  }
 35508  
 35509  type IsVpcPeeredOutput struct {
 35510  	_ struct{} `type:"structure"`
 35511  
 35512  	// Returns true if the Lightsail VPC is peered; otherwise, false.
 35513  	IsPeered *bool `locationName:"isPeered" type:"boolean"`
 35514  }
 35515  
 35516  // String returns the string representation.
 35517  //
 35518  // API parameter values that are decorated as "sensitive" in the API will not
 35519  // be included in the string output. The member name will be present, but the
 35520  // value will be replaced with "sensitive".
 35521  func (s IsVpcPeeredOutput) String() string {
 35522  	return awsutil.Prettify(s)
 35523  }
 35524  
 35525  // GoString returns the string representation.
 35526  //
 35527  // API parameter values that are decorated as "sensitive" in the API will not
 35528  // be included in the string output. The member name will be present, but the
 35529  // value will be replaced with "sensitive".
 35530  func (s IsVpcPeeredOutput) GoString() string {
 35531  	return s.String()
 35532  }
 35533  
 35534  // SetIsPeered sets the IsPeered field's value.
 35535  func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
 35536  	s.IsPeered = &v
 35537  	return s
 35538  }
 35539  
 35540  // Describes an SSH key pair.
 35541  type KeyPair struct {
 35542  	_ struct{} `type:"structure"`
 35543  
 35544  	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
 35545  	Arn *string `locationName:"arn" type:"string"`
 35546  
 35547  	// The timestamp when the key pair was created (e.g., 1479816991.349).
 35548  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 35549  
 35550  	// The RSA fingerprint of the key pair.
 35551  	Fingerprint *string `locationName:"fingerprint" type:"string"`
 35552  
 35553  	// The region name and Availability Zone where the key pair was created.
 35554  	Location *ResourceLocation `locationName:"location" type:"structure"`
 35555  
 35556  	// The friendly name of the SSH key pair.
 35557  	Name *string `locationName:"name" type:"string"`
 35558  
 35559  	// The resource type (usually KeyPair).
 35560  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 35561  
 35562  	// The support code. Include this code in your email to support when you have
 35563  	// questions about an instance or another resource in Lightsail. This code enables
 35564  	// our support team to look up your Lightsail information more easily.
 35565  	SupportCode *string `locationName:"supportCode" type:"string"`
 35566  
 35567  	// The tag keys and optional values for the resource. For more information about
 35568  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 35569  	Tags []*Tag `locationName:"tags" type:"list"`
 35570  }
 35571  
 35572  // String returns the string representation.
 35573  //
 35574  // API parameter values that are decorated as "sensitive" in the API will not
 35575  // be included in the string output. The member name will be present, but the
 35576  // value will be replaced with "sensitive".
 35577  func (s KeyPair) String() string {
 35578  	return awsutil.Prettify(s)
 35579  }
 35580  
 35581  // GoString returns the string representation.
 35582  //
 35583  // API parameter values that are decorated as "sensitive" in the API will not
 35584  // be included in the string output. The member name will be present, but the
 35585  // value will be replaced with "sensitive".
 35586  func (s KeyPair) GoString() string {
 35587  	return s.String()
 35588  }
 35589  
 35590  // SetArn sets the Arn field's value.
 35591  func (s *KeyPair) SetArn(v string) *KeyPair {
 35592  	s.Arn = &v
 35593  	return s
 35594  }
 35595  
 35596  // SetCreatedAt sets the CreatedAt field's value.
 35597  func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
 35598  	s.CreatedAt = &v
 35599  	return s
 35600  }
 35601  
 35602  // SetFingerprint sets the Fingerprint field's value.
 35603  func (s *KeyPair) SetFingerprint(v string) *KeyPair {
 35604  	s.Fingerprint = &v
 35605  	return s
 35606  }
 35607  
 35608  // SetLocation sets the Location field's value.
 35609  func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
 35610  	s.Location = v
 35611  	return s
 35612  }
 35613  
 35614  // SetName sets the Name field's value.
 35615  func (s *KeyPair) SetName(v string) *KeyPair {
 35616  	s.Name = &v
 35617  	return s
 35618  }
 35619  
 35620  // SetResourceType sets the ResourceType field's value.
 35621  func (s *KeyPair) SetResourceType(v string) *KeyPair {
 35622  	s.ResourceType = &v
 35623  	return s
 35624  }
 35625  
 35626  // SetSupportCode sets the SupportCode field's value.
 35627  func (s *KeyPair) SetSupportCode(v string) *KeyPair {
 35628  	s.SupportCode = &v
 35629  	return s
 35630  }
 35631  
 35632  // SetTags sets the Tags field's value.
 35633  func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
 35634  	s.Tags = v
 35635  	return s
 35636  }
 35637  
 35638  // Describes an Amazon Lightsail content delivery network (CDN) distribution.
 35639  type LightsailDistribution struct {
 35640  	_ struct{} `type:"structure"`
 35641  
 35642  	// Indicates whether the bundle that is currently applied to your distribution,
 35643  	// specified using the distributionName parameter, can be changed to another
 35644  	// bundle.
 35645  	//
 35646  	// Use the UpdateDistributionBundle action to change your distribution's bundle.
 35647  	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
 35648  
 35649  	// The alternate domain names of the distribution.
 35650  	AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"`
 35651  
 35652  	// The Amazon Resource Name (ARN) of the distribution.
 35653  	Arn *string `locationName:"arn" type:"string"`
 35654  
 35655  	// The ID of the bundle currently applied to the distribution.
 35656  	BundleId *string `locationName:"bundleId" type:"string"`
 35657  
 35658  	// An object that describes the cache behavior settings of the distribution.
 35659  	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
 35660  
 35661  	// An array of objects that describe the per-path cache behavior of the distribution.
 35662  	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
 35663  
 35664  	// The name of the SSL/TLS certificate attached to the distribution, if any.
 35665  	CertificateName *string `locationName:"certificateName" type:"string"`
 35666  
 35667  	// The timestamp when the distribution was created.
 35668  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 35669  
 35670  	// An object that describes the default cache behavior of the distribution.
 35671  	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
 35672  
 35673  	// The domain name of the distribution.
 35674  	DomainName *string `locationName:"domainName" type:"string"`
 35675  
 35676  	// The IP address type of the distribution.
 35677  	//
 35678  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 35679  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 35680  
 35681  	// Indicates whether the distribution is enabled.
 35682  	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
 35683  
 35684  	// An object that describes the location of the distribution, such as the AWS
 35685  	// Region and Availability Zone.
 35686  	//
 35687  	// Lightsail distributions are global resources that can reference an origin
 35688  	// in any AWS Region, and distribute its content globally. However, all distributions
 35689  	// are located in the us-east-1 Region.
 35690  	Location *ResourceLocation `locationName:"location" type:"structure"`
 35691  
 35692  	// The name of the distribution.
 35693  	Name *string `locationName:"name" type:"string"`
 35694  
 35695  	// An object that describes the origin resource of the distribution, such as
 35696  	// a Lightsail instance or load balancer.
 35697  	//
 35698  	// The distribution pulls, caches, and serves content from the origin.
 35699  	Origin *Origin `locationName:"origin" type:"structure"`
 35700  
 35701  	// The public DNS of the origin.
 35702  	OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"`
 35703  
 35704  	// The Lightsail resource type (e.g., Distribution).
 35705  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 35706  
 35707  	// The status of the distribution.
 35708  	Status *string `locationName:"status" type:"string"`
 35709  
 35710  	// The support code. Include this code in your email to support when you have
 35711  	// questions about your Lightsail distribution. This code enables our support
 35712  	// team to look up your Lightsail information more easily.
 35713  	SupportCode *string `locationName:"supportCode" type:"string"`
 35714  
 35715  	// The tag keys and optional values for the resource. For more information about
 35716  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 35717  	Tags []*Tag `locationName:"tags" type:"list"`
 35718  }
 35719  
 35720  // String returns the string representation.
 35721  //
 35722  // API parameter values that are decorated as "sensitive" in the API will not
 35723  // be included in the string output. The member name will be present, but the
 35724  // value will be replaced with "sensitive".
 35725  func (s LightsailDistribution) String() string {
 35726  	return awsutil.Prettify(s)
 35727  }
 35728  
 35729  // GoString returns the string representation.
 35730  //
 35731  // API parameter values that are decorated as "sensitive" in the API will not
 35732  // be included in the string output. The member name will be present, but the
 35733  // value will be replaced with "sensitive".
 35734  func (s LightsailDistribution) GoString() string {
 35735  	return s.String()
 35736  }
 35737  
 35738  // SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
 35739  func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution {
 35740  	s.AbleToUpdateBundle = &v
 35741  	return s
 35742  }
 35743  
 35744  // SetAlternativeDomainNames sets the AlternativeDomainNames field's value.
 35745  func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution {
 35746  	s.AlternativeDomainNames = v
 35747  	return s
 35748  }
 35749  
 35750  // SetArn sets the Arn field's value.
 35751  func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution {
 35752  	s.Arn = &v
 35753  	return s
 35754  }
 35755  
 35756  // SetBundleId sets the BundleId field's value.
 35757  func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution {
 35758  	s.BundleId = &v
 35759  	return s
 35760  }
 35761  
 35762  // SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
 35763  func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution {
 35764  	s.CacheBehaviorSettings = v
 35765  	return s
 35766  }
 35767  
 35768  // SetCacheBehaviors sets the CacheBehaviors field's value.
 35769  func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution {
 35770  	s.CacheBehaviors = v
 35771  	return s
 35772  }
 35773  
 35774  // SetCertificateName sets the CertificateName field's value.
 35775  func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution {
 35776  	s.CertificateName = &v
 35777  	return s
 35778  }
 35779  
 35780  // SetCreatedAt sets the CreatedAt field's value.
 35781  func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution {
 35782  	s.CreatedAt = &v
 35783  	return s
 35784  }
 35785  
 35786  // SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
 35787  func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution {
 35788  	s.DefaultCacheBehavior = v
 35789  	return s
 35790  }
 35791  
 35792  // SetDomainName sets the DomainName field's value.
 35793  func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution {
 35794  	s.DomainName = &v
 35795  	return s
 35796  }
 35797  
 35798  // SetIpAddressType sets the IpAddressType field's value.
 35799  func (s *LightsailDistribution) SetIpAddressType(v string) *LightsailDistribution {
 35800  	s.IpAddressType = &v
 35801  	return s
 35802  }
 35803  
 35804  // SetIsEnabled sets the IsEnabled field's value.
 35805  func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution {
 35806  	s.IsEnabled = &v
 35807  	return s
 35808  }
 35809  
 35810  // SetLocation sets the Location field's value.
 35811  func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution {
 35812  	s.Location = v
 35813  	return s
 35814  }
 35815  
 35816  // SetName sets the Name field's value.
 35817  func (s *LightsailDistribution) SetName(v string) *LightsailDistribution {
 35818  	s.Name = &v
 35819  	return s
 35820  }
 35821  
 35822  // SetOrigin sets the Origin field's value.
 35823  func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution {
 35824  	s.Origin = v
 35825  	return s
 35826  }
 35827  
 35828  // SetOriginPublicDNS sets the OriginPublicDNS field's value.
 35829  func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution {
 35830  	s.OriginPublicDNS = &v
 35831  	return s
 35832  }
 35833  
 35834  // SetResourceType sets the ResourceType field's value.
 35835  func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution {
 35836  	s.ResourceType = &v
 35837  	return s
 35838  }
 35839  
 35840  // SetStatus sets the Status field's value.
 35841  func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution {
 35842  	s.Status = &v
 35843  	return s
 35844  }
 35845  
 35846  // SetSupportCode sets the SupportCode field's value.
 35847  func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution {
 35848  	s.SupportCode = &v
 35849  	return s
 35850  }
 35851  
 35852  // SetTags sets the Tags field's value.
 35853  func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution {
 35854  	s.Tags = v
 35855  	return s
 35856  }
 35857  
 35858  // Describes a load balancer.
 35859  type LoadBalancer struct {
 35860  	_ struct{} `type:"structure"`
 35861  
 35862  	// The Amazon Resource Name (ARN) of the load balancer.
 35863  	Arn *string `locationName:"arn" type:"string"`
 35864  
 35865  	// A string to string map of the configuration options for your load balancer.
 35866  	// Valid values are listed below.
 35867  	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
 35868  
 35869  	// The date when your load balancer was created.
 35870  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 35871  
 35872  	// The DNS name of your Lightsail load balancer.
 35873  	DnsName *string `locationName:"dnsName" type:"string"`
 35874  
 35875  	// The path you specified to perform your health checks. If no path is specified,
 35876  	// the load balancer tries to make a request to the default (root) page.
 35877  	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
 35878  
 35879  	// An array of InstanceHealthSummary objects describing the health of the load
 35880  	// balancer.
 35881  	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
 35882  
 35883  	// The port where the load balancer will direct traffic to your Lightsail instances.
 35884  	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
 35885  	InstancePort *int64 `locationName:"instancePort" type:"integer"`
 35886  
 35887  	// The IP address type of the load balancer.
 35888  	//
 35889  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 35890  	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
 35891  
 35892  	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
 35893  	// automatically creates your load balancer across Availability Zones.
 35894  	Location *ResourceLocation `locationName:"location" type:"structure"`
 35895  
 35896  	// The name of the load balancer (e.g., my-load-balancer).
 35897  	Name *string `locationName:"name" type:"string"`
 35898  
 35899  	// The protocol you have enabled for your load balancer. Valid values are below.
 35900  	//
 35901  	// You can't just have HTTP_HTTPS, but you can have just HTTP.
 35902  	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
 35903  
 35904  	// An array of public port settings for your load balancer. For HTTP, use port
 35905  	// 80. For HTTPS, use port 443.
 35906  	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
 35907  
 35908  	// The resource type (e.g., LoadBalancer.
 35909  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 35910  
 35911  	// The status of your load balancer. Valid values are below.
 35912  	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
 35913  
 35914  	// The support code. Include this code in your email to support when you have
 35915  	// questions about your Lightsail load balancer. This code enables our support
 35916  	// team to look up your Lightsail information more easily.
 35917  	SupportCode *string `locationName:"supportCode" type:"string"`
 35918  
 35919  	// The tag keys and optional values for the resource. For more information about
 35920  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 35921  	Tags []*Tag `locationName:"tags" type:"list"`
 35922  
 35923  	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
 35924  	// information about the SSL/TLS certificates. For example, if true, the certificate
 35925  	// is attached to the load balancer.
 35926  	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
 35927  }
 35928  
 35929  // String returns the string representation.
 35930  //
 35931  // API parameter values that are decorated as "sensitive" in the API will not
 35932  // be included in the string output. The member name will be present, but the
 35933  // value will be replaced with "sensitive".
 35934  func (s LoadBalancer) String() string {
 35935  	return awsutil.Prettify(s)
 35936  }
 35937  
 35938  // GoString returns the string representation.
 35939  //
 35940  // API parameter values that are decorated as "sensitive" in the API will not
 35941  // be included in the string output. The member name will be present, but the
 35942  // value will be replaced with "sensitive".
 35943  func (s LoadBalancer) GoString() string {
 35944  	return s.String()
 35945  }
 35946  
 35947  // SetArn sets the Arn field's value.
 35948  func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
 35949  	s.Arn = &v
 35950  	return s
 35951  }
 35952  
 35953  // SetConfigurationOptions sets the ConfigurationOptions field's value.
 35954  func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
 35955  	s.ConfigurationOptions = v
 35956  	return s
 35957  }
 35958  
 35959  // SetCreatedAt sets the CreatedAt field's value.
 35960  func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
 35961  	s.CreatedAt = &v
 35962  	return s
 35963  }
 35964  
 35965  // SetDnsName sets the DnsName field's value.
 35966  func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
 35967  	s.DnsName = &v
 35968  	return s
 35969  }
 35970  
 35971  // SetHealthCheckPath sets the HealthCheckPath field's value.
 35972  func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
 35973  	s.HealthCheckPath = &v
 35974  	return s
 35975  }
 35976  
 35977  // SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
 35978  func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
 35979  	s.InstanceHealthSummary = v
 35980  	return s
 35981  }
 35982  
 35983  // SetInstancePort sets the InstancePort field's value.
 35984  func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
 35985  	s.InstancePort = &v
 35986  	return s
 35987  }
 35988  
 35989  // SetIpAddressType sets the IpAddressType field's value.
 35990  func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
 35991  	s.IpAddressType = &v
 35992  	return s
 35993  }
 35994  
 35995  // SetLocation sets the Location field's value.
 35996  func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
 35997  	s.Location = v
 35998  	return s
 35999  }
 36000  
 36001  // SetName sets the Name field's value.
 36002  func (s *LoadBalancer) SetName(v string) *LoadBalancer {
 36003  	s.Name = &v
 36004  	return s
 36005  }
 36006  
 36007  // SetProtocol sets the Protocol field's value.
 36008  func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
 36009  	s.Protocol = &v
 36010  	return s
 36011  }
 36012  
 36013  // SetPublicPorts sets the PublicPorts field's value.
 36014  func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
 36015  	s.PublicPorts = v
 36016  	return s
 36017  }
 36018  
 36019  // SetResourceType sets the ResourceType field's value.
 36020  func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
 36021  	s.ResourceType = &v
 36022  	return s
 36023  }
 36024  
 36025  // SetState sets the State field's value.
 36026  func (s *LoadBalancer) SetState(v string) *LoadBalancer {
 36027  	s.State = &v
 36028  	return s
 36029  }
 36030  
 36031  // SetSupportCode sets the SupportCode field's value.
 36032  func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
 36033  	s.SupportCode = &v
 36034  	return s
 36035  }
 36036  
 36037  // SetTags sets the Tags field's value.
 36038  func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
 36039  	s.Tags = v
 36040  	return s
 36041  }
 36042  
 36043  // SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
 36044  func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
 36045  	s.TlsCertificateSummaries = v
 36046  	return s
 36047  }
 36048  
 36049  // Describes a load balancer SSL/TLS certificate.
 36050  //
 36051  // TLS is just an updated, more secure version of Secure Socket Layer (SSL).
 36052  type LoadBalancerTlsCertificate struct {
 36053  	_ struct{} `type:"structure"`
 36054  
 36055  	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
 36056  	Arn *string `locationName:"arn" type:"string"`
 36057  
 36058  	// The time when you created your SSL/TLS certificate.
 36059  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 36060  
 36061  	// The domain name for your SSL/TLS certificate.
 36062  	DomainName *string `locationName:"domainName" type:"string"`
 36063  
 36064  	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
 36065  	// the records.
 36066  	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
 36067  
 36068  	// The validation failure reason, if any, of the certificate.
 36069  	//
 36070  	// The following failure reasons are possible:
 36071  	//
 36072  	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
 36073  	//    is not available for Lightsail certificates.
 36074  	//
 36075  	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
 36076  	//    to process this certificate request. This can happen as a fraud-protection
 36077  	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
 36078  	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
 36079  	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
 36080  	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
 36081  	//    elasticbeanstalk.com.
 36082  	//
 36083  	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
 36084  	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
 36085  	//    To correct the problem, search for your domain name on the VirusTotal
 36086  	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
 36087  	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
 36088  	//    to learn what you can do. If you believe that the result is a false positive,
 36089  	//    notify the organization that is reporting the domain. VirusTotal is an
 36090  	//    aggregate of several antivirus and URL scanners and cannot remove your
 36091  	//    domain from a block list itself. After you correct the problem and the
 36092  	//    VirusTotal registry has been updated, request a new certificate. If you
 36093  	//    see this error and your domain is not included in the VirusTotal list,
 36094  	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
 36095  	//    and create a case.
 36096  	//
 36097  	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
 36098  	//    request is not valid. Typically, this is because a domain name in the
 36099  	//    request is not a valid top-level domain. Try to request a certificate
 36100  	//    again, correcting any spelling errors or typos that were in the failed
 36101  	//    request, and ensure that all domain names in the request are for valid
 36102  	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
 36103  	//    because invalidpublicdomain is not a valid top-level domain.
 36104  	//
 36105  	//    * OTHER - Typically, this failure occurs when there is a typographical
 36106  	//    error in one or more of the domain names in the certificate request. Try
 36107  	//    to request a certificate again, correcting any spelling errors or typos
 36108  	//    that were in the failed request.
 36109  	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
 36110  
 36111  	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
 36112  	IsAttached *bool `locationName:"isAttached" type:"boolean"`
 36113  
 36114  	// The time when the SSL/TLS certificate was issued.
 36115  	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
 36116  
 36117  	// The issuer of the certificate.
 36118  	Issuer *string `locationName:"issuer" type:"string"`
 36119  
 36120  	// The algorithm used to generate the key pair (the public and private key).
 36121  	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
 36122  
 36123  	// The load balancer name where your SSL/TLS certificate is attached.
 36124  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
 36125  
 36126  	// The AWS Region and Availability Zone where you created your certificate.
 36127  	Location *ResourceLocation `locationName:"location" type:"structure"`
 36128  
 36129  	// The name of the SSL/TLS certificate (e.g., my-certificate).
 36130  	Name *string `locationName:"name" type:"string"`
 36131  
 36132  	// The timestamp when the SSL/TLS certificate expires.
 36133  	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
 36134  
 36135  	// The timestamp when the SSL/TLS certificate is first valid.
 36136  	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
 36137  
 36138  	// An object that describes the status of the certificate renewal managed by
 36139  	// Lightsail.
 36140  	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
 36141  
 36142  	// The resource type (e.g., LoadBalancerTlsCertificate).
 36143  	//
 36144  	//    * Instance - A Lightsail instance (a virtual private server)
 36145  	//
 36146  	//    * StaticIp - A static IP address
 36147  	//
 36148  	//    * KeyPair - The key pair used to connect to a Lightsail instance
 36149  	//
 36150  	//    * InstanceSnapshot - A Lightsail instance snapshot
 36151  	//
 36152  	//    * Domain - A DNS zone
 36153  	//
 36154  	//    * PeeredVpc - A peered VPC
 36155  	//
 36156  	//    * LoadBalancer - A Lightsail load balancer
 36157  	//
 36158  	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
 36159  	//    a Lightsail load balancer
 36160  	//
 36161  	//    * Disk - A Lightsail block storage disk
 36162  	//
 36163  	//    * DiskSnapshot - A block storage disk snapshot
 36164  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 36165  
 36166  	// The reason the certificate was revoked. This value is present only when the
 36167  	// certificate status is REVOKED.
 36168  	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
 36169  
 36170  	// The timestamp when the certificate was revoked. This value is present only
 36171  	// when the certificate status is REVOKED.
 36172  	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
 36173  
 36174  	// The serial number of the certificate.
 36175  	Serial *string `locationName:"serial" type:"string"`
 36176  
 36177  	// The algorithm that was used to sign the certificate.
 36178  	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
 36179  
 36180  	// The validation status of the SSL/TLS certificate. Valid values are below.
 36181  	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
 36182  
 36183  	// The name of the entity that is associated with the public key contained in
 36184  	// the certificate.
 36185  	Subject *string `locationName:"subject" type:"string"`
 36186  
 36187  	// An array of strings that specify the alternate domains (e.g., example2.com)
 36188  	// and subdomains (e.g., blog.example.com) for the certificate.
 36189  	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
 36190  
 36191  	// The support code. Include this code in your email to support when you have
 36192  	// questions about your Lightsail load balancer or SSL/TLS certificate. This
 36193  	// code enables our support team to look up your Lightsail information more
 36194  	// easily.
 36195  	SupportCode *string `locationName:"supportCode" type:"string"`
 36196  
 36197  	// The tag keys and optional values for the resource. For more information about
 36198  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 36199  	Tags []*Tag `locationName:"tags" type:"list"`
 36200  }
 36201  
 36202  // String returns the string representation.
 36203  //
 36204  // API parameter values that are decorated as "sensitive" in the API will not
 36205  // be included in the string output. The member name will be present, but the
 36206  // value will be replaced with "sensitive".
 36207  func (s LoadBalancerTlsCertificate) String() string {
 36208  	return awsutil.Prettify(s)
 36209  }
 36210  
 36211  // GoString returns the string representation.
 36212  //
 36213  // API parameter values that are decorated as "sensitive" in the API will not
 36214  // be included in the string output. The member name will be present, but the
 36215  // value will be replaced with "sensitive".
 36216  func (s LoadBalancerTlsCertificate) GoString() string {
 36217  	return s.String()
 36218  }
 36219  
 36220  // SetArn sets the Arn field's value.
 36221  func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
 36222  	s.Arn = &v
 36223  	return s
 36224  }
 36225  
 36226  // SetCreatedAt sets the CreatedAt field's value.
 36227  func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
 36228  	s.CreatedAt = &v
 36229  	return s
 36230  }
 36231  
 36232  // SetDomainName sets the DomainName field's value.
 36233  func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
 36234  	s.DomainName = &v
 36235  	return s
 36236  }
 36237  
 36238  // SetDomainValidationRecords sets the DomainValidationRecords field's value.
 36239  func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
 36240  	s.DomainValidationRecords = v
 36241  	return s
 36242  }
 36243  
 36244  // SetFailureReason sets the FailureReason field's value.
 36245  func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
 36246  	s.FailureReason = &v
 36247  	return s
 36248  }
 36249  
 36250  // SetIsAttached sets the IsAttached field's value.
 36251  func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
 36252  	s.IsAttached = &v
 36253  	return s
 36254  }
 36255  
 36256  // SetIssuedAt sets the IssuedAt field's value.
 36257  func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
 36258  	s.IssuedAt = &v
 36259  	return s
 36260  }
 36261  
 36262  // SetIssuer sets the Issuer field's value.
 36263  func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
 36264  	s.Issuer = &v
 36265  	return s
 36266  }
 36267  
 36268  // SetKeyAlgorithm sets the KeyAlgorithm field's value.
 36269  func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
 36270  	s.KeyAlgorithm = &v
 36271  	return s
 36272  }
 36273  
 36274  // SetLoadBalancerName sets the LoadBalancerName field's value.
 36275  func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
 36276  	s.LoadBalancerName = &v
 36277  	return s
 36278  }
 36279  
 36280  // SetLocation sets the Location field's value.
 36281  func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
 36282  	s.Location = v
 36283  	return s
 36284  }
 36285  
 36286  // SetName sets the Name field's value.
 36287  func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
 36288  	s.Name = &v
 36289  	return s
 36290  }
 36291  
 36292  // SetNotAfter sets the NotAfter field's value.
 36293  func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
 36294  	s.NotAfter = &v
 36295  	return s
 36296  }
 36297  
 36298  // SetNotBefore sets the NotBefore field's value.
 36299  func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
 36300  	s.NotBefore = &v
 36301  	return s
 36302  }
 36303  
 36304  // SetRenewalSummary sets the RenewalSummary field's value.
 36305  func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
 36306  	s.RenewalSummary = v
 36307  	return s
 36308  }
 36309  
 36310  // SetResourceType sets the ResourceType field's value.
 36311  func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
 36312  	s.ResourceType = &v
 36313  	return s
 36314  }
 36315  
 36316  // SetRevocationReason sets the RevocationReason field's value.
 36317  func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
 36318  	s.RevocationReason = &v
 36319  	return s
 36320  }
 36321  
 36322  // SetRevokedAt sets the RevokedAt field's value.
 36323  func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
 36324  	s.RevokedAt = &v
 36325  	return s
 36326  }
 36327  
 36328  // SetSerial sets the Serial field's value.
 36329  func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
 36330  	s.Serial = &v
 36331  	return s
 36332  }
 36333  
 36334  // SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
 36335  func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
 36336  	s.SignatureAlgorithm = &v
 36337  	return s
 36338  }
 36339  
 36340  // SetStatus sets the Status field's value.
 36341  func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
 36342  	s.Status = &v
 36343  	return s
 36344  }
 36345  
 36346  // SetSubject sets the Subject field's value.
 36347  func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
 36348  	s.Subject = &v
 36349  	return s
 36350  }
 36351  
 36352  // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
 36353  func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
 36354  	s.SubjectAlternativeNames = v
 36355  	return s
 36356  }
 36357  
 36358  // SetSupportCode sets the SupportCode field's value.
 36359  func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
 36360  	s.SupportCode = &v
 36361  	return s
 36362  }
 36363  
 36364  // SetTags sets the Tags field's value.
 36365  func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
 36366  	s.Tags = v
 36367  	return s
 36368  }
 36369  
 36370  // Contains information about the domain names on an SSL/TLS certificate that
 36371  // you will use to validate domain ownership.
 36372  type LoadBalancerTlsCertificateDomainValidationOption struct {
 36373  	_ struct{} `type:"structure"`
 36374  
 36375  	// The fully qualified domain name in the certificate request.
 36376  	DomainName *string `locationName:"domainName" type:"string"`
 36377  
 36378  	// The status of the domain validation. Valid values are listed below.
 36379  	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
 36380  }
 36381  
 36382  // String returns the string representation.
 36383  //
 36384  // API parameter values that are decorated as "sensitive" in the API will not
 36385  // be included in the string output. The member name will be present, but the
 36386  // value will be replaced with "sensitive".
 36387  func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
 36388  	return awsutil.Prettify(s)
 36389  }
 36390  
 36391  // GoString returns the string representation.
 36392  //
 36393  // API parameter values that are decorated as "sensitive" in the API will not
 36394  // be included in the string output. The member name will be present, but the
 36395  // value will be replaced with "sensitive".
 36396  func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
 36397  	return s.String()
 36398  }
 36399  
 36400  // SetDomainName sets the DomainName field's value.
 36401  func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
 36402  	s.DomainName = &v
 36403  	return s
 36404  }
 36405  
 36406  // SetValidationStatus sets the ValidationStatus field's value.
 36407  func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
 36408  	s.ValidationStatus = &v
 36409  	return s
 36410  }
 36411  
 36412  // Describes the validation record of each domain name in the SSL/TLS certificate.
 36413  type LoadBalancerTlsCertificateDomainValidationRecord struct {
 36414  	_ struct{} `type:"structure"`
 36415  
 36416  	// The domain name against which your SSL/TLS certificate was validated.
 36417  	DomainName *string `locationName:"domainName" type:"string"`
 36418  
 36419  	// A fully qualified domain name in the certificate. For example, example.com.
 36420  	Name *string `locationName:"name" type:"string"`
 36421  
 36422  	// The type of validation record. For example, CNAME for domain validation.
 36423  	Type *string `locationName:"type" type:"string"`
 36424  
 36425  	// The validation status. Valid values are listed below.
 36426  	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
 36427  
 36428  	// The value for that type.
 36429  	Value *string `locationName:"value" type:"string"`
 36430  }
 36431  
 36432  // String returns the string representation.
 36433  //
 36434  // API parameter values that are decorated as "sensitive" in the API will not
 36435  // be included in the string output. The member name will be present, but the
 36436  // value will be replaced with "sensitive".
 36437  func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
 36438  	return awsutil.Prettify(s)
 36439  }
 36440  
 36441  // GoString returns the string representation.
 36442  //
 36443  // API parameter values that are decorated as "sensitive" in the API will not
 36444  // be included in the string output. The member name will be present, but the
 36445  // value will be replaced with "sensitive".
 36446  func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
 36447  	return s.String()
 36448  }
 36449  
 36450  // SetDomainName sets the DomainName field's value.
 36451  func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
 36452  	s.DomainName = &v
 36453  	return s
 36454  }
 36455  
 36456  // SetName sets the Name field's value.
 36457  func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
 36458  	s.Name = &v
 36459  	return s
 36460  }
 36461  
 36462  // SetType sets the Type field's value.
 36463  func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
 36464  	s.Type = &v
 36465  	return s
 36466  }
 36467  
 36468  // SetValidationStatus sets the ValidationStatus field's value.
 36469  func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
 36470  	s.ValidationStatus = &v
 36471  	return s
 36472  }
 36473  
 36474  // SetValue sets the Value field's value.
 36475  func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
 36476  	s.Value = &v
 36477  	return s
 36478  }
 36479  
 36480  // Contains information about the status of Lightsail's managed renewal for
 36481  // the certificate.
 36482  //
 36483  // The renewal status of the certificate.
 36484  //
 36485  // The following renewal status are possible:
 36486  //
 36487  //    * PendingAutoRenewal - Lightsail is attempting to automatically validate
 36488  //    the domain names in the certificate. No further action is required.
 36489  //
 36490  //    * PendingValidation - Lightsail couldn't automatically validate one or
 36491  //    more domain names in the certificate. You must take action to validate
 36492  //    these domain names or the certificate won't be renewed. If you used DNS
 36493  //    validation, check to make sure your certificate's domain validation records
 36494  //    exist in your domain's DNS, and that your certificate remains in use.
 36495  //
 36496  //    * Success - All domain names in the certificate are validated, and Lightsail
 36497  //    renewed the certificate. No further action is required.
 36498  //
 36499  //    * Failed - One or more domain names were not validated before the certificate
 36500  //    expired, and Lightsail did not renew the certificate. You can request
 36501  //    a new certificate using the CreateCertificate action.
 36502  type LoadBalancerTlsCertificateRenewalSummary struct {
 36503  	_ struct{} `type:"structure"`
 36504  
 36505  	// Contains information about the validation of each domain name in the certificate,
 36506  	// as it pertains to Lightsail's managed renewal. This is different from the
 36507  	// initial validation that occurs as a result of the RequestCertificate request.
 36508  	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
 36509  
 36510  	// The renewal status of the certificate.
 36511  	//
 36512  	// The following renewal status are possible:
 36513  	//
 36514  	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
 36515  	//    the domain names of the certificate. No further action is required.
 36516  	//
 36517  	//    * PendingValidation - Lightsail couldn't automatically validate one or
 36518  	//    more domain names of the certificate. You must take action to validate
 36519  	//    these domain names or the certificate won't be renewed. Check to make
 36520  	//    sure your certificate's domain validation records exist in your domain's
 36521  	//    DNS, and that your certificate remains in use.
 36522  	//
 36523  	//    * Success - All domain names in the certificate are validated, and Lightsail
 36524  	//    renewed the certificate. No further action is required.
 36525  	//
 36526  	//    * Failed - One or more domain names were not validated before the certificate
 36527  	//    expired, and Lightsail did not renew the certificate. You can request
 36528  	//    a new certificate using the CreateCertificate action.
 36529  	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
 36530  }
 36531  
 36532  // String returns the string representation.
 36533  //
 36534  // API parameter values that are decorated as "sensitive" in the API will not
 36535  // be included in the string output. The member name will be present, but the
 36536  // value will be replaced with "sensitive".
 36537  func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
 36538  	return awsutil.Prettify(s)
 36539  }
 36540  
 36541  // GoString returns the string representation.
 36542  //
 36543  // API parameter values that are decorated as "sensitive" in the API will not
 36544  // be included in the string output. The member name will be present, but the
 36545  // value will be replaced with "sensitive".
 36546  func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
 36547  	return s.String()
 36548  }
 36549  
 36550  // SetDomainValidationOptions sets the DomainValidationOptions field's value.
 36551  func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
 36552  	s.DomainValidationOptions = v
 36553  	return s
 36554  }
 36555  
 36556  // SetRenewalStatus sets the RenewalStatus field's value.
 36557  func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
 36558  	s.RenewalStatus = &v
 36559  	return s
 36560  }
 36561  
 36562  // Provides a summary of SSL/TLS certificate metadata.
 36563  type LoadBalancerTlsCertificateSummary struct {
 36564  	_ struct{} `type:"structure"`
 36565  
 36566  	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
 36567  	IsAttached *bool `locationName:"isAttached" type:"boolean"`
 36568  
 36569  	// The name of the SSL/TLS certificate.
 36570  	Name *string `locationName:"name" type:"string"`
 36571  }
 36572  
 36573  // String returns the string representation.
 36574  //
 36575  // API parameter values that are decorated as "sensitive" in the API will not
 36576  // be included in the string output. The member name will be present, but the
 36577  // value will be replaced with "sensitive".
 36578  func (s LoadBalancerTlsCertificateSummary) String() string {
 36579  	return awsutil.Prettify(s)
 36580  }
 36581  
 36582  // GoString returns the string representation.
 36583  //
 36584  // API parameter values that are decorated as "sensitive" in the API will not
 36585  // be included in the string output. The member name will be present, but the
 36586  // value will be replaced with "sensitive".
 36587  func (s LoadBalancerTlsCertificateSummary) GoString() string {
 36588  	return s.String()
 36589  }
 36590  
 36591  // SetIsAttached sets the IsAttached field's value.
 36592  func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
 36593  	s.IsAttached = &v
 36594  	return s
 36595  }
 36596  
 36597  // SetName sets the Name field's value.
 36598  func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
 36599  	s.Name = &v
 36600  	return s
 36601  }
 36602  
 36603  // Describes a database log event.
 36604  type LogEvent struct {
 36605  	_ struct{} `type:"structure"`
 36606  
 36607  	// The timestamp when the database log event was created.
 36608  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 36609  
 36610  	// The message of the database log event.
 36611  	Message *string `locationName:"message" type:"string"`
 36612  }
 36613  
 36614  // String returns the string representation.
 36615  //
 36616  // API parameter values that are decorated as "sensitive" in the API will not
 36617  // be included in the string output. The member name will be present, but the
 36618  // value will be replaced with "sensitive".
 36619  func (s LogEvent) String() string {
 36620  	return awsutil.Prettify(s)
 36621  }
 36622  
 36623  // GoString returns the string representation.
 36624  //
 36625  // API parameter values that are decorated as "sensitive" in the API will not
 36626  // be included in the string output. The member name will be present, but the
 36627  // value will be replaced with "sensitive".
 36628  func (s LogEvent) GoString() string {
 36629  	return s.String()
 36630  }
 36631  
 36632  // SetCreatedAt sets the CreatedAt field's value.
 36633  func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
 36634  	s.CreatedAt = &v
 36635  	return s
 36636  }
 36637  
 36638  // SetMessage sets the Message field's value.
 36639  func (s *LogEvent) SetMessage(v string) *LogEvent {
 36640  	s.Message = &v
 36641  	return s
 36642  }
 36643  
 36644  // Describes the metric data point.
 36645  type MetricDatapoint struct {
 36646  	_ struct{} `type:"structure"`
 36647  
 36648  	// The average.
 36649  	Average *float64 `locationName:"average" type:"double"`
 36650  
 36651  	// The maximum.
 36652  	Maximum *float64 `locationName:"maximum" type:"double"`
 36653  
 36654  	// The minimum.
 36655  	Minimum *float64 `locationName:"minimum" type:"double"`
 36656  
 36657  	// The sample count.
 36658  	SampleCount *float64 `locationName:"sampleCount" type:"double"`
 36659  
 36660  	// The sum.
 36661  	Sum *float64 `locationName:"sum" type:"double"`
 36662  
 36663  	// The timestamp (e.g., 1479816991.349).
 36664  	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
 36665  
 36666  	// The unit.
 36667  	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
 36668  }
 36669  
 36670  // String returns the string representation.
 36671  //
 36672  // API parameter values that are decorated as "sensitive" in the API will not
 36673  // be included in the string output. The member name will be present, but the
 36674  // value will be replaced with "sensitive".
 36675  func (s MetricDatapoint) String() string {
 36676  	return awsutil.Prettify(s)
 36677  }
 36678  
 36679  // GoString returns the string representation.
 36680  //
 36681  // API parameter values that are decorated as "sensitive" in the API will not
 36682  // be included in the string output. The member name will be present, but the
 36683  // value will be replaced with "sensitive".
 36684  func (s MetricDatapoint) GoString() string {
 36685  	return s.String()
 36686  }
 36687  
 36688  // SetAverage sets the Average field's value.
 36689  func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
 36690  	s.Average = &v
 36691  	return s
 36692  }
 36693  
 36694  // SetMaximum sets the Maximum field's value.
 36695  func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
 36696  	s.Maximum = &v
 36697  	return s
 36698  }
 36699  
 36700  // SetMinimum sets the Minimum field's value.
 36701  func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
 36702  	s.Minimum = &v
 36703  	return s
 36704  }
 36705  
 36706  // SetSampleCount sets the SampleCount field's value.
 36707  func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
 36708  	s.SampleCount = &v
 36709  	return s
 36710  }
 36711  
 36712  // SetSum sets the Sum field's value.
 36713  func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
 36714  	s.Sum = &v
 36715  	return s
 36716  }
 36717  
 36718  // SetTimestamp sets the Timestamp field's value.
 36719  func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
 36720  	s.Timestamp = &v
 36721  	return s
 36722  }
 36723  
 36724  // SetUnit sets the Unit field's value.
 36725  func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
 36726  	s.Unit = &v
 36727  	return s
 36728  }
 36729  
 36730  // Describes resource being monitored by an alarm.
 36731  //
 36732  // An alarm is a way to monitor your Amazon Lightsail resource metrics. For
 36733  // more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
 36734  type MonitoredResourceInfo struct {
 36735  	_ struct{} `type:"structure"`
 36736  
 36737  	// The Amazon Resource Name (ARN) of the resource being monitored.
 36738  	Arn *string `locationName:"arn" type:"string"`
 36739  
 36740  	// The name of the Lightsail resource being monitored.
 36741  	Name *string `locationName:"name" type:"string"`
 36742  
 36743  	// The Lightsail resource type of the resource being monitored.
 36744  	//
 36745  	// Instances, load balancers, and relational databases are the only Lightsail
 36746  	// resources that can currently be monitored by alarms.
 36747  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 36748  }
 36749  
 36750  // String returns the string representation.
 36751  //
 36752  // API parameter values that are decorated as "sensitive" in the API will not
 36753  // be included in the string output. The member name will be present, but the
 36754  // value will be replaced with "sensitive".
 36755  func (s MonitoredResourceInfo) String() string {
 36756  	return awsutil.Prettify(s)
 36757  }
 36758  
 36759  // GoString returns the string representation.
 36760  //
 36761  // API parameter values that are decorated as "sensitive" in the API will not
 36762  // be included in the string output. The member name will be present, but the
 36763  // value will be replaced with "sensitive".
 36764  func (s MonitoredResourceInfo) GoString() string {
 36765  	return s.String()
 36766  }
 36767  
 36768  // SetArn sets the Arn field's value.
 36769  func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
 36770  	s.Arn = &v
 36771  	return s
 36772  }
 36773  
 36774  // SetName sets the Name field's value.
 36775  func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
 36776  	s.Name = &v
 36777  	return s
 36778  }
 36779  
 36780  // SetResourceType sets the ResourceType field's value.
 36781  func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
 36782  	s.ResourceType = &v
 36783  	return s
 36784  }
 36785  
 36786  // Describes the monthly data transfer in and out of your virtual private server
 36787  // (or instance).
 36788  type MonthlyTransfer struct {
 36789  	_ struct{} `type:"structure"`
 36790  
 36791  	// The amount allocated per month (in GB).
 36792  	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
 36793  }
 36794  
 36795  // String returns the string representation.
 36796  //
 36797  // API parameter values that are decorated as "sensitive" in the API will not
 36798  // be included in the string output. The member name will be present, but the
 36799  // value will be replaced with "sensitive".
 36800  func (s MonthlyTransfer) String() string {
 36801  	return awsutil.Prettify(s)
 36802  }
 36803  
 36804  // GoString returns the string representation.
 36805  //
 36806  // API parameter values that are decorated as "sensitive" in the API will not
 36807  // be included in the string output. The member name will be present, but the
 36808  // value will be replaced with "sensitive".
 36809  func (s MonthlyTransfer) GoString() string {
 36810  	return s.String()
 36811  }
 36812  
 36813  // SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
 36814  func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
 36815  	s.GbPerMonthAllocated = &v
 36816  	return s
 36817  }
 36818  
 36819  // Lightsail throws this exception when it cannot find a resource.
 36820  type NotFoundException struct {
 36821  	_            struct{}                  `type:"structure"`
 36822  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 36823  
 36824  	Code_ *string `locationName:"code" type:"string"`
 36825  
 36826  	Docs *string `locationName:"docs" type:"string"`
 36827  
 36828  	Message_ *string `locationName:"message" type:"string"`
 36829  
 36830  	Tip *string `locationName:"tip" type:"string"`
 36831  }
 36832  
 36833  // String returns the string representation.
 36834  //
 36835  // API parameter values that are decorated as "sensitive" in the API will not
 36836  // be included in the string output. The member name will be present, but the
 36837  // value will be replaced with "sensitive".
 36838  func (s NotFoundException) String() string {
 36839  	return awsutil.Prettify(s)
 36840  }
 36841  
 36842  // GoString returns the string representation.
 36843  //
 36844  // API parameter values that are decorated as "sensitive" in the API will not
 36845  // be included in the string output. The member name will be present, but the
 36846  // value will be replaced with "sensitive".
 36847  func (s NotFoundException) GoString() string {
 36848  	return s.String()
 36849  }
 36850  
 36851  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 36852  	return &NotFoundException{
 36853  		RespMetadata: v,
 36854  	}
 36855  }
 36856  
 36857  // Code returns the exception type name.
 36858  func (s *NotFoundException) Code() string {
 36859  	return "NotFoundException"
 36860  }
 36861  
 36862  // Message returns the exception's message.
 36863  func (s *NotFoundException) Message() string {
 36864  	if s.Message_ != nil {
 36865  		return *s.Message_
 36866  	}
 36867  	return ""
 36868  }
 36869  
 36870  // OrigErr always returns nil, satisfies awserr.Error interface.
 36871  func (s *NotFoundException) OrigErr() error {
 36872  	return nil
 36873  }
 36874  
 36875  func (s *NotFoundException) Error() string {
 36876  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 36877  }
 36878  
 36879  // Status code returns the HTTP status code for the request's response error.
 36880  func (s *NotFoundException) StatusCode() int {
 36881  	return s.RespMetadata.StatusCode
 36882  }
 36883  
 36884  // RequestID returns the service's response RequestID for request.
 36885  func (s *NotFoundException) RequestID() string {
 36886  	return s.RespMetadata.RequestID
 36887  }
 36888  
 36889  type OpenInstancePublicPortsInput struct {
 36890  	_ struct{} `type:"structure"`
 36891  
 36892  	// The name of the instance for which to open ports.
 36893  	//
 36894  	// InstanceName is a required field
 36895  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 36896  
 36897  	// An object to describe the ports to open for the specified instance.
 36898  	//
 36899  	// PortInfo is a required field
 36900  	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
 36901  }
 36902  
 36903  // String returns the string representation.
 36904  //
 36905  // API parameter values that are decorated as "sensitive" in the API will not
 36906  // be included in the string output. The member name will be present, but the
 36907  // value will be replaced with "sensitive".
 36908  func (s OpenInstancePublicPortsInput) String() string {
 36909  	return awsutil.Prettify(s)
 36910  }
 36911  
 36912  // GoString returns the string representation.
 36913  //
 36914  // API parameter values that are decorated as "sensitive" in the API will not
 36915  // be included in the string output. The member name will be present, but the
 36916  // value will be replaced with "sensitive".
 36917  func (s OpenInstancePublicPortsInput) GoString() string {
 36918  	return s.String()
 36919  }
 36920  
 36921  // Validate inspects the fields of the type to determine if they are valid.
 36922  func (s *OpenInstancePublicPortsInput) Validate() error {
 36923  	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
 36924  	if s.InstanceName == nil {
 36925  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 36926  	}
 36927  	if s.PortInfo == nil {
 36928  		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
 36929  	}
 36930  	if s.PortInfo != nil {
 36931  		if err := s.PortInfo.Validate(); err != nil {
 36932  			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
 36933  		}
 36934  	}
 36935  
 36936  	if invalidParams.Len() > 0 {
 36937  		return invalidParams
 36938  	}
 36939  	return nil
 36940  }
 36941  
 36942  // SetInstanceName sets the InstanceName field's value.
 36943  func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
 36944  	s.InstanceName = &v
 36945  	return s
 36946  }
 36947  
 36948  // SetPortInfo sets the PortInfo field's value.
 36949  func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
 36950  	s.PortInfo = v
 36951  	return s
 36952  }
 36953  
 36954  type OpenInstancePublicPortsOutput struct {
 36955  	_ struct{} `type:"structure"`
 36956  
 36957  	// An array of objects that describe the result of the action, such as the status
 36958  	// of the request, the timestamp of the request, and the resources affected
 36959  	// by the request.
 36960  	Operation *Operation `locationName:"operation" type:"structure"`
 36961  }
 36962  
 36963  // String returns the string representation.
 36964  //
 36965  // API parameter values that are decorated as "sensitive" in the API will not
 36966  // be included in the string output. The member name will be present, but the
 36967  // value will be replaced with "sensitive".
 36968  func (s OpenInstancePublicPortsOutput) String() string {
 36969  	return awsutil.Prettify(s)
 36970  }
 36971  
 36972  // GoString returns the string representation.
 36973  //
 36974  // API parameter values that are decorated as "sensitive" in the API will not
 36975  // be included in the string output. The member name will be present, but the
 36976  // value will be replaced with "sensitive".
 36977  func (s OpenInstancePublicPortsOutput) GoString() string {
 36978  	return s.String()
 36979  }
 36980  
 36981  // SetOperation sets the Operation field's value.
 36982  func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
 36983  	s.Operation = v
 36984  	return s
 36985  }
 36986  
 36987  // Describes the API operation.
 36988  type Operation struct {
 36989  	_ struct{} `type:"structure"`
 36990  
 36991  	// The timestamp when the operation was initialized (e.g., 1479816991.349).
 36992  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 36993  
 36994  	// The error code.
 36995  	ErrorCode *string `locationName:"errorCode" type:"string"`
 36996  
 36997  	// The error details.
 36998  	ErrorDetails *string `locationName:"errorDetails" type:"string"`
 36999  
 37000  	// The ID of the operation.
 37001  	Id *string `locationName:"id" type:"string"`
 37002  
 37003  	// A Boolean value indicating whether the operation is terminal.
 37004  	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
 37005  
 37006  	// The AWS Region and Availability Zone.
 37007  	Location *ResourceLocation `locationName:"location" type:"structure"`
 37008  
 37009  	// Details about the operation (e.g., Debian-1GB-Ohio-1).
 37010  	OperationDetails *string `locationName:"operationDetails" type:"string"`
 37011  
 37012  	// The type of operation.
 37013  	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
 37014  
 37015  	// The resource name.
 37016  	ResourceName *string `locationName:"resourceName" type:"string"`
 37017  
 37018  	// The resource type.
 37019  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 37020  
 37021  	// The status of the operation.
 37022  	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
 37023  
 37024  	// The timestamp when the status was changed (e.g., 1479816991.349).
 37025  	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
 37026  }
 37027  
 37028  // String returns the string representation.
 37029  //
 37030  // API parameter values that are decorated as "sensitive" in the API will not
 37031  // be included in the string output. The member name will be present, but the
 37032  // value will be replaced with "sensitive".
 37033  func (s Operation) String() string {
 37034  	return awsutil.Prettify(s)
 37035  }
 37036  
 37037  // GoString returns the string representation.
 37038  //
 37039  // API parameter values that are decorated as "sensitive" in the API will not
 37040  // be included in the string output. The member name will be present, but the
 37041  // value will be replaced with "sensitive".
 37042  func (s Operation) GoString() string {
 37043  	return s.String()
 37044  }
 37045  
 37046  // SetCreatedAt sets the CreatedAt field's value.
 37047  func (s *Operation) SetCreatedAt(v time.Time) *Operation {
 37048  	s.CreatedAt = &v
 37049  	return s
 37050  }
 37051  
 37052  // SetErrorCode sets the ErrorCode field's value.
 37053  func (s *Operation) SetErrorCode(v string) *Operation {
 37054  	s.ErrorCode = &v
 37055  	return s
 37056  }
 37057  
 37058  // SetErrorDetails sets the ErrorDetails field's value.
 37059  func (s *Operation) SetErrorDetails(v string) *Operation {
 37060  	s.ErrorDetails = &v
 37061  	return s
 37062  }
 37063  
 37064  // SetId sets the Id field's value.
 37065  func (s *Operation) SetId(v string) *Operation {
 37066  	s.Id = &v
 37067  	return s
 37068  }
 37069  
 37070  // SetIsTerminal sets the IsTerminal field's value.
 37071  func (s *Operation) SetIsTerminal(v bool) *Operation {
 37072  	s.IsTerminal = &v
 37073  	return s
 37074  }
 37075  
 37076  // SetLocation sets the Location field's value.
 37077  func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
 37078  	s.Location = v
 37079  	return s
 37080  }
 37081  
 37082  // SetOperationDetails sets the OperationDetails field's value.
 37083  func (s *Operation) SetOperationDetails(v string) *Operation {
 37084  	s.OperationDetails = &v
 37085  	return s
 37086  }
 37087  
 37088  // SetOperationType sets the OperationType field's value.
 37089  func (s *Operation) SetOperationType(v string) *Operation {
 37090  	s.OperationType = &v
 37091  	return s
 37092  }
 37093  
 37094  // SetResourceName sets the ResourceName field's value.
 37095  func (s *Operation) SetResourceName(v string) *Operation {
 37096  	s.ResourceName = &v
 37097  	return s
 37098  }
 37099  
 37100  // SetResourceType sets the ResourceType field's value.
 37101  func (s *Operation) SetResourceType(v string) *Operation {
 37102  	s.ResourceType = &v
 37103  	return s
 37104  }
 37105  
 37106  // SetStatus sets the Status field's value.
 37107  func (s *Operation) SetStatus(v string) *Operation {
 37108  	s.Status = &v
 37109  	return s
 37110  }
 37111  
 37112  // SetStatusChangedAt sets the StatusChangedAt field's value.
 37113  func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
 37114  	s.StatusChangedAt = &v
 37115  	return s
 37116  }
 37117  
 37118  // Lightsail throws this exception when an operation fails to execute.
 37119  type OperationFailureException struct {
 37120  	_            struct{}                  `type:"structure"`
 37121  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 37122  
 37123  	Code_ *string `locationName:"code" type:"string"`
 37124  
 37125  	Docs *string `locationName:"docs" type:"string"`
 37126  
 37127  	Message_ *string `locationName:"message" type:"string"`
 37128  
 37129  	Tip *string `locationName:"tip" type:"string"`
 37130  }
 37131  
 37132  // String returns the string representation.
 37133  //
 37134  // API parameter values that are decorated as "sensitive" in the API will not
 37135  // be included in the string output. The member name will be present, but the
 37136  // value will be replaced with "sensitive".
 37137  func (s OperationFailureException) String() string {
 37138  	return awsutil.Prettify(s)
 37139  }
 37140  
 37141  // GoString returns the string representation.
 37142  //
 37143  // API parameter values that are decorated as "sensitive" in the API will not
 37144  // be included in the string output. The member name will be present, but the
 37145  // value will be replaced with "sensitive".
 37146  func (s OperationFailureException) GoString() string {
 37147  	return s.String()
 37148  }
 37149  
 37150  func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
 37151  	return &OperationFailureException{
 37152  		RespMetadata: v,
 37153  	}
 37154  }
 37155  
 37156  // Code returns the exception type name.
 37157  func (s *OperationFailureException) Code() string {
 37158  	return "OperationFailureException"
 37159  }
 37160  
 37161  // Message returns the exception's message.
 37162  func (s *OperationFailureException) Message() string {
 37163  	if s.Message_ != nil {
 37164  		return *s.Message_
 37165  	}
 37166  	return ""
 37167  }
 37168  
 37169  // OrigErr always returns nil, satisfies awserr.Error interface.
 37170  func (s *OperationFailureException) OrigErr() error {
 37171  	return nil
 37172  }
 37173  
 37174  func (s *OperationFailureException) Error() string {
 37175  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 37176  }
 37177  
 37178  // Status code returns the HTTP status code for the request's response error.
 37179  func (s *OperationFailureException) StatusCode() int {
 37180  	return s.RespMetadata.StatusCode
 37181  }
 37182  
 37183  // RequestID returns the service's response RequestID for request.
 37184  func (s *OperationFailureException) RequestID() string {
 37185  	return s.RespMetadata.RequestID
 37186  }
 37187  
 37188  // Describes the origin resource of an Amazon Lightsail content delivery network
 37189  // (CDN) distribution.
 37190  //
 37191  // An origin can be a Lightsail instance or load balancer. A distribution pulls
 37192  // content from an origin, caches it, and serves it to viewers via a worldwide
 37193  // network of edge servers.
 37194  type Origin struct {
 37195  	_ struct{} `type:"structure"`
 37196  
 37197  	// The name of the origin resource.
 37198  	Name *string `locationName:"name" type:"string"`
 37199  
 37200  	// The protocol that your Amazon Lightsail distribution uses when establishing
 37201  	// a connection with your origin to pull content.
 37202  	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
 37203  
 37204  	// The AWS Region name of the origin resource.
 37205  	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
 37206  
 37207  	// The resource type of the origin resource (e.g., Instance).
 37208  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 37209  }
 37210  
 37211  // String returns the string representation.
 37212  //
 37213  // API parameter values that are decorated as "sensitive" in the API will not
 37214  // be included in the string output. The member name will be present, but the
 37215  // value will be replaced with "sensitive".
 37216  func (s Origin) String() string {
 37217  	return awsutil.Prettify(s)
 37218  }
 37219  
 37220  // GoString returns the string representation.
 37221  //
 37222  // API parameter values that are decorated as "sensitive" in the API will not
 37223  // be included in the string output. The member name will be present, but the
 37224  // value will be replaced with "sensitive".
 37225  func (s Origin) GoString() string {
 37226  	return s.String()
 37227  }
 37228  
 37229  // SetName sets the Name field's value.
 37230  func (s *Origin) SetName(v string) *Origin {
 37231  	s.Name = &v
 37232  	return s
 37233  }
 37234  
 37235  // SetProtocolPolicy sets the ProtocolPolicy field's value.
 37236  func (s *Origin) SetProtocolPolicy(v string) *Origin {
 37237  	s.ProtocolPolicy = &v
 37238  	return s
 37239  }
 37240  
 37241  // SetRegionName sets the RegionName field's value.
 37242  func (s *Origin) SetRegionName(v string) *Origin {
 37243  	s.RegionName = &v
 37244  	return s
 37245  }
 37246  
 37247  // SetResourceType sets the ResourceType field's value.
 37248  func (s *Origin) SetResourceType(v string) *Origin {
 37249  	s.ResourceType = &v
 37250  	return s
 37251  }
 37252  
 37253  // The password data for the Windows Server-based instance, including the ciphertext
 37254  // and the key pair name.
 37255  type PasswordData struct {
 37256  	_ struct{} `type:"structure"`
 37257  
 37258  	// The encrypted password. Ciphertext will be an empty string if access to your
 37259  	// new instance is not ready yet. When you create an instance, it can take up
 37260  	// to 15 minutes for the instance to be ready.
 37261  	//
 37262  	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
 37263  	// password will be available in the password field.
 37264  	//
 37265  	// If you are using a custom key pair, you need to use your own means of decryption.
 37266  	//
 37267  	// If you change the Administrator password on the instance, Lightsail will
 37268  	// continue to return the original ciphertext value. When accessing the instance
 37269  	// using RDP, you need to manually enter the Administrator password after changing
 37270  	// it from the default.
 37271  	Ciphertext *string `locationName:"ciphertext" type:"string"`
 37272  
 37273  	// The name of the key pair that you used when creating your instance. If no
 37274  	// key pair name was specified when creating the instance, Lightsail uses the
 37275  	// default key pair (LightsailDefaultKeyPair).
 37276  	//
 37277  	// If you are using a custom key pair, you need to use your own means of decrypting
 37278  	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
 37279  	// your password with the public key part of this key pair.
 37280  	KeyPairName *string `locationName:"keyPairName" type:"string"`
 37281  }
 37282  
 37283  // String returns the string representation.
 37284  //
 37285  // API parameter values that are decorated as "sensitive" in the API will not
 37286  // be included in the string output. The member name will be present, but the
 37287  // value will be replaced with "sensitive".
 37288  func (s PasswordData) String() string {
 37289  	return awsutil.Prettify(s)
 37290  }
 37291  
 37292  // GoString returns the string representation.
 37293  //
 37294  // API parameter values that are decorated as "sensitive" in the API will not
 37295  // be included in the string output. The member name will be present, but the
 37296  // value will be replaced with "sensitive".
 37297  func (s PasswordData) GoString() string {
 37298  	return s.String()
 37299  }
 37300  
 37301  // SetCiphertext sets the Ciphertext field's value.
 37302  func (s *PasswordData) SetCiphertext(v string) *PasswordData {
 37303  	s.Ciphertext = &v
 37304  	return s
 37305  }
 37306  
 37307  // SetKeyPairName sets the KeyPairName field's value.
 37308  func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
 37309  	s.KeyPairName = &v
 37310  	return s
 37311  }
 37312  
 37313  type PeerVpcInput struct {
 37314  	_ struct{} `type:"structure"`
 37315  }
 37316  
 37317  // String returns the string representation.
 37318  //
 37319  // API parameter values that are decorated as "sensitive" in the API will not
 37320  // be included in the string output. The member name will be present, but the
 37321  // value will be replaced with "sensitive".
 37322  func (s PeerVpcInput) String() string {
 37323  	return awsutil.Prettify(s)
 37324  }
 37325  
 37326  // GoString returns the string representation.
 37327  //
 37328  // API parameter values that are decorated as "sensitive" in the API will not
 37329  // be included in the string output. The member name will be present, but the
 37330  // value will be replaced with "sensitive".
 37331  func (s PeerVpcInput) GoString() string {
 37332  	return s.String()
 37333  }
 37334  
 37335  type PeerVpcOutput struct {
 37336  	_ struct{} `type:"structure"`
 37337  
 37338  	// An array of objects that describe the result of the action, such as the status
 37339  	// of the request, the timestamp of the request, and the resources affected
 37340  	// by the request.
 37341  	Operation *Operation `locationName:"operation" type:"structure"`
 37342  }
 37343  
 37344  // String returns the string representation.
 37345  //
 37346  // API parameter values that are decorated as "sensitive" in the API will not
 37347  // be included in the string output. The member name will be present, but the
 37348  // value will be replaced with "sensitive".
 37349  func (s PeerVpcOutput) String() string {
 37350  	return awsutil.Prettify(s)
 37351  }
 37352  
 37353  // GoString returns the string representation.
 37354  //
 37355  // API parameter values that are decorated as "sensitive" in the API will not
 37356  // be included in the string output. The member name will be present, but the
 37357  // value will be replaced with "sensitive".
 37358  func (s PeerVpcOutput) GoString() string {
 37359  	return s.String()
 37360  }
 37361  
 37362  // SetOperation sets the Operation field's value.
 37363  func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
 37364  	s.Operation = v
 37365  	return s
 37366  }
 37367  
 37368  // Describes a pending database maintenance action.
 37369  type PendingMaintenanceAction struct {
 37370  	_ struct{} `type:"structure"`
 37371  
 37372  	// The type of pending database maintenance action.
 37373  	Action *string `locationName:"action" type:"string"`
 37374  
 37375  	// The effective date of the pending database maintenance action.
 37376  	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
 37377  
 37378  	// Additional detail about the pending database maintenance action.
 37379  	Description *string `locationName:"description" type:"string"`
 37380  }
 37381  
 37382  // String returns the string representation.
 37383  //
 37384  // API parameter values that are decorated as "sensitive" in the API will not
 37385  // be included in the string output. The member name will be present, but the
 37386  // value will be replaced with "sensitive".
 37387  func (s PendingMaintenanceAction) String() string {
 37388  	return awsutil.Prettify(s)
 37389  }
 37390  
 37391  // GoString returns the string representation.
 37392  //
 37393  // API parameter values that are decorated as "sensitive" in the API will not
 37394  // be included in the string output. The member name will be present, but the
 37395  // value will be replaced with "sensitive".
 37396  func (s PendingMaintenanceAction) GoString() string {
 37397  	return s.String()
 37398  }
 37399  
 37400  // SetAction sets the Action field's value.
 37401  func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
 37402  	s.Action = &v
 37403  	return s
 37404  }
 37405  
 37406  // SetCurrentApplyDate sets the CurrentApplyDate field's value.
 37407  func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
 37408  	s.CurrentApplyDate = &v
 37409  	return s
 37410  }
 37411  
 37412  // SetDescription sets the Description field's value.
 37413  func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
 37414  	s.Description = &v
 37415  	return s
 37416  }
 37417  
 37418  // Describes a pending database value modification.
 37419  type PendingModifiedRelationalDatabaseValues struct {
 37420  	_ struct{} `type:"structure"`
 37421  
 37422  	// A Boolean value indicating whether automated backup retention is enabled.
 37423  	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
 37424  
 37425  	// The database engine version.
 37426  	EngineVersion *string `locationName:"engineVersion" type:"string"`
 37427  
 37428  	// The password for the master user of the database.
 37429  	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
 37430  }
 37431  
 37432  // String returns the string representation.
 37433  //
 37434  // API parameter values that are decorated as "sensitive" in the API will not
 37435  // be included in the string output. The member name will be present, but the
 37436  // value will be replaced with "sensitive".
 37437  func (s PendingModifiedRelationalDatabaseValues) String() string {
 37438  	return awsutil.Prettify(s)
 37439  }
 37440  
 37441  // GoString returns the string representation.
 37442  //
 37443  // API parameter values that are decorated as "sensitive" in the API will not
 37444  // be included in the string output. The member name will be present, but the
 37445  // value will be replaced with "sensitive".
 37446  func (s PendingModifiedRelationalDatabaseValues) GoString() string {
 37447  	return s.String()
 37448  }
 37449  
 37450  // SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
 37451  func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
 37452  	s.BackupRetentionEnabled = &v
 37453  	return s
 37454  }
 37455  
 37456  // SetEngineVersion sets the EngineVersion field's value.
 37457  func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
 37458  	s.EngineVersion = &v
 37459  	return s
 37460  }
 37461  
 37462  // SetMasterUserPassword sets the MasterUserPassword field's value.
 37463  func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
 37464  	s.MasterUserPassword = &v
 37465  	return s
 37466  }
 37467  
 37468  // Describes ports to open on an instance, the IP addresses allowed to connect
 37469  // to the instance through the ports, and the protocol.
 37470  type PortInfo struct {
 37471  	_ struct{} `type:"structure"`
 37472  
 37473  	// An alias that defines access for a preconfigured range of IP addresses.
 37474  	//
 37475  	// The only alias currently supported is lightsail-connect, which allows IP
 37476  	// addresses of the browser-based RDP/SSH client in the Lightsail console to
 37477  	// connect to your instance.
 37478  	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
 37479  
 37480  	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
 37481  	// allowed to connect to an instance through the ports, and the protocol.
 37482  	//
 37483  	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
 37484  	// to an instance.
 37485  	//
 37486  	// Examples:
 37487  	//
 37488  	//    * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.
 37489  	//
 37490  	//    * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
 37491  	//
 37492  	// For more information about CIDR block notation, see Classless Inter-Domain
 37493  	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
 37494  	// on Wikipedia.
 37495  	Cidrs []*string `locationName:"cidrs" type:"list"`
 37496  
 37497  	// The first port in a range of open ports on an instance.
 37498  	//
 37499  	// Allowed ports:
 37500  	//
 37501  	//    * TCP and UDP - 0 to 65535
 37502  	//
 37503  	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
 37504  	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
 37505  	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
 37506  	//    on Wikipedia.
 37507  	//
 37508  	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
 37509  	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
 37510  	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
 37511  	FromPort *int64 `locationName:"fromPort" type:"integer"`
 37512  
 37513  	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
 37514  	// allowed to connect to an instance through the ports, and the protocol. Only
 37515  	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
 37516  	// IPv4 should be used.
 37517  	//
 37518  	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
 37519  	// to an instance.
 37520  	//
 37521  	// For more information about CIDR block notation, see Classless Inter-Domain
 37522  	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
 37523  	// on Wikipedia.
 37524  	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
 37525  
 37526  	// The IP protocol name.
 37527  	//
 37528  	// The name can be one of the following:
 37529  	//
 37530  	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
 37531  	//    and error-checked delivery of streamed data between applications running
 37532  	//    on hosts communicating by an IP network. If you have an application that
 37533  	//    doesn't require reliable data stream service, use UDP instead.
 37534  	//
 37535  	//    * all - All transport layer protocol types. For more general information,
 37536  	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
 37537  	//    Wikipedia.
 37538  	//
 37539  	//    * udp - With User Datagram Protocol (UDP), computer applications can send
 37540  	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
 37541  	//    Prior communications are not required to set up transmission channels
 37542  	//    or data paths. Applications that don't require reliable data stream service
 37543  	//    can use UDP, which provides a connectionless datagram service that emphasizes
 37544  	//    reduced latency over reliability. If you do require reliable data stream
 37545  	//    service, use TCP instead.
 37546  	//
 37547  	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
 37548  	//    messages and operational information indicating success or failure when
 37549  	//    communicating with an instance. For example, an error is indicated when
 37550  	//    an instance could not be reached. When you specify icmp as the protocol,
 37551  	//    you must specify the ICMP type using the fromPort parameter, and ICMP
 37552  	//    code using the toPort parameter.
 37553  	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
 37554  
 37555  	// The last port in a range of open ports on an instance.
 37556  	//
 37557  	// Allowed ports:
 37558  	//
 37559  	//    * TCP and UDP - 0 to 65535
 37560  	//
 37561  	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
 37562  	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
 37563  	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
 37564  	//    on Wikipedia.
 37565  	//
 37566  	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
 37567  	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
 37568  	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
 37569  	ToPort *int64 `locationName:"toPort" type:"integer"`
 37570  }
 37571  
 37572  // String returns the string representation.
 37573  //
 37574  // API parameter values that are decorated as "sensitive" in the API will not
 37575  // be included in the string output. The member name will be present, but the
 37576  // value will be replaced with "sensitive".
 37577  func (s PortInfo) String() string {
 37578  	return awsutil.Prettify(s)
 37579  }
 37580  
 37581  // GoString returns the string representation.
 37582  //
 37583  // API parameter values that are decorated as "sensitive" in the API will not
 37584  // be included in the string output. The member name will be present, but the
 37585  // value will be replaced with "sensitive".
 37586  func (s PortInfo) GoString() string {
 37587  	return s.String()
 37588  }
 37589  
 37590  // Validate inspects the fields of the type to determine if they are valid.
 37591  func (s *PortInfo) Validate() error {
 37592  	invalidParams := request.ErrInvalidParams{Context: "PortInfo"}
 37593  	if s.FromPort != nil && *s.FromPort < -1 {
 37594  		invalidParams.Add(request.NewErrParamMinValue("FromPort", -1))
 37595  	}
 37596  	if s.ToPort != nil && *s.ToPort < -1 {
 37597  		invalidParams.Add(request.NewErrParamMinValue("ToPort", -1))
 37598  	}
 37599  
 37600  	if invalidParams.Len() > 0 {
 37601  		return invalidParams
 37602  	}
 37603  	return nil
 37604  }
 37605  
 37606  // SetCidrListAliases sets the CidrListAliases field's value.
 37607  func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo {
 37608  	s.CidrListAliases = v
 37609  	return s
 37610  }
 37611  
 37612  // SetCidrs sets the Cidrs field's value.
 37613  func (s *PortInfo) SetCidrs(v []*string) *PortInfo {
 37614  	s.Cidrs = v
 37615  	return s
 37616  }
 37617  
 37618  // SetFromPort sets the FromPort field's value.
 37619  func (s *PortInfo) SetFromPort(v int64) *PortInfo {
 37620  	s.FromPort = &v
 37621  	return s
 37622  }
 37623  
 37624  // SetIpv6Cidrs sets the Ipv6Cidrs field's value.
 37625  func (s *PortInfo) SetIpv6Cidrs(v []*string) *PortInfo {
 37626  	s.Ipv6Cidrs = v
 37627  	return s
 37628  }
 37629  
 37630  // SetProtocol sets the Protocol field's value.
 37631  func (s *PortInfo) SetProtocol(v string) *PortInfo {
 37632  	s.Protocol = &v
 37633  	return s
 37634  }
 37635  
 37636  // SetToPort sets the ToPort field's value.
 37637  func (s *PortInfo) SetToPort(v int64) *PortInfo {
 37638  	s.ToPort = &v
 37639  	return s
 37640  }
 37641  
 37642  type PutAlarmInput struct {
 37643  	_ struct{} `type:"structure"`
 37644  
 37645  	// The name for the alarm. Specify the name of an existing alarm to update,
 37646  	// and overwrite the previous configuration of the alarm.
 37647  	//
 37648  	// AlarmName is a required field
 37649  	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
 37650  
 37651  	// The arithmetic operation to use when comparing the specified statistic to
 37652  	// the threshold. The specified statistic value is used as the first operand.
 37653  	//
 37654  	// ComparisonOperator is a required field
 37655  	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
 37656  
 37657  	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
 37658  	// or both.
 37659  	//
 37660  	// A notification is sent via the specified contact protocol if notifications
 37661  	// are enabled for the alarm, and when the alarm is triggered.
 37662  	//
 37663  	// A notification is not sent if a contact protocol is not specified, if the
 37664  	// specified contact protocol is not configured in the AWS Region, or if notifications
 37665  	// are not enabled for the alarm using the notificationEnabled paramater.
 37666  	//
 37667  	// Use the CreateContactMethod action to configure a contact protocol in an
 37668  	// AWS Region.
 37669  	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
 37670  
 37671  	// The number of data points that must be not within the specified threshold
 37672  	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
 37673  	// (datapointsToAlarm) is the M.
 37674  	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
 37675  
 37676  	// The number of most recent periods over which data is compared to the specified
 37677  	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
 37678  	// is the N.
 37679  	//
 37680  	// If you are setting an alarm that requires that a number of consecutive data
 37681  	// points be breaching to trigger the alarm, this value specifies the rolling
 37682  	// period of time in which data points are evaluated.
 37683  	//
 37684  	// Each evaluation period is five minutes long. For example, specify an evaluation
 37685  	// period of 24 to evaluate a metric over a rolling period of two hours.
 37686  	//
 37687  	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
 37688  	// evaluation period of 288 (24 hours).
 37689  	//
 37690  	// EvaluationPeriods is a required field
 37691  	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
 37692  
 37693  	// The name of the metric to associate with the alarm.
 37694  	//
 37695  	// You can configure up to two alarms per metric.
 37696  	//
 37697  	// The following metrics are available for each resource type:
 37698  	//
 37699  	//    * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization,
 37700  	//    NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance,
 37701  	//    and StatusCheckFailed_System.
 37702  	//
 37703  	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
 37704  	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
 37705  	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
 37706  	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
 37707  	//
 37708  	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
 37709  	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
 37710  	//
 37711  	// For more information about these metrics, see Metrics available in Lightsail
 37712  	// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics).
 37713  	//
 37714  	// MetricName is a required field
 37715  	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
 37716  
 37717  	// The name of the Lightsail resource that will be monitored.
 37718  	//
 37719  	// Instances, load balancers, and relational databases are the only Lightsail
 37720  	// resources that can currently be monitored by alarms.
 37721  	//
 37722  	// MonitoredResourceName is a required field
 37723  	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
 37724  
 37725  	// Indicates whether the alarm is enabled.
 37726  	//
 37727  	// Notifications are enabled by default if you don't specify this parameter.
 37728  	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
 37729  
 37730  	// The alarm states that trigger a notification.
 37731  	//
 37732  	// An alarm has the following possible states:
 37733  	//
 37734  	//    * ALARM - The metric is outside of the defined threshold.
 37735  	//
 37736  	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
 37737  	//    or not enough data is available for the metric to determine the alarm
 37738  	//    state.
 37739  	//
 37740  	//    * OK - The metric is within the defined threshold.
 37741  	//
 37742  	// When you specify a notification trigger, the ALARM state must be specified.
 37743  	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
 37744  	// state.
 37745  	//
 37746  	//    * If you specify OK as an alarm trigger, a notification is sent when the
 37747  	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
 37748  	//    state. This can be thought of as an all clear alarm notification.
 37749  	//
 37750  	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
 37751  	//    is sent when the alarm switches from an OK or ALARM alarm state to an
 37752  	//    INSUFFICIENT_DATA state.
 37753  	//
 37754  	// The notification trigger defaults to ALARM if you don't specify this parameter.
 37755  	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
 37756  
 37757  	// The value against which the specified statistic is compared.
 37758  	//
 37759  	// Threshold is a required field
 37760  	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
 37761  
 37762  	// Sets how this alarm will handle missing data points.
 37763  	//
 37764  	// An alarm can treat missing data in the following ways:
 37765  	//
 37766  	//    * breaching - Assume the missing data is not within the threshold. Missing
 37767  	//    data counts towards the number of times the metric is not within the threshold.
 37768  	//
 37769  	//    * notBreaching - Assume the missing data is within the threshold. Missing
 37770  	//    data does not count towards the number of times the metric is not within
 37771  	//    the threshold.
 37772  	//
 37773  	//    * ignore - Ignore the missing data. Maintains the current alarm state.
 37774  	//
 37775  	//    * missing - Missing data is treated as missing.
 37776  	//
 37777  	// If treatMissingData is not specified, the default behavior of missing is
 37778  	// used.
 37779  	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
 37780  }
 37781  
 37782  // String returns the string representation.
 37783  //
 37784  // API parameter values that are decorated as "sensitive" in the API will not
 37785  // be included in the string output. The member name will be present, but the
 37786  // value will be replaced with "sensitive".
 37787  func (s PutAlarmInput) String() string {
 37788  	return awsutil.Prettify(s)
 37789  }
 37790  
 37791  // GoString returns the string representation.
 37792  //
 37793  // API parameter values that are decorated as "sensitive" in the API will not
 37794  // be included in the string output. The member name will be present, but the
 37795  // value will be replaced with "sensitive".
 37796  func (s PutAlarmInput) GoString() string {
 37797  	return s.String()
 37798  }
 37799  
 37800  // Validate inspects the fields of the type to determine if they are valid.
 37801  func (s *PutAlarmInput) Validate() error {
 37802  	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
 37803  	if s.AlarmName == nil {
 37804  		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
 37805  	}
 37806  	if s.ComparisonOperator == nil {
 37807  		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
 37808  	}
 37809  	if s.EvaluationPeriods == nil {
 37810  		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
 37811  	}
 37812  	if s.MetricName == nil {
 37813  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 37814  	}
 37815  	if s.MonitoredResourceName == nil {
 37816  		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
 37817  	}
 37818  	if s.Threshold == nil {
 37819  		invalidParams.Add(request.NewErrParamRequired("Threshold"))
 37820  	}
 37821  
 37822  	if invalidParams.Len() > 0 {
 37823  		return invalidParams
 37824  	}
 37825  	return nil
 37826  }
 37827  
 37828  // SetAlarmName sets the AlarmName field's value.
 37829  func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
 37830  	s.AlarmName = &v
 37831  	return s
 37832  }
 37833  
 37834  // SetComparisonOperator sets the ComparisonOperator field's value.
 37835  func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
 37836  	s.ComparisonOperator = &v
 37837  	return s
 37838  }
 37839  
 37840  // SetContactProtocols sets the ContactProtocols field's value.
 37841  func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
 37842  	s.ContactProtocols = v
 37843  	return s
 37844  }
 37845  
 37846  // SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
 37847  func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
 37848  	s.DatapointsToAlarm = &v
 37849  	return s
 37850  }
 37851  
 37852  // SetEvaluationPeriods sets the EvaluationPeriods field's value.
 37853  func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
 37854  	s.EvaluationPeriods = &v
 37855  	return s
 37856  }
 37857  
 37858  // SetMetricName sets the MetricName field's value.
 37859  func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
 37860  	s.MetricName = &v
 37861  	return s
 37862  }
 37863  
 37864  // SetMonitoredResourceName sets the MonitoredResourceName field's value.
 37865  func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
 37866  	s.MonitoredResourceName = &v
 37867  	return s
 37868  }
 37869  
 37870  // SetNotificationEnabled sets the NotificationEnabled field's value.
 37871  func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
 37872  	s.NotificationEnabled = &v
 37873  	return s
 37874  }
 37875  
 37876  // SetNotificationTriggers sets the NotificationTriggers field's value.
 37877  func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
 37878  	s.NotificationTriggers = v
 37879  	return s
 37880  }
 37881  
 37882  // SetThreshold sets the Threshold field's value.
 37883  func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
 37884  	s.Threshold = &v
 37885  	return s
 37886  }
 37887  
 37888  // SetTreatMissingData sets the TreatMissingData field's value.
 37889  func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
 37890  	s.TreatMissingData = &v
 37891  	return s
 37892  }
 37893  
 37894  type PutAlarmOutput struct {
 37895  	_ struct{} `type:"structure"`
 37896  
 37897  	// An array of objects that describe the result of the action, such as the status
 37898  	// of the request, the timestamp of the request, and the resources affected
 37899  	// by the request.
 37900  	Operations []*Operation `locationName:"operations" type:"list"`
 37901  }
 37902  
 37903  // String returns the string representation.
 37904  //
 37905  // API parameter values that are decorated as "sensitive" in the API will not
 37906  // be included in the string output. The member name will be present, but the
 37907  // value will be replaced with "sensitive".
 37908  func (s PutAlarmOutput) String() string {
 37909  	return awsutil.Prettify(s)
 37910  }
 37911  
 37912  // GoString returns the string representation.
 37913  //
 37914  // API parameter values that are decorated as "sensitive" in the API will not
 37915  // be included in the string output. The member name will be present, but the
 37916  // value will be replaced with "sensitive".
 37917  func (s PutAlarmOutput) GoString() string {
 37918  	return s.String()
 37919  }
 37920  
 37921  // SetOperations sets the Operations field's value.
 37922  func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
 37923  	s.Operations = v
 37924  	return s
 37925  }
 37926  
 37927  type PutInstancePublicPortsInput struct {
 37928  	_ struct{} `type:"structure"`
 37929  
 37930  	// The name of the instance for which to open ports.
 37931  	//
 37932  	// InstanceName is a required field
 37933  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 37934  
 37935  	// An array of objects to describe the ports to open for the specified instance.
 37936  	//
 37937  	// PortInfos is a required field
 37938  	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
 37939  }
 37940  
 37941  // String returns the string representation.
 37942  //
 37943  // API parameter values that are decorated as "sensitive" in the API will not
 37944  // be included in the string output. The member name will be present, but the
 37945  // value will be replaced with "sensitive".
 37946  func (s PutInstancePublicPortsInput) String() string {
 37947  	return awsutil.Prettify(s)
 37948  }
 37949  
 37950  // GoString returns the string representation.
 37951  //
 37952  // API parameter values that are decorated as "sensitive" in the API will not
 37953  // be included in the string output. The member name will be present, but the
 37954  // value will be replaced with "sensitive".
 37955  func (s PutInstancePublicPortsInput) GoString() string {
 37956  	return s.String()
 37957  }
 37958  
 37959  // Validate inspects the fields of the type to determine if they are valid.
 37960  func (s *PutInstancePublicPortsInput) Validate() error {
 37961  	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
 37962  	if s.InstanceName == nil {
 37963  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 37964  	}
 37965  	if s.PortInfos == nil {
 37966  		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
 37967  	}
 37968  	if s.PortInfos != nil {
 37969  		for i, v := range s.PortInfos {
 37970  			if v == nil {
 37971  				continue
 37972  			}
 37973  			if err := v.Validate(); err != nil {
 37974  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams))
 37975  			}
 37976  		}
 37977  	}
 37978  
 37979  	if invalidParams.Len() > 0 {
 37980  		return invalidParams
 37981  	}
 37982  	return nil
 37983  }
 37984  
 37985  // SetInstanceName sets the InstanceName field's value.
 37986  func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
 37987  	s.InstanceName = &v
 37988  	return s
 37989  }
 37990  
 37991  // SetPortInfos sets the PortInfos field's value.
 37992  func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
 37993  	s.PortInfos = v
 37994  	return s
 37995  }
 37996  
 37997  type PutInstancePublicPortsOutput struct {
 37998  	_ struct{} `type:"structure"`
 37999  
 38000  	// An array of objects that describe the result of the action, such as the status
 38001  	// of the request, the timestamp of the request, and the resources affected
 38002  	// by the request.
 38003  	Operation *Operation `locationName:"operation" type:"structure"`
 38004  }
 38005  
 38006  // String returns the string representation.
 38007  //
 38008  // API parameter values that are decorated as "sensitive" in the API will not
 38009  // be included in the string output. The member name will be present, but the
 38010  // value will be replaced with "sensitive".
 38011  func (s PutInstancePublicPortsOutput) String() string {
 38012  	return awsutil.Prettify(s)
 38013  }
 38014  
 38015  // GoString returns the string representation.
 38016  //
 38017  // API parameter values that are decorated as "sensitive" in the API will not
 38018  // be included in the string output. The member name will be present, but the
 38019  // value will be replaced with "sensitive".
 38020  func (s PutInstancePublicPortsOutput) GoString() string {
 38021  	return s.String()
 38022  }
 38023  
 38024  // SetOperation sets the Operation field's value.
 38025  func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
 38026  	s.Operation = v
 38027  	return s
 38028  }
 38029  
 38030  // Describes the query string parameters that an Amazon Lightsail content delivery
 38031  // network (CDN) distribution to bases caching on.
 38032  //
 38033  // For the query strings that you specify, your distribution caches separate
 38034  // versions of the specified content based on the query string values in viewer
 38035  // requests.
 38036  type QueryStringObject struct {
 38037  	_ struct{} `type:"structure"`
 38038  
 38039  	// Indicates whether the distribution forwards and caches based on query strings.
 38040  	Option *bool `locationName:"option" type:"boolean"`
 38041  
 38042  	// The specific query strings that the distribution forwards to the origin.
 38043  	//
 38044  	// Your distribution will cache content based on the specified query strings.
 38045  	//
 38046  	// If the option parameter is true, then your distribution forwards all query
 38047  	// strings, regardless of what you specify using the queryStringsAllowList parameter.
 38048  	QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"`
 38049  }
 38050  
 38051  // String returns the string representation.
 38052  //
 38053  // API parameter values that are decorated as "sensitive" in the API will not
 38054  // be included in the string output. The member name will be present, but the
 38055  // value will be replaced with "sensitive".
 38056  func (s QueryStringObject) String() string {
 38057  	return awsutil.Prettify(s)
 38058  }
 38059  
 38060  // GoString returns the string representation.
 38061  //
 38062  // API parameter values that are decorated as "sensitive" in the API will not
 38063  // be included in the string output. The member name will be present, but the
 38064  // value will be replaced with "sensitive".
 38065  func (s QueryStringObject) GoString() string {
 38066  	return s.String()
 38067  }
 38068  
 38069  // SetOption sets the Option field's value.
 38070  func (s *QueryStringObject) SetOption(v bool) *QueryStringObject {
 38071  	s.Option = &v
 38072  	return s
 38073  }
 38074  
 38075  // SetQueryStringsAllowList sets the QueryStringsAllowList field's value.
 38076  func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject {
 38077  	s.QueryStringsAllowList = v
 38078  	return s
 38079  }
 38080  
 38081  type RebootInstanceInput struct {
 38082  	_ struct{} `type:"structure"`
 38083  
 38084  	// The name of the instance to reboot.
 38085  	//
 38086  	// InstanceName is a required field
 38087  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 38088  }
 38089  
 38090  // String returns the string representation.
 38091  //
 38092  // API parameter values that are decorated as "sensitive" in the API will not
 38093  // be included in the string output. The member name will be present, but the
 38094  // value will be replaced with "sensitive".
 38095  func (s RebootInstanceInput) String() string {
 38096  	return awsutil.Prettify(s)
 38097  }
 38098  
 38099  // GoString returns the string representation.
 38100  //
 38101  // API parameter values that are decorated as "sensitive" in the API will not
 38102  // be included in the string output. The member name will be present, but the
 38103  // value will be replaced with "sensitive".
 38104  func (s RebootInstanceInput) GoString() string {
 38105  	return s.String()
 38106  }
 38107  
 38108  // Validate inspects the fields of the type to determine if they are valid.
 38109  func (s *RebootInstanceInput) Validate() error {
 38110  	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
 38111  	if s.InstanceName == nil {
 38112  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 38113  	}
 38114  
 38115  	if invalidParams.Len() > 0 {
 38116  		return invalidParams
 38117  	}
 38118  	return nil
 38119  }
 38120  
 38121  // SetInstanceName sets the InstanceName field's value.
 38122  func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
 38123  	s.InstanceName = &v
 38124  	return s
 38125  }
 38126  
 38127  type RebootInstanceOutput struct {
 38128  	_ struct{} `type:"structure"`
 38129  
 38130  	// An array of objects that describe the result of the action, such as the status
 38131  	// of the request, the timestamp of the request, and the resources affected
 38132  	// by the request.
 38133  	Operations []*Operation `locationName:"operations" type:"list"`
 38134  }
 38135  
 38136  // String returns the string representation.
 38137  //
 38138  // API parameter values that are decorated as "sensitive" in the API will not
 38139  // be included in the string output. The member name will be present, but the
 38140  // value will be replaced with "sensitive".
 38141  func (s RebootInstanceOutput) String() string {
 38142  	return awsutil.Prettify(s)
 38143  }
 38144  
 38145  // GoString returns the string representation.
 38146  //
 38147  // API parameter values that are decorated as "sensitive" in the API will not
 38148  // be included in the string output. The member name will be present, but the
 38149  // value will be replaced with "sensitive".
 38150  func (s RebootInstanceOutput) GoString() string {
 38151  	return s.String()
 38152  }
 38153  
 38154  // SetOperations sets the Operations field's value.
 38155  func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
 38156  	s.Operations = v
 38157  	return s
 38158  }
 38159  
 38160  type RebootRelationalDatabaseInput struct {
 38161  	_ struct{} `type:"structure"`
 38162  
 38163  	// The name of your database to reboot.
 38164  	//
 38165  	// RelationalDatabaseName is a required field
 38166  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 38167  }
 38168  
 38169  // String returns the string representation.
 38170  //
 38171  // API parameter values that are decorated as "sensitive" in the API will not
 38172  // be included in the string output. The member name will be present, but the
 38173  // value will be replaced with "sensitive".
 38174  func (s RebootRelationalDatabaseInput) String() string {
 38175  	return awsutil.Prettify(s)
 38176  }
 38177  
 38178  // GoString returns the string representation.
 38179  //
 38180  // API parameter values that are decorated as "sensitive" in the API will not
 38181  // be included in the string output. The member name will be present, but the
 38182  // value will be replaced with "sensitive".
 38183  func (s RebootRelationalDatabaseInput) GoString() string {
 38184  	return s.String()
 38185  }
 38186  
 38187  // Validate inspects the fields of the type to determine if they are valid.
 38188  func (s *RebootRelationalDatabaseInput) Validate() error {
 38189  	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
 38190  	if s.RelationalDatabaseName == nil {
 38191  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 38192  	}
 38193  
 38194  	if invalidParams.Len() > 0 {
 38195  		return invalidParams
 38196  	}
 38197  	return nil
 38198  }
 38199  
 38200  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 38201  func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
 38202  	s.RelationalDatabaseName = &v
 38203  	return s
 38204  }
 38205  
 38206  type RebootRelationalDatabaseOutput struct {
 38207  	_ struct{} `type:"structure"`
 38208  
 38209  	// An array of objects that describe the result of the action, such as the status
 38210  	// of the request, the timestamp of the request, and the resources affected
 38211  	// by the request.
 38212  	Operations []*Operation `locationName:"operations" type:"list"`
 38213  }
 38214  
 38215  // String returns the string representation.
 38216  //
 38217  // API parameter values that are decorated as "sensitive" in the API will not
 38218  // be included in the string output. The member name will be present, but the
 38219  // value will be replaced with "sensitive".
 38220  func (s RebootRelationalDatabaseOutput) String() string {
 38221  	return awsutil.Prettify(s)
 38222  }
 38223  
 38224  // GoString returns the string representation.
 38225  //
 38226  // API parameter values that are decorated as "sensitive" in the API will not
 38227  // be included in the string output. The member name will be present, but the
 38228  // value will be replaced with "sensitive".
 38229  func (s RebootRelationalDatabaseOutput) GoString() string {
 38230  	return s.String()
 38231  }
 38232  
 38233  // SetOperations sets the Operations field's value.
 38234  func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
 38235  	s.Operations = v
 38236  	return s
 38237  }
 38238  
 38239  // Describes the AWS Region.
 38240  type Region struct {
 38241  	_ struct{} `type:"structure"`
 38242  
 38243  	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
 38244  	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
 38245  
 38246  	// The continent code (e.g., NA, meaning North America).
 38247  	ContinentCode *string `locationName:"continentCode" type:"string"`
 38248  
 38249  	// The description of the AWS Region (e.g., This region is recommended to serve
 38250  	// users in the eastern United States and eastern Canada).
 38251  	Description *string `locationName:"description" type:"string"`
 38252  
 38253  	// The display name (e.g., Ohio).
 38254  	DisplayName *string `locationName:"displayName" type:"string"`
 38255  
 38256  	// The region name (e.g., us-east-2).
 38257  	Name *string `locationName:"name" type:"string" enum:"RegionName"`
 38258  
 38259  	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
 38260  	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
 38261  }
 38262  
 38263  // String returns the string representation.
 38264  //
 38265  // API parameter values that are decorated as "sensitive" in the API will not
 38266  // be included in the string output. The member name will be present, but the
 38267  // value will be replaced with "sensitive".
 38268  func (s Region) String() string {
 38269  	return awsutil.Prettify(s)
 38270  }
 38271  
 38272  // GoString returns the string representation.
 38273  //
 38274  // API parameter values that are decorated as "sensitive" in the API will not
 38275  // be included in the string output. The member name will be present, but the
 38276  // value will be replaced with "sensitive".
 38277  func (s Region) GoString() string {
 38278  	return s.String()
 38279  }
 38280  
 38281  // SetAvailabilityZones sets the AvailabilityZones field's value.
 38282  func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
 38283  	s.AvailabilityZones = v
 38284  	return s
 38285  }
 38286  
 38287  // SetContinentCode sets the ContinentCode field's value.
 38288  func (s *Region) SetContinentCode(v string) *Region {
 38289  	s.ContinentCode = &v
 38290  	return s
 38291  }
 38292  
 38293  // SetDescription sets the Description field's value.
 38294  func (s *Region) SetDescription(v string) *Region {
 38295  	s.Description = &v
 38296  	return s
 38297  }
 38298  
 38299  // SetDisplayName sets the DisplayName field's value.
 38300  func (s *Region) SetDisplayName(v string) *Region {
 38301  	s.DisplayName = &v
 38302  	return s
 38303  }
 38304  
 38305  // SetName sets the Name field's value.
 38306  func (s *Region) SetName(v string) *Region {
 38307  	s.Name = &v
 38308  	return s
 38309  }
 38310  
 38311  // SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
 38312  func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
 38313  	s.RelationalDatabaseAvailabilityZones = v
 38314  	return s
 38315  }
 38316  
 38317  type RegisterContainerImageInput struct {
 38318  	_ struct{} `type:"structure"`
 38319  
 38320  	// The digest of the container image to be registered.
 38321  	//
 38322  	// Digest is a required field
 38323  	Digest *string `locationName:"digest" type:"string" required:"true"`
 38324  
 38325  	// The label for the container image when it's registered to the container service.
 38326  	//
 38327  	// Use a descriptive label that you can use to track the different versions
 38328  	// of your registered container images.
 38329  	//
 38330  	// Use the GetContainerImages action to return the container images registered
 38331  	// to a Lightsail container service. The label is the <imagelabel> portion of
 38332  	// the following image name example:
 38333  	//
 38334  	//    * :container-service-1.<imagelabel>.1
 38335  	//
 38336  	// If the name of your container service is mycontainerservice, and the label
 38337  	// that you specify is mystaticwebsite, then the name of the registered container
 38338  	// image will be :mycontainerservice.mystaticwebsite.1.
 38339  	//
 38340  	// The number at the end of these image name examples represents the version
 38341  	// of the registered container image. If you push and register another container
 38342  	// image to the same Lightsail container service, with the same label, then
 38343  	// the version number for the new registered container image will be 2. If you
 38344  	// push and register another container image, the version number will be 3,
 38345  	// and so on.
 38346  	//
 38347  	// Label is a required field
 38348  	Label *string `locationName:"label" min:"1" type:"string" required:"true"`
 38349  
 38350  	// The name of the container service for which to register a container image.
 38351  	//
 38352  	// ServiceName is a required field
 38353  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 38354  }
 38355  
 38356  // String returns the string representation.
 38357  //
 38358  // API parameter values that are decorated as "sensitive" in the API will not
 38359  // be included in the string output. The member name will be present, but the
 38360  // value will be replaced with "sensitive".
 38361  func (s RegisterContainerImageInput) String() string {
 38362  	return awsutil.Prettify(s)
 38363  }
 38364  
 38365  // GoString returns the string representation.
 38366  //
 38367  // API parameter values that are decorated as "sensitive" in the API will not
 38368  // be included in the string output. The member name will be present, but the
 38369  // value will be replaced with "sensitive".
 38370  func (s RegisterContainerImageInput) GoString() string {
 38371  	return s.String()
 38372  }
 38373  
 38374  // Validate inspects the fields of the type to determine if they are valid.
 38375  func (s *RegisterContainerImageInput) Validate() error {
 38376  	invalidParams := request.ErrInvalidParams{Context: "RegisterContainerImageInput"}
 38377  	if s.Digest == nil {
 38378  		invalidParams.Add(request.NewErrParamRequired("Digest"))
 38379  	}
 38380  	if s.Label == nil {
 38381  		invalidParams.Add(request.NewErrParamRequired("Label"))
 38382  	}
 38383  	if s.Label != nil && len(*s.Label) < 1 {
 38384  		invalidParams.Add(request.NewErrParamMinLen("Label", 1))
 38385  	}
 38386  	if s.ServiceName == nil {
 38387  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 38388  	}
 38389  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 38390  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 38391  	}
 38392  
 38393  	if invalidParams.Len() > 0 {
 38394  		return invalidParams
 38395  	}
 38396  	return nil
 38397  }
 38398  
 38399  // SetDigest sets the Digest field's value.
 38400  func (s *RegisterContainerImageInput) SetDigest(v string) *RegisterContainerImageInput {
 38401  	s.Digest = &v
 38402  	return s
 38403  }
 38404  
 38405  // SetLabel sets the Label field's value.
 38406  func (s *RegisterContainerImageInput) SetLabel(v string) *RegisterContainerImageInput {
 38407  	s.Label = &v
 38408  	return s
 38409  }
 38410  
 38411  // SetServiceName sets the ServiceName field's value.
 38412  func (s *RegisterContainerImageInput) SetServiceName(v string) *RegisterContainerImageInput {
 38413  	s.ServiceName = &v
 38414  	return s
 38415  }
 38416  
 38417  type RegisterContainerImageOutput struct {
 38418  	_ struct{} `type:"structure"`
 38419  
 38420  	// Describes a container image that is registered to an Amazon Lightsail container
 38421  	// service.
 38422  	ContainerImage *ContainerImage `locationName:"containerImage" type:"structure"`
 38423  }
 38424  
 38425  // String returns the string representation.
 38426  //
 38427  // API parameter values that are decorated as "sensitive" in the API will not
 38428  // be included in the string output. The member name will be present, but the
 38429  // value will be replaced with "sensitive".
 38430  func (s RegisterContainerImageOutput) String() string {
 38431  	return awsutil.Prettify(s)
 38432  }
 38433  
 38434  // GoString returns the string representation.
 38435  //
 38436  // API parameter values that are decorated as "sensitive" in the API will not
 38437  // be included in the string output. The member name will be present, but the
 38438  // value will be replaced with "sensitive".
 38439  func (s RegisterContainerImageOutput) GoString() string {
 38440  	return s.String()
 38441  }
 38442  
 38443  // SetContainerImage sets the ContainerImage field's value.
 38444  func (s *RegisterContainerImageOutput) SetContainerImage(v *ContainerImage) *RegisterContainerImageOutput {
 38445  	s.ContainerImage = v
 38446  	return s
 38447  }
 38448  
 38449  // Describes a database.
 38450  type RelationalDatabase struct {
 38451  	_ struct{} `type:"structure"`
 38452  
 38453  	// The Amazon Resource Name (ARN) of the database.
 38454  	Arn *string `locationName:"arn" type:"string"`
 38455  
 38456  	// A Boolean value indicating whether automated backup retention is enabled
 38457  	// for the database.
 38458  	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
 38459  
 38460  	// The certificate associated with the database.
 38461  	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
 38462  
 38463  	// The timestamp when the database was created. Formatted in Unix time.
 38464  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 38465  
 38466  	// The database software (for example, MySQL).
 38467  	Engine *string `locationName:"engine" type:"string"`
 38468  
 38469  	// The database engine version (for example, 5.7.23).
 38470  	EngineVersion *string `locationName:"engineVersion" type:"string"`
 38471  
 38472  	// Describes the hardware of the database.
 38473  	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
 38474  
 38475  	// The latest point in time to which the database can be restored. Formatted
 38476  	// in Unix time.
 38477  	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
 38478  
 38479  	// The Region name and Availability Zone where the database is located.
 38480  	Location *ResourceLocation `locationName:"location" type:"structure"`
 38481  
 38482  	// The name of the master database created when the Lightsail database resource
 38483  	// is created.
 38484  	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
 38485  
 38486  	// The master endpoint for the database.
 38487  	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
 38488  
 38489  	// The master user name of the database.
 38490  	MasterUsername *string `locationName:"masterUsername" type:"string"`
 38491  
 38492  	// The unique name of the database resource in Lightsail.
 38493  	Name *string `locationName:"name" type:"string"`
 38494  
 38495  	// The status of parameter updates for the database.
 38496  	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
 38497  
 38498  	// Describes the pending maintenance actions for the database.
 38499  	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
 38500  
 38501  	// Describes pending database value modifications.
 38502  	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
 38503  
 38504  	// The daily time range during which automated backups are created for the database
 38505  	// (for example, 16:00-16:30).
 38506  	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
 38507  
 38508  	// The weekly time range during which system maintenance can occur on the database.
 38509  	//
 38510  	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
 38511  	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
 38512  
 38513  	// A Boolean value indicating whether the database is publicly accessible.
 38514  	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
 38515  
 38516  	// The blueprint ID for the database. A blueprint describes the major engine
 38517  	// version of a database.
 38518  	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
 38519  
 38520  	// The bundle ID for the database. A bundle describes the performance specifications
 38521  	// for your database.
 38522  	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
 38523  
 38524  	// The Lightsail resource type for the database (for example, RelationalDatabase).
 38525  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 38526  
 38527  	// Describes the secondary Availability Zone of a high availability database.
 38528  	//
 38529  	// The secondary database is used for failover support of a high availability
 38530  	// database.
 38531  	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
 38532  
 38533  	// Describes the current state of the database.
 38534  	State *string `locationName:"state" type:"string"`
 38535  
 38536  	// The support code for the database. Include this code in your email to support
 38537  	// when you have questions about a database in Lightsail. This code enables
 38538  	// our support team to look up your Lightsail information more easily.
 38539  	SupportCode *string `locationName:"supportCode" type:"string"`
 38540  
 38541  	// The tag keys and optional values for the resource. For more information about
 38542  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 38543  	Tags []*Tag `locationName:"tags" type:"list"`
 38544  }
 38545  
 38546  // String returns the string representation.
 38547  //
 38548  // API parameter values that are decorated as "sensitive" in the API will not
 38549  // be included in the string output. The member name will be present, but the
 38550  // value will be replaced with "sensitive".
 38551  func (s RelationalDatabase) String() string {
 38552  	return awsutil.Prettify(s)
 38553  }
 38554  
 38555  // GoString returns the string representation.
 38556  //
 38557  // API parameter values that are decorated as "sensitive" in the API will not
 38558  // be included in the string output. The member name will be present, but the
 38559  // value will be replaced with "sensitive".
 38560  func (s RelationalDatabase) GoString() string {
 38561  	return s.String()
 38562  }
 38563  
 38564  // SetArn sets the Arn field's value.
 38565  func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
 38566  	s.Arn = &v
 38567  	return s
 38568  }
 38569  
 38570  // SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
 38571  func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
 38572  	s.BackupRetentionEnabled = &v
 38573  	return s
 38574  }
 38575  
 38576  // SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
 38577  func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
 38578  	s.CaCertificateIdentifier = &v
 38579  	return s
 38580  }
 38581  
 38582  // SetCreatedAt sets the CreatedAt field's value.
 38583  func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
 38584  	s.CreatedAt = &v
 38585  	return s
 38586  }
 38587  
 38588  // SetEngine sets the Engine field's value.
 38589  func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
 38590  	s.Engine = &v
 38591  	return s
 38592  }
 38593  
 38594  // SetEngineVersion sets the EngineVersion field's value.
 38595  func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
 38596  	s.EngineVersion = &v
 38597  	return s
 38598  }
 38599  
 38600  // SetHardware sets the Hardware field's value.
 38601  func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
 38602  	s.Hardware = v
 38603  	return s
 38604  }
 38605  
 38606  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
 38607  func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
 38608  	s.LatestRestorableTime = &v
 38609  	return s
 38610  }
 38611  
 38612  // SetLocation sets the Location field's value.
 38613  func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
 38614  	s.Location = v
 38615  	return s
 38616  }
 38617  
 38618  // SetMasterDatabaseName sets the MasterDatabaseName field's value.
 38619  func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
 38620  	s.MasterDatabaseName = &v
 38621  	return s
 38622  }
 38623  
 38624  // SetMasterEndpoint sets the MasterEndpoint field's value.
 38625  func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
 38626  	s.MasterEndpoint = v
 38627  	return s
 38628  }
 38629  
 38630  // SetMasterUsername sets the MasterUsername field's value.
 38631  func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
 38632  	s.MasterUsername = &v
 38633  	return s
 38634  }
 38635  
 38636  // SetName sets the Name field's value.
 38637  func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
 38638  	s.Name = &v
 38639  	return s
 38640  }
 38641  
 38642  // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
 38643  func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
 38644  	s.ParameterApplyStatus = &v
 38645  	return s
 38646  }
 38647  
 38648  // SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
 38649  func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
 38650  	s.PendingMaintenanceActions = v
 38651  	return s
 38652  }
 38653  
 38654  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
 38655  func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
 38656  	s.PendingModifiedValues = v
 38657  	return s
 38658  }
 38659  
 38660  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 38661  func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
 38662  	s.PreferredBackupWindow = &v
 38663  	return s
 38664  }
 38665  
 38666  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 38667  func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
 38668  	s.PreferredMaintenanceWindow = &v
 38669  	return s
 38670  }
 38671  
 38672  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 38673  func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
 38674  	s.PubliclyAccessible = &v
 38675  	return s
 38676  }
 38677  
 38678  // SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
 38679  func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
 38680  	s.RelationalDatabaseBlueprintId = &v
 38681  	return s
 38682  }
 38683  
 38684  // SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
 38685  func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
 38686  	s.RelationalDatabaseBundleId = &v
 38687  	return s
 38688  }
 38689  
 38690  // SetResourceType sets the ResourceType field's value.
 38691  func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
 38692  	s.ResourceType = &v
 38693  	return s
 38694  }
 38695  
 38696  // SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
 38697  func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
 38698  	s.SecondaryAvailabilityZone = &v
 38699  	return s
 38700  }
 38701  
 38702  // SetState sets the State field's value.
 38703  func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
 38704  	s.State = &v
 38705  	return s
 38706  }
 38707  
 38708  // SetSupportCode sets the SupportCode field's value.
 38709  func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
 38710  	s.SupportCode = &v
 38711  	return s
 38712  }
 38713  
 38714  // SetTags sets the Tags field's value.
 38715  func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
 38716  	s.Tags = v
 38717  	return s
 38718  }
 38719  
 38720  // Describes a database image, or blueprint. A blueprint describes the major
 38721  // engine version of a database.
 38722  type RelationalDatabaseBlueprint struct {
 38723  	_ struct{} `type:"structure"`
 38724  
 38725  	// The ID for the database blueprint.
 38726  	BlueprintId *string `locationName:"blueprintId" type:"string"`
 38727  
 38728  	// The database software of the database blueprint (for example, MySQL).
 38729  	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
 38730  
 38731  	// The description of the database engine for the database blueprint.
 38732  	EngineDescription *string `locationName:"engineDescription" type:"string"`
 38733  
 38734  	// The database engine version for the database blueprint (for example, 5.7.23).
 38735  	EngineVersion *string `locationName:"engineVersion" type:"string"`
 38736  
 38737  	// The description of the database engine version for the database blueprint.
 38738  	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
 38739  
 38740  	// A Boolean value indicating whether the engine version is the default for
 38741  	// the database blueprint.
 38742  	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
 38743  }
 38744  
 38745  // String returns the string representation.
 38746  //
 38747  // API parameter values that are decorated as "sensitive" in the API will not
 38748  // be included in the string output. The member name will be present, but the
 38749  // value will be replaced with "sensitive".
 38750  func (s RelationalDatabaseBlueprint) String() string {
 38751  	return awsutil.Prettify(s)
 38752  }
 38753  
 38754  // GoString returns the string representation.
 38755  //
 38756  // API parameter values that are decorated as "sensitive" in the API will not
 38757  // be included in the string output. The member name will be present, but the
 38758  // value will be replaced with "sensitive".
 38759  func (s RelationalDatabaseBlueprint) GoString() string {
 38760  	return s.String()
 38761  }
 38762  
 38763  // SetBlueprintId sets the BlueprintId field's value.
 38764  func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
 38765  	s.BlueprintId = &v
 38766  	return s
 38767  }
 38768  
 38769  // SetEngine sets the Engine field's value.
 38770  func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
 38771  	s.Engine = &v
 38772  	return s
 38773  }
 38774  
 38775  // SetEngineDescription sets the EngineDescription field's value.
 38776  func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
 38777  	s.EngineDescription = &v
 38778  	return s
 38779  }
 38780  
 38781  // SetEngineVersion sets the EngineVersion field's value.
 38782  func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
 38783  	s.EngineVersion = &v
 38784  	return s
 38785  }
 38786  
 38787  // SetEngineVersionDescription sets the EngineVersionDescription field's value.
 38788  func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
 38789  	s.EngineVersionDescription = &v
 38790  	return s
 38791  }
 38792  
 38793  // SetIsEngineDefault sets the IsEngineDefault field's value.
 38794  func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
 38795  	s.IsEngineDefault = &v
 38796  	return s
 38797  }
 38798  
 38799  // Describes a database bundle. A bundle describes the performance specifications
 38800  // of the database.
 38801  type RelationalDatabaseBundle struct {
 38802  	_ struct{} `type:"structure"`
 38803  
 38804  	// The ID for the database bundle.
 38805  	BundleId *string `locationName:"bundleId" type:"string"`
 38806  
 38807  	// The number of virtual CPUs (vCPUs) for the database bundle.
 38808  	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
 38809  
 38810  	// The size of the disk for the database bundle.
 38811  	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
 38812  
 38813  	// A Boolean value indicating whether the database bundle is active.
 38814  	IsActive *bool `locationName:"isActive" type:"boolean"`
 38815  
 38816  	// A Boolean value indicating whether the database bundle is encrypted.
 38817  	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
 38818  
 38819  	// The name for the database bundle.
 38820  	Name *string `locationName:"name" type:"string"`
 38821  
 38822  	// The cost of the database bundle in US currency.
 38823  	Price *float64 `locationName:"price" type:"float"`
 38824  
 38825  	// The amount of RAM in GB (for example, 2.0) for the database bundle.
 38826  	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
 38827  
 38828  	// The data transfer rate per month in GB for the database bundle.
 38829  	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
 38830  }
 38831  
 38832  // String returns the string representation.
 38833  //
 38834  // API parameter values that are decorated as "sensitive" in the API will not
 38835  // be included in the string output. The member name will be present, but the
 38836  // value will be replaced with "sensitive".
 38837  func (s RelationalDatabaseBundle) String() string {
 38838  	return awsutil.Prettify(s)
 38839  }
 38840  
 38841  // GoString returns the string representation.
 38842  //
 38843  // API parameter values that are decorated as "sensitive" in the API will not
 38844  // be included in the string output. The member name will be present, but the
 38845  // value will be replaced with "sensitive".
 38846  func (s RelationalDatabaseBundle) GoString() string {
 38847  	return s.String()
 38848  }
 38849  
 38850  // SetBundleId sets the BundleId field's value.
 38851  func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
 38852  	s.BundleId = &v
 38853  	return s
 38854  }
 38855  
 38856  // SetCpuCount sets the CpuCount field's value.
 38857  func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
 38858  	s.CpuCount = &v
 38859  	return s
 38860  }
 38861  
 38862  // SetDiskSizeInGb sets the DiskSizeInGb field's value.
 38863  func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
 38864  	s.DiskSizeInGb = &v
 38865  	return s
 38866  }
 38867  
 38868  // SetIsActive sets the IsActive field's value.
 38869  func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
 38870  	s.IsActive = &v
 38871  	return s
 38872  }
 38873  
 38874  // SetIsEncrypted sets the IsEncrypted field's value.
 38875  func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
 38876  	s.IsEncrypted = &v
 38877  	return s
 38878  }
 38879  
 38880  // SetName sets the Name field's value.
 38881  func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
 38882  	s.Name = &v
 38883  	return s
 38884  }
 38885  
 38886  // SetPrice sets the Price field's value.
 38887  func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
 38888  	s.Price = &v
 38889  	return s
 38890  }
 38891  
 38892  // SetRamSizeInGb sets the RamSizeInGb field's value.
 38893  func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
 38894  	s.RamSizeInGb = &v
 38895  	return s
 38896  }
 38897  
 38898  // SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
 38899  func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
 38900  	s.TransferPerMonthInGb = &v
 38901  	return s
 38902  }
 38903  
 38904  // Describes an endpoint for a database.
 38905  type RelationalDatabaseEndpoint struct {
 38906  	_ struct{} `type:"structure"`
 38907  
 38908  	// Specifies the DNS address of the database.
 38909  	Address *string `locationName:"address" type:"string"`
 38910  
 38911  	// Specifies the port that the database is listening on.
 38912  	Port *int64 `locationName:"port" type:"integer"`
 38913  }
 38914  
 38915  // String returns the string representation.
 38916  //
 38917  // API parameter values that are decorated as "sensitive" in the API will not
 38918  // be included in the string output. The member name will be present, but the
 38919  // value will be replaced with "sensitive".
 38920  func (s RelationalDatabaseEndpoint) String() string {
 38921  	return awsutil.Prettify(s)
 38922  }
 38923  
 38924  // GoString returns the string representation.
 38925  //
 38926  // API parameter values that are decorated as "sensitive" in the API will not
 38927  // be included in the string output. The member name will be present, but the
 38928  // value will be replaced with "sensitive".
 38929  func (s RelationalDatabaseEndpoint) GoString() string {
 38930  	return s.String()
 38931  }
 38932  
 38933  // SetAddress sets the Address field's value.
 38934  func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
 38935  	s.Address = &v
 38936  	return s
 38937  }
 38938  
 38939  // SetPort sets the Port field's value.
 38940  func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
 38941  	s.Port = &v
 38942  	return s
 38943  }
 38944  
 38945  // Describes an event for a database.
 38946  type RelationalDatabaseEvent struct {
 38947  	_ struct{} `type:"structure"`
 38948  
 38949  	// The timestamp when the database event was created.
 38950  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 38951  
 38952  	// The category that the database event belongs to.
 38953  	EventCategories []*string `locationName:"eventCategories" type:"list"`
 38954  
 38955  	// The message of the database event.
 38956  	Message *string `locationName:"message" type:"string"`
 38957  
 38958  	// The database that the database event relates to.
 38959  	Resource *string `locationName:"resource" type:"string"`
 38960  }
 38961  
 38962  // String returns the string representation.
 38963  //
 38964  // API parameter values that are decorated as "sensitive" in the API will not
 38965  // be included in the string output. The member name will be present, but the
 38966  // value will be replaced with "sensitive".
 38967  func (s RelationalDatabaseEvent) String() string {
 38968  	return awsutil.Prettify(s)
 38969  }
 38970  
 38971  // GoString returns the string representation.
 38972  //
 38973  // API parameter values that are decorated as "sensitive" in the API will not
 38974  // be included in the string output. The member name will be present, but the
 38975  // value will be replaced with "sensitive".
 38976  func (s RelationalDatabaseEvent) GoString() string {
 38977  	return s.String()
 38978  }
 38979  
 38980  // SetCreatedAt sets the CreatedAt field's value.
 38981  func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
 38982  	s.CreatedAt = &v
 38983  	return s
 38984  }
 38985  
 38986  // SetEventCategories sets the EventCategories field's value.
 38987  func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
 38988  	s.EventCategories = v
 38989  	return s
 38990  }
 38991  
 38992  // SetMessage sets the Message field's value.
 38993  func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
 38994  	s.Message = &v
 38995  	return s
 38996  }
 38997  
 38998  // SetResource sets the Resource field's value.
 38999  func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
 39000  	s.Resource = &v
 39001  	return s
 39002  }
 39003  
 39004  // Describes the hardware of a database.
 39005  type RelationalDatabaseHardware struct {
 39006  	_ struct{} `type:"structure"`
 39007  
 39008  	// The number of vCPUs for the database.
 39009  	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
 39010  
 39011  	// The size of the disk for the database.
 39012  	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
 39013  
 39014  	// The amount of RAM in GB for the database.
 39015  	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
 39016  }
 39017  
 39018  // String returns the string representation.
 39019  //
 39020  // API parameter values that are decorated as "sensitive" in the API will not
 39021  // be included in the string output. The member name will be present, but the
 39022  // value will be replaced with "sensitive".
 39023  func (s RelationalDatabaseHardware) String() string {
 39024  	return awsutil.Prettify(s)
 39025  }
 39026  
 39027  // GoString returns the string representation.
 39028  //
 39029  // API parameter values that are decorated as "sensitive" in the API will not
 39030  // be included in the string output. The member name will be present, but the
 39031  // value will be replaced with "sensitive".
 39032  func (s RelationalDatabaseHardware) GoString() string {
 39033  	return s.String()
 39034  }
 39035  
 39036  // SetCpuCount sets the CpuCount field's value.
 39037  func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
 39038  	s.CpuCount = &v
 39039  	return s
 39040  }
 39041  
 39042  // SetDiskSizeInGb sets the DiskSizeInGb field's value.
 39043  func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
 39044  	s.DiskSizeInGb = &v
 39045  	return s
 39046  }
 39047  
 39048  // SetRamSizeInGb sets the RamSizeInGb field's value.
 39049  func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
 39050  	s.RamSizeInGb = &v
 39051  	return s
 39052  }
 39053  
 39054  // Describes the parameters of a database.
 39055  type RelationalDatabaseParameter struct {
 39056  	_ struct{} `type:"structure"`
 39057  
 39058  	// Specifies the valid range of values for the parameter.
 39059  	AllowedValues *string `locationName:"allowedValues" type:"string"`
 39060  
 39061  	// Indicates when parameter updates are applied.
 39062  	//
 39063  	// Can be immediate or pending-reboot.
 39064  	ApplyMethod *string `locationName:"applyMethod" type:"string"`
 39065  
 39066  	// Specifies the engine-specific parameter type.
 39067  	ApplyType *string `locationName:"applyType" type:"string"`
 39068  
 39069  	// Specifies the valid data type for the parameter.
 39070  	DataType *string `locationName:"dataType" type:"string"`
 39071  
 39072  	// Provides a description of the parameter.
 39073  	Description *string `locationName:"description" type:"string"`
 39074  
 39075  	// A Boolean value indicating whether the parameter can be modified.
 39076  	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
 39077  
 39078  	// Specifies the name of the parameter.
 39079  	ParameterName *string `locationName:"parameterName" type:"string"`
 39080  
 39081  	// Specifies the value of the parameter.
 39082  	ParameterValue *string `locationName:"parameterValue" type:"string"`
 39083  }
 39084  
 39085  // String returns the string representation.
 39086  //
 39087  // API parameter values that are decorated as "sensitive" in the API will not
 39088  // be included in the string output. The member name will be present, but the
 39089  // value will be replaced with "sensitive".
 39090  func (s RelationalDatabaseParameter) String() string {
 39091  	return awsutil.Prettify(s)
 39092  }
 39093  
 39094  // GoString returns the string representation.
 39095  //
 39096  // API parameter values that are decorated as "sensitive" in the API will not
 39097  // be included in the string output. The member name will be present, but the
 39098  // value will be replaced with "sensitive".
 39099  func (s RelationalDatabaseParameter) GoString() string {
 39100  	return s.String()
 39101  }
 39102  
 39103  // SetAllowedValues sets the AllowedValues field's value.
 39104  func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
 39105  	s.AllowedValues = &v
 39106  	return s
 39107  }
 39108  
 39109  // SetApplyMethod sets the ApplyMethod field's value.
 39110  func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
 39111  	s.ApplyMethod = &v
 39112  	return s
 39113  }
 39114  
 39115  // SetApplyType sets the ApplyType field's value.
 39116  func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
 39117  	s.ApplyType = &v
 39118  	return s
 39119  }
 39120  
 39121  // SetDataType sets the DataType field's value.
 39122  func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
 39123  	s.DataType = &v
 39124  	return s
 39125  }
 39126  
 39127  // SetDescription sets the Description field's value.
 39128  func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
 39129  	s.Description = &v
 39130  	return s
 39131  }
 39132  
 39133  // SetIsModifiable sets the IsModifiable field's value.
 39134  func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
 39135  	s.IsModifiable = &v
 39136  	return s
 39137  }
 39138  
 39139  // SetParameterName sets the ParameterName field's value.
 39140  func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
 39141  	s.ParameterName = &v
 39142  	return s
 39143  }
 39144  
 39145  // SetParameterValue sets the ParameterValue field's value.
 39146  func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
 39147  	s.ParameterValue = &v
 39148  	return s
 39149  }
 39150  
 39151  // Describes a database snapshot.
 39152  type RelationalDatabaseSnapshot struct {
 39153  	_ struct{} `type:"structure"`
 39154  
 39155  	// The Amazon Resource Name (ARN) of the database snapshot.
 39156  	Arn *string `locationName:"arn" type:"string"`
 39157  
 39158  	// The timestamp when the database snapshot was created.
 39159  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 39160  
 39161  	// The software of the database snapshot (for example, MySQL)
 39162  	Engine *string `locationName:"engine" type:"string"`
 39163  
 39164  	// The database engine version for the database snapshot (for example, 5.7.23).
 39165  	EngineVersion *string `locationName:"engineVersion" type:"string"`
 39166  
 39167  	// The Amazon Resource Name (ARN) of the database from which the database snapshot
 39168  	// was created.
 39169  	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
 39170  
 39171  	// The blueprint ID of the database from which the database snapshot was created.
 39172  	// A blueprint describes the major engine version of a database.
 39173  	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
 39174  
 39175  	// The bundle ID of the database from which the database snapshot was created.
 39176  	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
 39177  
 39178  	// The name of the source database from which the database snapshot was created.
 39179  	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
 39180  
 39181  	// The Region name and Availability Zone where the database snapshot is located.
 39182  	Location *ResourceLocation `locationName:"location" type:"structure"`
 39183  
 39184  	// The name of the database snapshot.
 39185  	Name *string `locationName:"name" type:"string"`
 39186  
 39187  	// The Lightsail resource type.
 39188  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 39189  
 39190  	// The size of the disk in GB (for example, 32) for the database snapshot.
 39191  	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
 39192  
 39193  	// The state of the database snapshot.
 39194  	State *string `locationName:"state" type:"string"`
 39195  
 39196  	// The support code for the database snapshot. Include this code in your email
 39197  	// to support when you have questions about a database snapshot in Lightsail.
 39198  	// This code enables our support team to look up your Lightsail information
 39199  	// more easily.
 39200  	SupportCode *string `locationName:"supportCode" type:"string"`
 39201  
 39202  	// The tag keys and optional values for the resource. For more information about
 39203  	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 39204  	Tags []*Tag `locationName:"tags" type:"list"`
 39205  }
 39206  
 39207  // String returns the string representation.
 39208  //
 39209  // API parameter values that are decorated as "sensitive" in the API will not
 39210  // be included in the string output. The member name will be present, but the
 39211  // value will be replaced with "sensitive".
 39212  func (s RelationalDatabaseSnapshot) String() string {
 39213  	return awsutil.Prettify(s)
 39214  }
 39215  
 39216  // GoString returns the string representation.
 39217  //
 39218  // API parameter values that are decorated as "sensitive" in the API will not
 39219  // be included in the string output. The member name will be present, but the
 39220  // value will be replaced with "sensitive".
 39221  func (s RelationalDatabaseSnapshot) GoString() string {
 39222  	return s.String()
 39223  }
 39224  
 39225  // SetArn sets the Arn field's value.
 39226  func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
 39227  	s.Arn = &v
 39228  	return s
 39229  }
 39230  
 39231  // SetCreatedAt sets the CreatedAt field's value.
 39232  func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
 39233  	s.CreatedAt = &v
 39234  	return s
 39235  }
 39236  
 39237  // SetEngine sets the Engine field's value.
 39238  func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
 39239  	s.Engine = &v
 39240  	return s
 39241  }
 39242  
 39243  // SetEngineVersion sets the EngineVersion field's value.
 39244  func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
 39245  	s.EngineVersion = &v
 39246  	return s
 39247  }
 39248  
 39249  // SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
 39250  func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
 39251  	s.FromRelationalDatabaseArn = &v
 39252  	return s
 39253  }
 39254  
 39255  // SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
 39256  func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
 39257  	s.FromRelationalDatabaseBlueprintId = &v
 39258  	return s
 39259  }
 39260  
 39261  // SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
 39262  func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
 39263  	s.FromRelationalDatabaseBundleId = &v
 39264  	return s
 39265  }
 39266  
 39267  // SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
 39268  func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
 39269  	s.FromRelationalDatabaseName = &v
 39270  	return s
 39271  }
 39272  
 39273  // SetLocation sets the Location field's value.
 39274  func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
 39275  	s.Location = v
 39276  	return s
 39277  }
 39278  
 39279  // SetName sets the Name field's value.
 39280  func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
 39281  	s.Name = &v
 39282  	return s
 39283  }
 39284  
 39285  // SetResourceType sets the ResourceType field's value.
 39286  func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
 39287  	s.ResourceType = &v
 39288  	return s
 39289  }
 39290  
 39291  // SetSizeInGb sets the SizeInGb field's value.
 39292  func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
 39293  	s.SizeInGb = &v
 39294  	return s
 39295  }
 39296  
 39297  // SetState sets the State field's value.
 39298  func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
 39299  	s.State = &v
 39300  	return s
 39301  }
 39302  
 39303  // SetSupportCode sets the SupportCode field's value.
 39304  func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
 39305  	s.SupportCode = &v
 39306  	return s
 39307  }
 39308  
 39309  // SetTags sets the Tags field's value.
 39310  func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
 39311  	s.Tags = v
 39312  	return s
 39313  }
 39314  
 39315  type ReleaseStaticIpInput struct {
 39316  	_ struct{} `type:"structure"`
 39317  
 39318  	// The name of the static IP to delete.
 39319  	//
 39320  	// StaticIpName is a required field
 39321  	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
 39322  }
 39323  
 39324  // String returns the string representation.
 39325  //
 39326  // API parameter values that are decorated as "sensitive" in the API will not
 39327  // be included in the string output. The member name will be present, but the
 39328  // value will be replaced with "sensitive".
 39329  func (s ReleaseStaticIpInput) String() string {
 39330  	return awsutil.Prettify(s)
 39331  }
 39332  
 39333  // GoString returns the string representation.
 39334  //
 39335  // API parameter values that are decorated as "sensitive" in the API will not
 39336  // be included in the string output. The member name will be present, but the
 39337  // value will be replaced with "sensitive".
 39338  func (s ReleaseStaticIpInput) GoString() string {
 39339  	return s.String()
 39340  }
 39341  
 39342  // Validate inspects the fields of the type to determine if they are valid.
 39343  func (s *ReleaseStaticIpInput) Validate() error {
 39344  	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
 39345  	if s.StaticIpName == nil {
 39346  		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
 39347  	}
 39348  
 39349  	if invalidParams.Len() > 0 {
 39350  		return invalidParams
 39351  	}
 39352  	return nil
 39353  }
 39354  
 39355  // SetStaticIpName sets the StaticIpName field's value.
 39356  func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
 39357  	s.StaticIpName = &v
 39358  	return s
 39359  }
 39360  
 39361  type ReleaseStaticIpOutput struct {
 39362  	_ struct{} `type:"structure"`
 39363  
 39364  	// An array of objects that describe the result of the action, such as the status
 39365  	// of the request, the timestamp of the request, and the resources affected
 39366  	// by the request.
 39367  	Operations []*Operation `locationName:"operations" type:"list"`
 39368  }
 39369  
 39370  // String returns the string representation.
 39371  //
 39372  // API parameter values that are decorated as "sensitive" in the API will not
 39373  // be included in the string output. The member name will be present, but the
 39374  // value will be replaced with "sensitive".
 39375  func (s ReleaseStaticIpOutput) String() string {
 39376  	return awsutil.Prettify(s)
 39377  }
 39378  
 39379  // GoString returns the string representation.
 39380  //
 39381  // API parameter values that are decorated as "sensitive" in the API will not
 39382  // be included in the string output. The member name will be present, but the
 39383  // value will be replaced with "sensitive".
 39384  func (s ReleaseStaticIpOutput) GoString() string {
 39385  	return s.String()
 39386  }
 39387  
 39388  // SetOperations sets the Operations field's value.
 39389  func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
 39390  	s.Operations = v
 39391  	return s
 39392  }
 39393  
 39394  // Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail.
 39395  type RenewalSummary struct {
 39396  	_ struct{} `type:"structure"`
 39397  
 39398  	// An array of objects that describe the domain validation records of the certificate.
 39399  	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
 39400  
 39401  	// The renewal status of the certificate.
 39402  	//
 39403  	// The following renewal status are possible:
 39404  	//
 39405  	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
 39406  	//    the domain names of the certificate. No further action is required.
 39407  	//
 39408  	//    * PendingValidation - Lightsail couldn't automatically validate one or
 39409  	//    more domain names of the certificate. You must take action to validate
 39410  	//    these domain names or the certificate won't be renewed. Check to make
 39411  	//    sure your certificate's domain validation records exist in your domain's
 39412  	//    DNS, and that your certificate remains in use.
 39413  	//
 39414  	//    * Success - All domain names in the certificate are validated, and Lightsail
 39415  	//    renewed the certificate. No further action is required.
 39416  	//
 39417  	//    * Failed - One or more domain names were not validated before the certificate
 39418  	//    expired, and Lightsail did not renew the certificate. You can request
 39419  	//    a new certificate using the CreateCertificate action.
 39420  	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"`
 39421  
 39422  	// The reason for the renewal status of the certificate.
 39423  	RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"`
 39424  
 39425  	// The timestamp when the certificate was last updated.
 39426  	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
 39427  }
 39428  
 39429  // String returns the string representation.
 39430  //
 39431  // API parameter values that are decorated as "sensitive" in the API will not
 39432  // be included in the string output. The member name will be present, but the
 39433  // value will be replaced with "sensitive".
 39434  func (s RenewalSummary) String() string {
 39435  	return awsutil.Prettify(s)
 39436  }
 39437  
 39438  // GoString returns the string representation.
 39439  //
 39440  // API parameter values that are decorated as "sensitive" in the API will not
 39441  // be included in the string output. The member name will be present, but the
 39442  // value will be replaced with "sensitive".
 39443  func (s RenewalSummary) GoString() string {
 39444  	return s.String()
 39445  }
 39446  
 39447  // SetDomainValidationRecords sets the DomainValidationRecords field's value.
 39448  func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary {
 39449  	s.DomainValidationRecords = v
 39450  	return s
 39451  }
 39452  
 39453  // SetRenewalStatus sets the RenewalStatus field's value.
 39454  func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary {
 39455  	s.RenewalStatus = &v
 39456  	return s
 39457  }
 39458  
 39459  // SetRenewalStatusReason sets the RenewalStatusReason field's value.
 39460  func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary {
 39461  	s.RenewalStatusReason = &v
 39462  	return s
 39463  }
 39464  
 39465  // SetUpdatedAt sets the UpdatedAt field's value.
 39466  func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary {
 39467  	s.UpdatedAt = &v
 39468  	return s
 39469  }
 39470  
 39471  type ResetDistributionCacheInput struct {
 39472  	_ struct{} `type:"structure"`
 39473  
 39474  	// The name of the distribution for which to reset cache.
 39475  	//
 39476  	// Use the GetDistributions action to get a list of distribution names that
 39477  	// you can specify.
 39478  	DistributionName *string `locationName:"distributionName" type:"string"`
 39479  }
 39480  
 39481  // String returns the string representation.
 39482  //
 39483  // API parameter values that are decorated as "sensitive" in the API will not
 39484  // be included in the string output. The member name will be present, but the
 39485  // value will be replaced with "sensitive".
 39486  func (s ResetDistributionCacheInput) String() string {
 39487  	return awsutil.Prettify(s)
 39488  }
 39489  
 39490  // GoString returns the string representation.
 39491  //
 39492  // API parameter values that are decorated as "sensitive" in the API will not
 39493  // be included in the string output. The member name will be present, but the
 39494  // value will be replaced with "sensitive".
 39495  func (s ResetDistributionCacheInput) GoString() string {
 39496  	return s.String()
 39497  }
 39498  
 39499  // SetDistributionName sets the DistributionName field's value.
 39500  func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput {
 39501  	s.DistributionName = &v
 39502  	return s
 39503  }
 39504  
 39505  type ResetDistributionCacheOutput struct {
 39506  	_ struct{} `type:"structure"`
 39507  
 39508  	// The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time
 39509  	// format.
 39510  	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
 39511  
 39512  	// An array of objects that describe the result of the action, such as the status
 39513  	// of the request, the timestamp of the request, and the resources affected
 39514  	// by the request.
 39515  	Operation *Operation `locationName:"operation" type:"structure"`
 39516  
 39517  	// The status of the reset cache request.
 39518  	Status *string `locationName:"status" type:"string"`
 39519  }
 39520  
 39521  // String returns the string representation.
 39522  //
 39523  // API parameter values that are decorated as "sensitive" in the API will not
 39524  // be included in the string output. The member name will be present, but the
 39525  // value will be replaced with "sensitive".
 39526  func (s ResetDistributionCacheOutput) String() string {
 39527  	return awsutil.Prettify(s)
 39528  }
 39529  
 39530  // GoString returns the string representation.
 39531  //
 39532  // API parameter values that are decorated as "sensitive" in the API will not
 39533  // be included in the string output. The member name will be present, but the
 39534  // value will be replaced with "sensitive".
 39535  func (s ResetDistributionCacheOutput) GoString() string {
 39536  	return s.String()
 39537  }
 39538  
 39539  // SetCreateTime sets the CreateTime field's value.
 39540  func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput {
 39541  	s.CreateTime = &v
 39542  	return s
 39543  }
 39544  
 39545  // SetOperation sets the Operation field's value.
 39546  func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput {
 39547  	s.Operation = v
 39548  	return s
 39549  }
 39550  
 39551  // SetStatus sets the Status field's value.
 39552  func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput {
 39553  	s.Status = &v
 39554  	return s
 39555  }
 39556  
 39557  // Describes the resource location.
 39558  type ResourceLocation struct {
 39559  	_ struct{} `type:"structure"`
 39560  
 39561  	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
 39562  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
 39563  
 39564  	// The AWS Region name.
 39565  	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
 39566  }
 39567  
 39568  // String returns the string representation.
 39569  //
 39570  // API parameter values that are decorated as "sensitive" in the API will not
 39571  // be included in the string output. The member name will be present, but the
 39572  // value will be replaced with "sensitive".
 39573  func (s ResourceLocation) String() string {
 39574  	return awsutil.Prettify(s)
 39575  }
 39576  
 39577  // GoString returns the string representation.
 39578  //
 39579  // API parameter values that are decorated as "sensitive" in the API will not
 39580  // be included in the string output. The member name will be present, but the
 39581  // value will be replaced with "sensitive".
 39582  func (s ResourceLocation) GoString() string {
 39583  	return s.String()
 39584  }
 39585  
 39586  // SetAvailabilityZone sets the AvailabilityZone field's value.
 39587  func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
 39588  	s.AvailabilityZone = &v
 39589  	return s
 39590  }
 39591  
 39592  // SetRegionName sets the RegionName field's value.
 39593  func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
 39594  	s.RegionName = &v
 39595  	return s
 39596  }
 39597  
 39598  // Describes an Amazon Lightsail instance that has access to a Lightsail bucket.
 39599  type ResourceReceivingAccess struct {
 39600  	_ struct{} `type:"structure"`
 39601  
 39602  	// The name of the Lightsail instance.
 39603  	Name *string `locationName:"name" type:"string"`
 39604  
 39605  	// The Lightsail resource type (for example, Instance).
 39606  	ResourceType *string `locationName:"resourceType" type:"string"`
 39607  }
 39608  
 39609  // String returns the string representation.
 39610  //
 39611  // API parameter values that are decorated as "sensitive" in the API will not
 39612  // be included in the string output. The member name will be present, but the
 39613  // value will be replaced with "sensitive".
 39614  func (s ResourceReceivingAccess) String() string {
 39615  	return awsutil.Prettify(s)
 39616  }
 39617  
 39618  // GoString returns the string representation.
 39619  //
 39620  // API parameter values that are decorated as "sensitive" in the API will not
 39621  // be included in the string output. The member name will be present, but the
 39622  // value will be replaced with "sensitive".
 39623  func (s ResourceReceivingAccess) GoString() string {
 39624  	return s.String()
 39625  }
 39626  
 39627  // SetName sets the Name field's value.
 39628  func (s *ResourceReceivingAccess) SetName(v string) *ResourceReceivingAccess {
 39629  	s.Name = &v
 39630  	return s
 39631  }
 39632  
 39633  // SetResourceType sets the ResourceType field's value.
 39634  func (s *ResourceReceivingAccess) SetResourceType(v string) *ResourceReceivingAccess {
 39635  	s.ResourceType = &v
 39636  	return s
 39637  }
 39638  
 39639  // Describes the domain name system (DNS) records to add to your domain's DNS
 39640  // to validate it for an Amazon Lightsail certificate.
 39641  type ResourceRecord struct {
 39642  	_ struct{} `type:"structure"`
 39643  
 39644  	// The name of the record.
 39645  	Name *string `locationName:"name" type:"string"`
 39646  
 39647  	// The DNS record type.
 39648  	Type *string `locationName:"type" type:"string"`
 39649  
 39650  	// The value for the DNS record.
 39651  	Value *string `locationName:"value" type:"string"`
 39652  }
 39653  
 39654  // String returns the string representation.
 39655  //
 39656  // API parameter values that are decorated as "sensitive" in the API will not
 39657  // be included in the string output. The member name will be present, but the
 39658  // value will be replaced with "sensitive".
 39659  func (s ResourceRecord) String() string {
 39660  	return awsutil.Prettify(s)
 39661  }
 39662  
 39663  // GoString returns the string representation.
 39664  //
 39665  // API parameter values that are decorated as "sensitive" in the API will not
 39666  // be included in the string output. The member name will be present, but the
 39667  // value will be replaced with "sensitive".
 39668  func (s ResourceRecord) GoString() string {
 39669  	return s.String()
 39670  }
 39671  
 39672  // SetName sets the Name field's value.
 39673  func (s *ResourceRecord) SetName(v string) *ResourceRecord {
 39674  	s.Name = &v
 39675  	return s
 39676  }
 39677  
 39678  // SetType sets the Type field's value.
 39679  func (s *ResourceRecord) SetType(v string) *ResourceRecord {
 39680  	s.Type = &v
 39681  	return s
 39682  }
 39683  
 39684  // SetValue sets the Value field's value.
 39685  func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
 39686  	s.Value = &v
 39687  	return s
 39688  }
 39689  
 39690  type SendContactMethodVerificationInput struct {
 39691  	_ struct{} `type:"structure"`
 39692  
 39693  	// The protocol to verify, such as Email or SMS (text messaging).
 39694  	//
 39695  	// Protocol is a required field
 39696  	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
 39697  }
 39698  
 39699  // String returns the string representation.
 39700  //
 39701  // API parameter values that are decorated as "sensitive" in the API will not
 39702  // be included in the string output. The member name will be present, but the
 39703  // value will be replaced with "sensitive".
 39704  func (s SendContactMethodVerificationInput) String() string {
 39705  	return awsutil.Prettify(s)
 39706  }
 39707  
 39708  // GoString returns the string representation.
 39709  //
 39710  // API parameter values that are decorated as "sensitive" in the API will not
 39711  // be included in the string output. The member name will be present, but the
 39712  // value will be replaced with "sensitive".
 39713  func (s SendContactMethodVerificationInput) GoString() string {
 39714  	return s.String()
 39715  }
 39716  
 39717  // Validate inspects the fields of the type to determine if they are valid.
 39718  func (s *SendContactMethodVerificationInput) Validate() error {
 39719  	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
 39720  	if s.Protocol == nil {
 39721  		invalidParams.Add(request.NewErrParamRequired("Protocol"))
 39722  	}
 39723  
 39724  	if invalidParams.Len() > 0 {
 39725  		return invalidParams
 39726  	}
 39727  	return nil
 39728  }
 39729  
 39730  // SetProtocol sets the Protocol field's value.
 39731  func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
 39732  	s.Protocol = &v
 39733  	return s
 39734  }
 39735  
 39736  type SendContactMethodVerificationOutput struct {
 39737  	_ struct{} `type:"structure"`
 39738  
 39739  	// An array of objects that describe the result of the action, such as the status
 39740  	// of the request, the timestamp of the request, and the resources affected
 39741  	// by the request.
 39742  	Operations []*Operation `locationName:"operations" type:"list"`
 39743  }
 39744  
 39745  // String returns the string representation.
 39746  //
 39747  // API parameter values that are decorated as "sensitive" in the API will not
 39748  // be included in the string output. The member name will be present, but the
 39749  // value will be replaced with "sensitive".
 39750  func (s SendContactMethodVerificationOutput) String() string {
 39751  	return awsutil.Prettify(s)
 39752  }
 39753  
 39754  // GoString returns the string representation.
 39755  //
 39756  // API parameter values that are decorated as "sensitive" in the API will not
 39757  // be included in the string output. The member name will be present, but the
 39758  // value will be replaced with "sensitive".
 39759  func (s SendContactMethodVerificationOutput) GoString() string {
 39760  	return s.String()
 39761  }
 39762  
 39763  // SetOperations sets the Operations field's value.
 39764  func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
 39765  	s.Operations = v
 39766  	return s
 39767  }
 39768  
 39769  // A general service exception.
 39770  type ServiceException struct {
 39771  	_            struct{}                  `type:"structure"`
 39772  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 39773  
 39774  	Code_ *string `locationName:"code" type:"string"`
 39775  
 39776  	Docs *string `locationName:"docs" type:"string"`
 39777  
 39778  	Message_ *string `locationName:"message" type:"string"`
 39779  
 39780  	Tip *string `locationName:"tip" type:"string"`
 39781  }
 39782  
 39783  // String returns the string representation.
 39784  //
 39785  // API parameter values that are decorated as "sensitive" in the API will not
 39786  // be included in the string output. The member name will be present, but the
 39787  // value will be replaced with "sensitive".
 39788  func (s ServiceException) String() string {
 39789  	return awsutil.Prettify(s)
 39790  }
 39791  
 39792  // GoString returns the string representation.
 39793  //
 39794  // API parameter values that are decorated as "sensitive" in the API will not
 39795  // be included in the string output. The member name will be present, but the
 39796  // value will be replaced with "sensitive".
 39797  func (s ServiceException) GoString() string {
 39798  	return s.String()
 39799  }
 39800  
 39801  func newErrorServiceException(v protocol.ResponseMetadata) error {
 39802  	return &ServiceException{
 39803  		RespMetadata: v,
 39804  	}
 39805  }
 39806  
 39807  // Code returns the exception type name.
 39808  func (s *ServiceException) Code() string {
 39809  	return "ServiceException"
 39810  }
 39811  
 39812  // Message returns the exception's message.
 39813  func (s *ServiceException) Message() string {
 39814  	if s.Message_ != nil {
 39815  		return *s.Message_
 39816  	}
 39817  	return ""
 39818  }
 39819  
 39820  // OrigErr always returns nil, satisfies awserr.Error interface.
 39821  func (s *ServiceException) OrigErr() error {
 39822  	return nil
 39823  }
 39824  
 39825  func (s *ServiceException) Error() string {
 39826  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 39827  }
 39828  
 39829  // Status code returns the HTTP status code for the request's response error.
 39830  func (s *ServiceException) StatusCode() int {
 39831  	return s.RespMetadata.StatusCode
 39832  }
 39833  
 39834  // RequestID returns the service's response RequestID for request.
 39835  func (s *ServiceException) RequestID() string {
 39836  	return s.RespMetadata.RequestID
 39837  }
 39838  
 39839  type SetIpAddressTypeInput struct {
 39840  	_ struct{} `type:"structure"`
 39841  
 39842  	// The IP address type to set for the specified resource.
 39843  	//
 39844  	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
 39845  	//
 39846  	// IpAddressType is a required field
 39847  	IpAddressType *string `locationName:"ipAddressType" type:"string" required:"true" enum:"IpAddressType"`
 39848  
 39849  	// The name of the resource for which to set the IP address type.
 39850  	//
 39851  	// ResourceName is a required field
 39852  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 39853  
 39854  	// The resource type.
 39855  	//
 39856  	// The possible values are Distribution, Instance, and LoadBalancer.
 39857  	//
 39858  	// Distribution-related APIs are available only in the N. Virginia (us-east-1)
 39859  	// AWS Region. Set your AWS Region configuration to us-east-1 to create, view,
 39860  	// or edit distributions.
 39861  	//
 39862  	// ResourceType is a required field
 39863  	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
 39864  }
 39865  
 39866  // String returns the string representation.
 39867  //
 39868  // API parameter values that are decorated as "sensitive" in the API will not
 39869  // be included in the string output. The member name will be present, but the
 39870  // value will be replaced with "sensitive".
 39871  func (s SetIpAddressTypeInput) String() string {
 39872  	return awsutil.Prettify(s)
 39873  }
 39874  
 39875  // GoString returns the string representation.
 39876  //
 39877  // API parameter values that are decorated as "sensitive" in the API will not
 39878  // be included in the string output. The member name will be present, but the
 39879  // value will be replaced with "sensitive".
 39880  func (s SetIpAddressTypeInput) GoString() string {
 39881  	return s.String()
 39882  }
 39883  
 39884  // Validate inspects the fields of the type to determine if they are valid.
 39885  func (s *SetIpAddressTypeInput) Validate() error {
 39886  	invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
 39887  	if s.IpAddressType == nil {
 39888  		invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
 39889  	}
 39890  	if s.ResourceName == nil {
 39891  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 39892  	}
 39893  	if s.ResourceType == nil {
 39894  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 39895  	}
 39896  
 39897  	if invalidParams.Len() > 0 {
 39898  		return invalidParams
 39899  	}
 39900  	return nil
 39901  }
 39902  
 39903  // SetIpAddressType sets the IpAddressType field's value.
 39904  func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
 39905  	s.IpAddressType = &v
 39906  	return s
 39907  }
 39908  
 39909  // SetResourceName sets the ResourceName field's value.
 39910  func (s *SetIpAddressTypeInput) SetResourceName(v string) *SetIpAddressTypeInput {
 39911  	s.ResourceName = &v
 39912  	return s
 39913  }
 39914  
 39915  // SetResourceType sets the ResourceType field's value.
 39916  func (s *SetIpAddressTypeInput) SetResourceType(v string) *SetIpAddressTypeInput {
 39917  	s.ResourceType = &v
 39918  	return s
 39919  }
 39920  
 39921  type SetIpAddressTypeOutput struct {
 39922  	_ struct{} `type:"structure"`
 39923  
 39924  	// An array of objects that describe the result of the action, such as the status
 39925  	// of the request, the timestamp of the request, and the resources affected
 39926  	// by the request.
 39927  	Operations []*Operation `locationName:"operations" type:"list"`
 39928  }
 39929  
 39930  // String returns the string representation.
 39931  //
 39932  // API parameter values that are decorated as "sensitive" in the API will not
 39933  // be included in the string output. The member name will be present, but the
 39934  // value will be replaced with "sensitive".
 39935  func (s SetIpAddressTypeOutput) String() string {
 39936  	return awsutil.Prettify(s)
 39937  }
 39938  
 39939  // GoString returns the string representation.
 39940  //
 39941  // API parameter values that are decorated as "sensitive" in the API will not
 39942  // be included in the string output. The member name will be present, but the
 39943  // value will be replaced with "sensitive".
 39944  func (s SetIpAddressTypeOutput) GoString() string {
 39945  	return s.String()
 39946  }
 39947  
 39948  // SetOperations sets the Operations field's value.
 39949  func (s *SetIpAddressTypeOutput) SetOperations(v []*Operation) *SetIpAddressTypeOutput {
 39950  	s.Operations = v
 39951  	return s
 39952  }
 39953  
 39954  type SetResourceAccessForBucketInput struct {
 39955  	_ struct{} `type:"structure"`
 39956  
 39957  	// The access setting.
 39958  	//
 39959  	// The following access settings are available:
 39960  	//
 39961  	//    * allow - Allows access to the bucket and its objects.
 39962  	//
 39963  	//    * deny - Denies access to the bucket and its objects. Use this setting
 39964  	//    to remove access for a resource previously set to allow.
 39965  	//
 39966  	// Access is a required field
 39967  	Access *string `locationName:"access" type:"string" required:"true" enum:"ResourceBucketAccess"`
 39968  
 39969  	// The name of the bucket for which to set access to another Lightsail resource.
 39970  	//
 39971  	// BucketName is a required field
 39972  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 39973  
 39974  	// The name of the Lightsail instance for which to set bucket access. The instance
 39975  	// must be in a running or stopped state.
 39976  	//
 39977  	// ResourceName is a required field
 39978  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 39979  }
 39980  
 39981  // String returns the string representation.
 39982  //
 39983  // API parameter values that are decorated as "sensitive" in the API will not
 39984  // be included in the string output. The member name will be present, but the
 39985  // value will be replaced with "sensitive".
 39986  func (s SetResourceAccessForBucketInput) String() string {
 39987  	return awsutil.Prettify(s)
 39988  }
 39989  
 39990  // GoString returns the string representation.
 39991  //
 39992  // API parameter values that are decorated as "sensitive" in the API will not
 39993  // be included in the string output. The member name will be present, but the
 39994  // value will be replaced with "sensitive".
 39995  func (s SetResourceAccessForBucketInput) GoString() string {
 39996  	return s.String()
 39997  }
 39998  
 39999  // Validate inspects the fields of the type to determine if they are valid.
 40000  func (s *SetResourceAccessForBucketInput) Validate() error {
 40001  	invalidParams := request.ErrInvalidParams{Context: "SetResourceAccessForBucketInput"}
 40002  	if s.Access == nil {
 40003  		invalidParams.Add(request.NewErrParamRequired("Access"))
 40004  	}
 40005  	if s.BucketName == nil {
 40006  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 40007  	}
 40008  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 40009  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 40010  	}
 40011  	if s.ResourceName == nil {
 40012  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 40013  	}
 40014  
 40015  	if invalidParams.Len() > 0 {
 40016  		return invalidParams
 40017  	}
 40018  	return nil
 40019  }
 40020  
 40021  // SetAccess sets the Access field's value.
 40022  func (s *SetResourceAccessForBucketInput) SetAccess(v string) *SetResourceAccessForBucketInput {
 40023  	s.Access = &v
 40024  	return s
 40025  }
 40026  
 40027  // SetBucketName sets the BucketName field's value.
 40028  func (s *SetResourceAccessForBucketInput) SetBucketName(v string) *SetResourceAccessForBucketInput {
 40029  	s.BucketName = &v
 40030  	return s
 40031  }
 40032  
 40033  // SetResourceName sets the ResourceName field's value.
 40034  func (s *SetResourceAccessForBucketInput) SetResourceName(v string) *SetResourceAccessForBucketInput {
 40035  	s.ResourceName = &v
 40036  	return s
 40037  }
 40038  
 40039  type SetResourceAccessForBucketOutput struct {
 40040  	_ struct{} `type:"structure"`
 40041  
 40042  	// An array of objects that describe the result of the action, such as the status
 40043  	// of the request, the timestamp of the request, and the resources affected
 40044  	// by the request.
 40045  	Operations []*Operation `locationName:"operations" type:"list"`
 40046  }
 40047  
 40048  // String returns the string representation.
 40049  //
 40050  // API parameter values that are decorated as "sensitive" in the API will not
 40051  // be included in the string output. The member name will be present, but the
 40052  // value will be replaced with "sensitive".
 40053  func (s SetResourceAccessForBucketOutput) String() string {
 40054  	return awsutil.Prettify(s)
 40055  }
 40056  
 40057  // GoString returns the string representation.
 40058  //
 40059  // API parameter values that are decorated as "sensitive" in the API will not
 40060  // be included in the string output. The member name will be present, but the
 40061  // value will be replaced with "sensitive".
 40062  func (s SetResourceAccessForBucketOutput) GoString() string {
 40063  	return s.String()
 40064  }
 40065  
 40066  // SetOperations sets the Operations field's value.
 40067  func (s *SetResourceAccessForBucketOutput) SetOperations(v []*Operation) *SetResourceAccessForBucketOutput {
 40068  	s.Operations = v
 40069  	return s
 40070  }
 40071  
 40072  type StartInstanceInput struct {
 40073  	_ struct{} `type:"structure"`
 40074  
 40075  	// The name of the instance (a virtual private server) to start.
 40076  	//
 40077  	// InstanceName is a required field
 40078  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 40079  }
 40080  
 40081  // String returns the string representation.
 40082  //
 40083  // API parameter values that are decorated as "sensitive" in the API will not
 40084  // be included in the string output. The member name will be present, but the
 40085  // value will be replaced with "sensitive".
 40086  func (s StartInstanceInput) String() string {
 40087  	return awsutil.Prettify(s)
 40088  }
 40089  
 40090  // GoString returns the string representation.
 40091  //
 40092  // API parameter values that are decorated as "sensitive" in the API will not
 40093  // be included in the string output. The member name will be present, but the
 40094  // value will be replaced with "sensitive".
 40095  func (s StartInstanceInput) GoString() string {
 40096  	return s.String()
 40097  }
 40098  
 40099  // Validate inspects the fields of the type to determine if they are valid.
 40100  func (s *StartInstanceInput) Validate() error {
 40101  	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
 40102  	if s.InstanceName == nil {
 40103  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 40104  	}
 40105  
 40106  	if invalidParams.Len() > 0 {
 40107  		return invalidParams
 40108  	}
 40109  	return nil
 40110  }
 40111  
 40112  // SetInstanceName sets the InstanceName field's value.
 40113  func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
 40114  	s.InstanceName = &v
 40115  	return s
 40116  }
 40117  
 40118  type StartInstanceOutput struct {
 40119  	_ struct{} `type:"structure"`
 40120  
 40121  	// An array of objects that describe the result of the action, such as the status
 40122  	// of the request, the timestamp of the request, and the resources affected
 40123  	// by the request.
 40124  	Operations []*Operation `locationName:"operations" type:"list"`
 40125  }
 40126  
 40127  // String returns the string representation.
 40128  //
 40129  // API parameter values that are decorated as "sensitive" in the API will not
 40130  // be included in the string output. The member name will be present, but the
 40131  // value will be replaced with "sensitive".
 40132  func (s StartInstanceOutput) String() string {
 40133  	return awsutil.Prettify(s)
 40134  }
 40135  
 40136  // GoString returns the string representation.
 40137  //
 40138  // API parameter values that are decorated as "sensitive" in the API will not
 40139  // be included in the string output. The member name will be present, but the
 40140  // value will be replaced with "sensitive".
 40141  func (s StartInstanceOutput) GoString() string {
 40142  	return s.String()
 40143  }
 40144  
 40145  // SetOperations sets the Operations field's value.
 40146  func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
 40147  	s.Operations = v
 40148  	return s
 40149  }
 40150  
 40151  type StartRelationalDatabaseInput struct {
 40152  	_ struct{} `type:"structure"`
 40153  
 40154  	// The name of your database to start.
 40155  	//
 40156  	// RelationalDatabaseName is a required field
 40157  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 40158  }
 40159  
 40160  // String returns the string representation.
 40161  //
 40162  // API parameter values that are decorated as "sensitive" in the API will not
 40163  // be included in the string output. The member name will be present, but the
 40164  // value will be replaced with "sensitive".
 40165  func (s StartRelationalDatabaseInput) String() string {
 40166  	return awsutil.Prettify(s)
 40167  }
 40168  
 40169  // GoString returns the string representation.
 40170  //
 40171  // API parameter values that are decorated as "sensitive" in the API will not
 40172  // be included in the string output. The member name will be present, but the
 40173  // value will be replaced with "sensitive".
 40174  func (s StartRelationalDatabaseInput) GoString() string {
 40175  	return s.String()
 40176  }
 40177  
 40178  // Validate inspects the fields of the type to determine if they are valid.
 40179  func (s *StartRelationalDatabaseInput) Validate() error {
 40180  	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
 40181  	if s.RelationalDatabaseName == nil {
 40182  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 40183  	}
 40184  
 40185  	if invalidParams.Len() > 0 {
 40186  		return invalidParams
 40187  	}
 40188  	return nil
 40189  }
 40190  
 40191  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 40192  func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
 40193  	s.RelationalDatabaseName = &v
 40194  	return s
 40195  }
 40196  
 40197  type StartRelationalDatabaseOutput struct {
 40198  	_ struct{} `type:"structure"`
 40199  
 40200  	// An array of objects that describe the result of the action, such as the status
 40201  	// of the request, the timestamp of the request, and the resources affected
 40202  	// by the request.
 40203  	Operations []*Operation `locationName:"operations" type:"list"`
 40204  }
 40205  
 40206  // String returns the string representation.
 40207  //
 40208  // API parameter values that are decorated as "sensitive" in the API will not
 40209  // be included in the string output. The member name will be present, but the
 40210  // value will be replaced with "sensitive".
 40211  func (s StartRelationalDatabaseOutput) String() string {
 40212  	return awsutil.Prettify(s)
 40213  }
 40214  
 40215  // GoString returns the string representation.
 40216  //
 40217  // API parameter values that are decorated as "sensitive" in the API will not
 40218  // be included in the string output. The member name will be present, but the
 40219  // value will be replaced with "sensitive".
 40220  func (s StartRelationalDatabaseOutput) GoString() string {
 40221  	return s.String()
 40222  }
 40223  
 40224  // SetOperations sets the Operations field's value.
 40225  func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
 40226  	s.Operations = v
 40227  	return s
 40228  }
 40229  
 40230  // Describes a static IP.
 40231  type StaticIp struct {
 40232  	_ struct{} `type:"structure"`
 40233  
 40234  	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
 40235  	Arn *string `locationName:"arn" type:"string"`
 40236  
 40237  	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
 40238  	AttachedTo *string `locationName:"attachedTo" type:"string"`
 40239  
 40240  	// The timestamp when the static IP was created (e.g., 1479735304.222).
 40241  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 40242  
 40243  	// The static IP address.
 40244  	IpAddress *string `locationName:"ipAddress" type:"string"`
 40245  
 40246  	// A Boolean value indicating whether the static IP is attached.
 40247  	IsAttached *bool `locationName:"isAttached" type:"boolean"`
 40248  
 40249  	// The region and Availability Zone where the static IP was created.
 40250  	Location *ResourceLocation `locationName:"location" type:"structure"`
 40251  
 40252  	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
 40253  	Name *string `locationName:"name" type:"string"`
 40254  
 40255  	// The resource type (usually StaticIp).
 40256  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 40257  
 40258  	// The support code. Include this code in your email to support when you have
 40259  	// questions about an instance or another resource in Lightsail. This code enables
 40260  	// our support team to look up your Lightsail information more easily.
 40261  	SupportCode *string `locationName:"supportCode" type:"string"`
 40262  }
 40263  
 40264  // String returns the string representation.
 40265  //
 40266  // API parameter values that are decorated as "sensitive" in the API will not
 40267  // be included in the string output. The member name will be present, but the
 40268  // value will be replaced with "sensitive".
 40269  func (s StaticIp) String() string {
 40270  	return awsutil.Prettify(s)
 40271  }
 40272  
 40273  // GoString returns the string representation.
 40274  //
 40275  // API parameter values that are decorated as "sensitive" in the API will not
 40276  // be included in the string output. The member name will be present, but the
 40277  // value will be replaced with "sensitive".
 40278  func (s StaticIp) GoString() string {
 40279  	return s.String()
 40280  }
 40281  
 40282  // SetArn sets the Arn field's value.
 40283  func (s *StaticIp) SetArn(v string) *StaticIp {
 40284  	s.Arn = &v
 40285  	return s
 40286  }
 40287  
 40288  // SetAttachedTo sets the AttachedTo field's value.
 40289  func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
 40290  	s.AttachedTo = &v
 40291  	return s
 40292  }
 40293  
 40294  // SetCreatedAt sets the CreatedAt field's value.
 40295  func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
 40296  	s.CreatedAt = &v
 40297  	return s
 40298  }
 40299  
 40300  // SetIpAddress sets the IpAddress field's value.
 40301  func (s *StaticIp) SetIpAddress(v string) *StaticIp {
 40302  	s.IpAddress = &v
 40303  	return s
 40304  }
 40305  
 40306  // SetIsAttached sets the IsAttached field's value.
 40307  func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
 40308  	s.IsAttached = &v
 40309  	return s
 40310  }
 40311  
 40312  // SetLocation sets the Location field's value.
 40313  func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
 40314  	s.Location = v
 40315  	return s
 40316  }
 40317  
 40318  // SetName sets the Name field's value.
 40319  func (s *StaticIp) SetName(v string) *StaticIp {
 40320  	s.Name = &v
 40321  	return s
 40322  }
 40323  
 40324  // SetResourceType sets the ResourceType field's value.
 40325  func (s *StaticIp) SetResourceType(v string) *StaticIp {
 40326  	s.ResourceType = &v
 40327  	return s
 40328  }
 40329  
 40330  // SetSupportCode sets the SupportCode field's value.
 40331  func (s *StaticIp) SetSupportCode(v string) *StaticIp {
 40332  	s.SupportCode = &v
 40333  	return s
 40334  }
 40335  
 40336  type StopInstanceInput struct {
 40337  	_ struct{} `type:"structure"`
 40338  
 40339  	// When set to True, forces a Lightsail instance that is stuck in a stopping
 40340  	// state to stop.
 40341  	//
 40342  	// Only use the force parameter if your instance is stuck in the stopping state.
 40343  	// In any other state, your instance should stop normally without adding this
 40344  	// parameter to your API request.
 40345  	Force *bool `locationName:"force" type:"boolean"`
 40346  
 40347  	// The name of the instance (a virtual private server) to stop.
 40348  	//
 40349  	// InstanceName is a required field
 40350  	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
 40351  }
 40352  
 40353  // String returns the string representation.
 40354  //
 40355  // API parameter values that are decorated as "sensitive" in the API will not
 40356  // be included in the string output. The member name will be present, but the
 40357  // value will be replaced with "sensitive".
 40358  func (s StopInstanceInput) String() string {
 40359  	return awsutil.Prettify(s)
 40360  }
 40361  
 40362  // GoString returns the string representation.
 40363  //
 40364  // API parameter values that are decorated as "sensitive" in the API will not
 40365  // be included in the string output. The member name will be present, but the
 40366  // value will be replaced with "sensitive".
 40367  func (s StopInstanceInput) GoString() string {
 40368  	return s.String()
 40369  }
 40370  
 40371  // Validate inspects the fields of the type to determine if they are valid.
 40372  func (s *StopInstanceInput) Validate() error {
 40373  	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
 40374  	if s.InstanceName == nil {
 40375  		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
 40376  	}
 40377  
 40378  	if invalidParams.Len() > 0 {
 40379  		return invalidParams
 40380  	}
 40381  	return nil
 40382  }
 40383  
 40384  // SetForce sets the Force field's value.
 40385  func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
 40386  	s.Force = &v
 40387  	return s
 40388  }
 40389  
 40390  // SetInstanceName sets the InstanceName field's value.
 40391  func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
 40392  	s.InstanceName = &v
 40393  	return s
 40394  }
 40395  
 40396  type StopInstanceOutput struct {
 40397  	_ struct{} `type:"structure"`
 40398  
 40399  	// An array of objects that describe the result of the action, such as the status
 40400  	// of the request, the timestamp of the request, and the resources affected
 40401  	// by the request.
 40402  	Operations []*Operation `locationName:"operations" type:"list"`
 40403  }
 40404  
 40405  // String returns the string representation.
 40406  //
 40407  // API parameter values that are decorated as "sensitive" in the API will not
 40408  // be included in the string output. The member name will be present, but the
 40409  // value will be replaced with "sensitive".
 40410  func (s StopInstanceOutput) String() string {
 40411  	return awsutil.Prettify(s)
 40412  }
 40413  
 40414  // GoString returns the string representation.
 40415  //
 40416  // API parameter values that are decorated as "sensitive" in the API will not
 40417  // be included in the string output. The member name will be present, but the
 40418  // value will be replaced with "sensitive".
 40419  func (s StopInstanceOutput) GoString() string {
 40420  	return s.String()
 40421  }
 40422  
 40423  // SetOperations sets the Operations field's value.
 40424  func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
 40425  	s.Operations = v
 40426  	return s
 40427  }
 40428  
 40429  type StopRelationalDatabaseInput struct {
 40430  	_ struct{} `type:"structure"`
 40431  
 40432  	// The name of your database to stop.
 40433  	//
 40434  	// RelationalDatabaseName is a required field
 40435  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 40436  
 40437  	// The name of your new database snapshot to be created before stopping your
 40438  	// database.
 40439  	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
 40440  }
 40441  
 40442  // String returns the string representation.
 40443  //
 40444  // API parameter values that are decorated as "sensitive" in the API will not
 40445  // be included in the string output. The member name will be present, but the
 40446  // value will be replaced with "sensitive".
 40447  func (s StopRelationalDatabaseInput) String() string {
 40448  	return awsutil.Prettify(s)
 40449  }
 40450  
 40451  // GoString returns the string representation.
 40452  //
 40453  // API parameter values that are decorated as "sensitive" in the API will not
 40454  // be included in the string output. The member name will be present, but the
 40455  // value will be replaced with "sensitive".
 40456  func (s StopRelationalDatabaseInput) GoString() string {
 40457  	return s.String()
 40458  }
 40459  
 40460  // Validate inspects the fields of the type to determine if they are valid.
 40461  func (s *StopRelationalDatabaseInput) Validate() error {
 40462  	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
 40463  	if s.RelationalDatabaseName == nil {
 40464  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 40465  	}
 40466  
 40467  	if invalidParams.Len() > 0 {
 40468  		return invalidParams
 40469  	}
 40470  	return nil
 40471  }
 40472  
 40473  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 40474  func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
 40475  	s.RelationalDatabaseName = &v
 40476  	return s
 40477  }
 40478  
 40479  // SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
 40480  func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
 40481  	s.RelationalDatabaseSnapshotName = &v
 40482  	return s
 40483  }
 40484  
 40485  type StopRelationalDatabaseOutput struct {
 40486  	_ struct{} `type:"structure"`
 40487  
 40488  	// An array of objects that describe the result of the action, such as the status
 40489  	// of the request, the timestamp of the request, and the resources affected
 40490  	// by the request.
 40491  	Operations []*Operation `locationName:"operations" type:"list"`
 40492  }
 40493  
 40494  // String returns the string representation.
 40495  //
 40496  // API parameter values that are decorated as "sensitive" in the API will not
 40497  // be included in the string output. The member name will be present, but the
 40498  // value will be replaced with "sensitive".
 40499  func (s StopRelationalDatabaseOutput) String() string {
 40500  	return awsutil.Prettify(s)
 40501  }
 40502  
 40503  // GoString returns the string representation.
 40504  //
 40505  // API parameter values that are decorated as "sensitive" in the API will not
 40506  // be included in the string output. The member name will be present, but the
 40507  // value will be replaced with "sensitive".
 40508  func (s StopRelationalDatabaseOutput) GoString() string {
 40509  	return s.String()
 40510  }
 40511  
 40512  // SetOperations sets the Operations field's value.
 40513  func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
 40514  	s.Operations = v
 40515  	return s
 40516  }
 40517  
 40518  // Describes a tag key and optional value assigned to an Amazon Lightsail resource.
 40519  //
 40520  // For more information about tags in Lightsail, see the Amazon Lightsail Developer
 40521  // Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
 40522  type Tag struct {
 40523  	_ struct{} `type:"structure"`
 40524  
 40525  	// The key of the tag.
 40526  	//
 40527  	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
 40528  	// UTF-8, or the following characters: + - = . _ : / @
 40529  	Key *string `locationName:"key" type:"string"`
 40530  
 40531  	// The value of the tag.
 40532  	//
 40533  	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
 40534  	// in UTF-8, or the following characters: + - = . _ : / @
 40535  	Value *string `locationName:"value" type:"string"`
 40536  }
 40537  
 40538  // String returns the string representation.
 40539  //
 40540  // API parameter values that are decorated as "sensitive" in the API will not
 40541  // be included in the string output. The member name will be present, but the
 40542  // value will be replaced with "sensitive".
 40543  func (s Tag) String() string {
 40544  	return awsutil.Prettify(s)
 40545  }
 40546  
 40547  // GoString returns the string representation.
 40548  //
 40549  // API parameter values that are decorated as "sensitive" in the API will not
 40550  // be included in the string output. The member name will be present, but the
 40551  // value will be replaced with "sensitive".
 40552  func (s Tag) GoString() string {
 40553  	return s.String()
 40554  }
 40555  
 40556  // SetKey sets the Key field's value.
 40557  func (s *Tag) SetKey(v string) *Tag {
 40558  	s.Key = &v
 40559  	return s
 40560  }
 40561  
 40562  // SetValue sets the Value field's value.
 40563  func (s *Tag) SetValue(v string) *Tag {
 40564  	s.Value = &v
 40565  	return s
 40566  }
 40567  
 40568  type TagResourceInput struct {
 40569  	_ struct{} `type:"structure"`
 40570  
 40571  	// The Amazon Resource Name (ARN) of the resource to which you want to add a
 40572  	// tag.
 40573  	ResourceArn *string `locationName:"resourceArn" type:"string"`
 40574  
 40575  	// The name of the resource to which you are adding tags.
 40576  	//
 40577  	// ResourceName is a required field
 40578  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 40579  
 40580  	// The tag key and optional value.
 40581  	//
 40582  	// Tags is a required field
 40583  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
 40584  }
 40585  
 40586  // String returns the string representation.
 40587  //
 40588  // API parameter values that are decorated as "sensitive" in the API will not
 40589  // be included in the string output. The member name will be present, but the
 40590  // value will be replaced with "sensitive".
 40591  func (s TagResourceInput) String() string {
 40592  	return awsutil.Prettify(s)
 40593  }
 40594  
 40595  // GoString returns the string representation.
 40596  //
 40597  // API parameter values that are decorated as "sensitive" in the API will not
 40598  // be included in the string output. The member name will be present, but the
 40599  // value will be replaced with "sensitive".
 40600  func (s TagResourceInput) GoString() string {
 40601  	return s.String()
 40602  }
 40603  
 40604  // Validate inspects the fields of the type to determine if they are valid.
 40605  func (s *TagResourceInput) Validate() error {
 40606  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 40607  	if s.ResourceName == nil {
 40608  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 40609  	}
 40610  	if s.Tags == nil {
 40611  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 40612  	}
 40613  
 40614  	if invalidParams.Len() > 0 {
 40615  		return invalidParams
 40616  	}
 40617  	return nil
 40618  }
 40619  
 40620  // SetResourceArn sets the ResourceArn field's value.
 40621  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 40622  	s.ResourceArn = &v
 40623  	return s
 40624  }
 40625  
 40626  // SetResourceName sets the ResourceName field's value.
 40627  func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
 40628  	s.ResourceName = &v
 40629  	return s
 40630  }
 40631  
 40632  // SetTags sets the Tags field's value.
 40633  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 40634  	s.Tags = v
 40635  	return s
 40636  }
 40637  
 40638  type TagResourceOutput struct {
 40639  	_ struct{} `type:"structure"`
 40640  
 40641  	// An array of objects that describe the result of the action, such as the status
 40642  	// of the request, the timestamp of the request, and the resources affected
 40643  	// by the request.
 40644  	Operations []*Operation `locationName:"operations" type:"list"`
 40645  }
 40646  
 40647  // String returns the string representation.
 40648  //
 40649  // API parameter values that are decorated as "sensitive" in the API will not
 40650  // be included in the string output. The member name will be present, but the
 40651  // value will be replaced with "sensitive".
 40652  func (s TagResourceOutput) String() string {
 40653  	return awsutil.Prettify(s)
 40654  }
 40655  
 40656  // GoString returns the string representation.
 40657  //
 40658  // API parameter values that are decorated as "sensitive" in the API will not
 40659  // be included in the string output. The member name will be present, but the
 40660  // value will be replaced with "sensitive".
 40661  func (s TagResourceOutput) GoString() string {
 40662  	return s.String()
 40663  }
 40664  
 40665  // SetOperations sets the Operations field's value.
 40666  func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
 40667  	s.Operations = v
 40668  	return s
 40669  }
 40670  
 40671  type TestAlarmInput struct {
 40672  	_ struct{} `type:"structure"`
 40673  
 40674  	// The name of the alarm to test.
 40675  	//
 40676  	// AlarmName is a required field
 40677  	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
 40678  
 40679  	// The alarm state to test.
 40680  	//
 40681  	// An alarm has the following possible states that can be tested:
 40682  	//
 40683  	//    * ALARM - The metric is outside of the defined threshold.
 40684  	//
 40685  	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
 40686  	//    or not enough data is available for the metric to determine the alarm
 40687  	//    state.
 40688  	//
 40689  	//    * OK - The metric is within the defined threshold.
 40690  	//
 40691  	// State is a required field
 40692  	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
 40693  }
 40694  
 40695  // String returns the string representation.
 40696  //
 40697  // API parameter values that are decorated as "sensitive" in the API will not
 40698  // be included in the string output. The member name will be present, but the
 40699  // value will be replaced with "sensitive".
 40700  func (s TestAlarmInput) String() string {
 40701  	return awsutil.Prettify(s)
 40702  }
 40703  
 40704  // GoString returns the string representation.
 40705  //
 40706  // API parameter values that are decorated as "sensitive" in the API will not
 40707  // be included in the string output. The member name will be present, but the
 40708  // value will be replaced with "sensitive".
 40709  func (s TestAlarmInput) GoString() string {
 40710  	return s.String()
 40711  }
 40712  
 40713  // Validate inspects the fields of the type to determine if they are valid.
 40714  func (s *TestAlarmInput) Validate() error {
 40715  	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
 40716  	if s.AlarmName == nil {
 40717  		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
 40718  	}
 40719  	if s.State == nil {
 40720  		invalidParams.Add(request.NewErrParamRequired("State"))
 40721  	}
 40722  
 40723  	if invalidParams.Len() > 0 {
 40724  		return invalidParams
 40725  	}
 40726  	return nil
 40727  }
 40728  
 40729  // SetAlarmName sets the AlarmName field's value.
 40730  func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
 40731  	s.AlarmName = &v
 40732  	return s
 40733  }
 40734  
 40735  // SetState sets the State field's value.
 40736  func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
 40737  	s.State = &v
 40738  	return s
 40739  }
 40740  
 40741  type TestAlarmOutput struct {
 40742  	_ struct{} `type:"structure"`
 40743  
 40744  	// An array of objects that describe the result of the action, such as the status
 40745  	// of the request, the timestamp of the request, and the resources affected
 40746  	// by the request.
 40747  	Operations []*Operation `locationName:"operations" type:"list"`
 40748  }
 40749  
 40750  // String returns the string representation.
 40751  //
 40752  // API parameter values that are decorated as "sensitive" in the API will not
 40753  // be included in the string output. The member name will be present, but the
 40754  // value will be replaced with "sensitive".
 40755  func (s TestAlarmOutput) String() string {
 40756  	return awsutil.Prettify(s)
 40757  }
 40758  
 40759  // GoString returns the string representation.
 40760  //
 40761  // API parameter values that are decorated as "sensitive" in the API will not
 40762  // be included in the string output. The member name will be present, but the
 40763  // value will be replaced with "sensitive".
 40764  func (s TestAlarmOutput) GoString() string {
 40765  	return s.String()
 40766  }
 40767  
 40768  // SetOperations sets the Operations field's value.
 40769  func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
 40770  	s.Operations = v
 40771  	return s
 40772  }
 40773  
 40774  // Lightsail throws this exception when the user has not been authenticated.
 40775  type UnauthenticatedException struct {
 40776  	_            struct{}                  `type:"structure"`
 40777  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 40778  
 40779  	Code_ *string `locationName:"code" type:"string"`
 40780  
 40781  	Docs *string `locationName:"docs" type:"string"`
 40782  
 40783  	Message_ *string `locationName:"message" type:"string"`
 40784  
 40785  	Tip *string `locationName:"tip" type:"string"`
 40786  }
 40787  
 40788  // String returns the string representation.
 40789  //
 40790  // API parameter values that are decorated as "sensitive" in the API will not
 40791  // be included in the string output. The member name will be present, but the
 40792  // value will be replaced with "sensitive".
 40793  func (s UnauthenticatedException) String() string {
 40794  	return awsutil.Prettify(s)
 40795  }
 40796  
 40797  // GoString returns the string representation.
 40798  //
 40799  // API parameter values that are decorated as "sensitive" in the API will not
 40800  // be included in the string output. The member name will be present, but the
 40801  // value will be replaced with "sensitive".
 40802  func (s UnauthenticatedException) GoString() string {
 40803  	return s.String()
 40804  }
 40805  
 40806  func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
 40807  	return &UnauthenticatedException{
 40808  		RespMetadata: v,
 40809  	}
 40810  }
 40811  
 40812  // Code returns the exception type name.
 40813  func (s *UnauthenticatedException) Code() string {
 40814  	return "UnauthenticatedException"
 40815  }
 40816  
 40817  // Message returns the exception's message.
 40818  func (s *UnauthenticatedException) Message() string {
 40819  	if s.Message_ != nil {
 40820  		return *s.Message_
 40821  	}
 40822  	return ""
 40823  }
 40824  
 40825  // OrigErr always returns nil, satisfies awserr.Error interface.
 40826  func (s *UnauthenticatedException) OrigErr() error {
 40827  	return nil
 40828  }
 40829  
 40830  func (s *UnauthenticatedException) Error() string {
 40831  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 40832  }
 40833  
 40834  // Status code returns the HTTP status code for the request's response error.
 40835  func (s *UnauthenticatedException) StatusCode() int {
 40836  	return s.RespMetadata.StatusCode
 40837  }
 40838  
 40839  // RequestID returns the service's response RequestID for request.
 40840  func (s *UnauthenticatedException) RequestID() string {
 40841  	return s.RespMetadata.RequestID
 40842  }
 40843  
 40844  type UnpeerVpcInput struct {
 40845  	_ struct{} `type:"structure"`
 40846  }
 40847  
 40848  // String returns the string representation.
 40849  //
 40850  // API parameter values that are decorated as "sensitive" in the API will not
 40851  // be included in the string output. The member name will be present, but the
 40852  // value will be replaced with "sensitive".
 40853  func (s UnpeerVpcInput) String() string {
 40854  	return awsutil.Prettify(s)
 40855  }
 40856  
 40857  // GoString returns the string representation.
 40858  //
 40859  // API parameter values that are decorated as "sensitive" in the API will not
 40860  // be included in the string output. The member name will be present, but the
 40861  // value will be replaced with "sensitive".
 40862  func (s UnpeerVpcInput) GoString() string {
 40863  	return s.String()
 40864  }
 40865  
 40866  type UnpeerVpcOutput struct {
 40867  	_ struct{} `type:"structure"`
 40868  
 40869  	// An array of objects that describe the result of the action, such as the status
 40870  	// of the request, the timestamp of the request, and the resources affected
 40871  	// by the request.
 40872  	Operation *Operation `locationName:"operation" type:"structure"`
 40873  }
 40874  
 40875  // String returns the string representation.
 40876  //
 40877  // API parameter values that are decorated as "sensitive" in the API will not
 40878  // be included in the string output. The member name will be present, but the
 40879  // value will be replaced with "sensitive".
 40880  func (s UnpeerVpcOutput) String() string {
 40881  	return awsutil.Prettify(s)
 40882  }
 40883  
 40884  // GoString returns the string representation.
 40885  //
 40886  // API parameter values that are decorated as "sensitive" in the API will not
 40887  // be included in the string output. The member name will be present, but the
 40888  // value will be replaced with "sensitive".
 40889  func (s UnpeerVpcOutput) GoString() string {
 40890  	return s.String()
 40891  }
 40892  
 40893  // SetOperation sets the Operation field's value.
 40894  func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
 40895  	s.Operation = v
 40896  	return s
 40897  }
 40898  
 40899  type UntagResourceInput struct {
 40900  	_ struct{} `type:"structure"`
 40901  
 40902  	// The Amazon Resource Name (ARN) of the resource from which you want to remove
 40903  	// a tag.
 40904  	ResourceArn *string `locationName:"resourceArn" type:"string"`
 40905  
 40906  	// The name of the resource from which you are removing a tag.
 40907  	//
 40908  	// ResourceName is a required field
 40909  	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
 40910  
 40911  	// The tag keys to delete from the specified resource.
 40912  	//
 40913  	// TagKeys is a required field
 40914  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
 40915  }
 40916  
 40917  // String returns the string representation.
 40918  //
 40919  // API parameter values that are decorated as "sensitive" in the API will not
 40920  // be included in the string output. The member name will be present, but the
 40921  // value will be replaced with "sensitive".
 40922  func (s UntagResourceInput) String() string {
 40923  	return awsutil.Prettify(s)
 40924  }
 40925  
 40926  // GoString returns the string representation.
 40927  //
 40928  // API parameter values that are decorated as "sensitive" in the API will not
 40929  // be included in the string output. The member name will be present, but the
 40930  // value will be replaced with "sensitive".
 40931  func (s UntagResourceInput) GoString() string {
 40932  	return s.String()
 40933  }
 40934  
 40935  // Validate inspects the fields of the type to determine if they are valid.
 40936  func (s *UntagResourceInput) Validate() error {
 40937  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 40938  	if s.ResourceName == nil {
 40939  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 40940  	}
 40941  	if s.TagKeys == nil {
 40942  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 40943  	}
 40944  
 40945  	if invalidParams.Len() > 0 {
 40946  		return invalidParams
 40947  	}
 40948  	return nil
 40949  }
 40950  
 40951  // SetResourceArn sets the ResourceArn field's value.
 40952  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 40953  	s.ResourceArn = &v
 40954  	return s
 40955  }
 40956  
 40957  // SetResourceName sets the ResourceName field's value.
 40958  func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
 40959  	s.ResourceName = &v
 40960  	return s
 40961  }
 40962  
 40963  // SetTagKeys sets the TagKeys field's value.
 40964  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 40965  	s.TagKeys = v
 40966  	return s
 40967  }
 40968  
 40969  type UntagResourceOutput struct {
 40970  	_ struct{} `type:"structure"`
 40971  
 40972  	// An array of objects that describe the result of the action, such as the status
 40973  	// of the request, the timestamp of the request, and the resources affected
 40974  	// by the request.
 40975  	Operations []*Operation `locationName:"operations" type:"list"`
 40976  }
 40977  
 40978  // String returns the string representation.
 40979  //
 40980  // API parameter values that are decorated as "sensitive" in the API will not
 40981  // be included in the string output. The member name will be present, but the
 40982  // value will be replaced with "sensitive".
 40983  func (s UntagResourceOutput) String() string {
 40984  	return awsutil.Prettify(s)
 40985  }
 40986  
 40987  // GoString returns the string representation.
 40988  //
 40989  // API parameter values that are decorated as "sensitive" in the API will not
 40990  // be included in the string output. The member name will be present, but the
 40991  // value will be replaced with "sensitive".
 40992  func (s UntagResourceOutput) GoString() string {
 40993  	return s.String()
 40994  }
 40995  
 40996  // SetOperations sets the Operations field's value.
 40997  func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
 40998  	s.Operations = v
 40999  	return s
 41000  }
 41001  
 41002  type UpdateBucketBundleInput struct {
 41003  	_ struct{} `type:"structure"`
 41004  
 41005  	// The name of the bucket for which to update the bundle.
 41006  	//
 41007  	// BucketName is a required field
 41008  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 41009  
 41010  	// The ID of the new bundle to apply to the bucket.
 41011  	//
 41012  	// Use the GetBucketBundles action to get a list of bundle IDs that you can
 41013  	// specify.
 41014  	//
 41015  	// BundleId is a required field
 41016  	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
 41017  }
 41018  
 41019  // String returns the string representation.
 41020  //
 41021  // API parameter values that are decorated as "sensitive" in the API will not
 41022  // be included in the string output. The member name will be present, but the
 41023  // value will be replaced with "sensitive".
 41024  func (s UpdateBucketBundleInput) String() string {
 41025  	return awsutil.Prettify(s)
 41026  }
 41027  
 41028  // GoString returns the string representation.
 41029  //
 41030  // API parameter values that are decorated as "sensitive" in the API will not
 41031  // be included in the string output. The member name will be present, but the
 41032  // value will be replaced with "sensitive".
 41033  func (s UpdateBucketBundleInput) GoString() string {
 41034  	return s.String()
 41035  }
 41036  
 41037  // Validate inspects the fields of the type to determine if they are valid.
 41038  func (s *UpdateBucketBundleInput) Validate() error {
 41039  	invalidParams := request.ErrInvalidParams{Context: "UpdateBucketBundleInput"}
 41040  	if s.BucketName == nil {
 41041  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 41042  	}
 41043  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 41044  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 41045  	}
 41046  	if s.BundleId == nil {
 41047  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
 41048  	}
 41049  
 41050  	if invalidParams.Len() > 0 {
 41051  		return invalidParams
 41052  	}
 41053  	return nil
 41054  }
 41055  
 41056  // SetBucketName sets the BucketName field's value.
 41057  func (s *UpdateBucketBundleInput) SetBucketName(v string) *UpdateBucketBundleInput {
 41058  	s.BucketName = &v
 41059  	return s
 41060  }
 41061  
 41062  // SetBundleId sets the BundleId field's value.
 41063  func (s *UpdateBucketBundleInput) SetBundleId(v string) *UpdateBucketBundleInput {
 41064  	s.BundleId = &v
 41065  	return s
 41066  }
 41067  
 41068  type UpdateBucketBundleOutput struct {
 41069  	_ struct{} `type:"structure"`
 41070  
 41071  	// An array of objects that describe the result of the action, such as the status
 41072  	// of the request, the timestamp of the request, and the resources affected
 41073  	// by the request.
 41074  	Operations []*Operation `locationName:"operations" type:"list"`
 41075  }
 41076  
 41077  // String returns the string representation.
 41078  //
 41079  // API parameter values that are decorated as "sensitive" in the API will not
 41080  // be included in the string output. The member name will be present, but the
 41081  // value will be replaced with "sensitive".
 41082  func (s UpdateBucketBundleOutput) String() string {
 41083  	return awsutil.Prettify(s)
 41084  }
 41085  
 41086  // GoString returns the string representation.
 41087  //
 41088  // API parameter values that are decorated as "sensitive" in the API will not
 41089  // be included in the string output. The member name will be present, but the
 41090  // value will be replaced with "sensitive".
 41091  func (s UpdateBucketBundleOutput) GoString() string {
 41092  	return s.String()
 41093  }
 41094  
 41095  // SetOperations sets the Operations field's value.
 41096  func (s *UpdateBucketBundleOutput) SetOperations(v []*Operation) *UpdateBucketBundleOutput {
 41097  	s.Operations = v
 41098  	return s
 41099  }
 41100  
 41101  type UpdateBucketInput struct {
 41102  	_ struct{} `type:"structure"`
 41103  
 41104  	// An object that sets the public accessibility of objects in the specified
 41105  	// bucket.
 41106  	AccessRules *AccessRules `locationName:"accessRules" type:"structure"`
 41107  
 41108  	// The name of the bucket to update.
 41109  	//
 41110  	// BucketName is a required field
 41111  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
 41112  
 41113  	// An array of strings to specify the AWS account IDs that can access the bucket.
 41114  	//
 41115  	// You can give a maximum of 10 AWS accounts access to a bucket.
 41116  	ReadonlyAccessAccounts []*string `locationName:"readonlyAccessAccounts" type:"list"`
 41117  
 41118  	// Specifies whether to enable or suspend versioning of objects in the bucket.
 41119  	//
 41120  	// The following options can be specified:
 41121  	//
 41122  	//    * Enabled - Enables versioning of objects in the specified bucket.
 41123  	//
 41124  	//    * Suspended - Suspends versioning of objects in the specified bucket.
 41125  	//    Existing object versions are retained.
 41126  	Versioning *string `locationName:"versioning" type:"string"`
 41127  }
 41128  
 41129  // String returns the string representation.
 41130  //
 41131  // API parameter values that are decorated as "sensitive" in the API will not
 41132  // be included in the string output. The member name will be present, but the
 41133  // value will be replaced with "sensitive".
 41134  func (s UpdateBucketInput) String() string {
 41135  	return awsutil.Prettify(s)
 41136  }
 41137  
 41138  // GoString returns the string representation.
 41139  //
 41140  // API parameter values that are decorated as "sensitive" in the API will not
 41141  // be included in the string output. The member name will be present, but the
 41142  // value will be replaced with "sensitive".
 41143  func (s UpdateBucketInput) GoString() string {
 41144  	return s.String()
 41145  }
 41146  
 41147  // Validate inspects the fields of the type to determine if they are valid.
 41148  func (s *UpdateBucketInput) Validate() error {
 41149  	invalidParams := request.ErrInvalidParams{Context: "UpdateBucketInput"}
 41150  	if s.BucketName == nil {
 41151  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 41152  	}
 41153  	if s.BucketName != nil && len(*s.BucketName) < 3 {
 41154  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
 41155  	}
 41156  
 41157  	if invalidParams.Len() > 0 {
 41158  		return invalidParams
 41159  	}
 41160  	return nil
 41161  }
 41162  
 41163  // SetAccessRules sets the AccessRules field's value.
 41164  func (s *UpdateBucketInput) SetAccessRules(v *AccessRules) *UpdateBucketInput {
 41165  	s.AccessRules = v
 41166  	return s
 41167  }
 41168  
 41169  // SetBucketName sets the BucketName field's value.
 41170  func (s *UpdateBucketInput) SetBucketName(v string) *UpdateBucketInput {
 41171  	s.BucketName = &v
 41172  	return s
 41173  }
 41174  
 41175  // SetReadonlyAccessAccounts sets the ReadonlyAccessAccounts field's value.
 41176  func (s *UpdateBucketInput) SetReadonlyAccessAccounts(v []*string) *UpdateBucketInput {
 41177  	s.ReadonlyAccessAccounts = v
 41178  	return s
 41179  }
 41180  
 41181  // SetVersioning sets the Versioning field's value.
 41182  func (s *UpdateBucketInput) SetVersioning(v string) *UpdateBucketInput {
 41183  	s.Versioning = &v
 41184  	return s
 41185  }
 41186  
 41187  type UpdateBucketOutput struct {
 41188  	_ struct{} `type:"structure"`
 41189  
 41190  	// An object that describes the bucket that is updated.
 41191  	Bucket *Bucket `locationName:"bucket" type:"structure"`
 41192  
 41193  	// An array of objects that describe the result of the action, such as the status
 41194  	// of the request, the timestamp of the request, and the resources affected
 41195  	// by the request.
 41196  	Operations []*Operation `locationName:"operations" type:"list"`
 41197  }
 41198  
 41199  // String returns the string representation.
 41200  //
 41201  // API parameter values that are decorated as "sensitive" in the API will not
 41202  // be included in the string output. The member name will be present, but the
 41203  // value will be replaced with "sensitive".
 41204  func (s UpdateBucketOutput) String() string {
 41205  	return awsutil.Prettify(s)
 41206  }
 41207  
 41208  // GoString returns the string representation.
 41209  //
 41210  // API parameter values that are decorated as "sensitive" in the API will not
 41211  // be included in the string output. The member name will be present, but the
 41212  // value will be replaced with "sensitive".
 41213  func (s UpdateBucketOutput) GoString() string {
 41214  	return s.String()
 41215  }
 41216  
 41217  // SetBucket sets the Bucket field's value.
 41218  func (s *UpdateBucketOutput) SetBucket(v *Bucket) *UpdateBucketOutput {
 41219  	s.Bucket = v
 41220  	return s
 41221  }
 41222  
 41223  // SetOperations sets the Operations field's value.
 41224  func (s *UpdateBucketOutput) SetOperations(v []*Operation) *UpdateBucketOutput {
 41225  	s.Operations = v
 41226  	return s
 41227  }
 41228  
 41229  type UpdateContainerServiceInput struct {
 41230  	_ struct{} `type:"structure"`
 41231  
 41232  	// A Boolean value to indicate whether the container service is disabled.
 41233  	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
 41234  
 41235  	// The power for the container service.
 41236  	//
 41237  	// The power specifies the amount of memory, vCPUs, and base monthly cost of
 41238  	// each node of the container service. The power and scale of a container service
 41239  	// makes up its configured capacity. To determine the monthly price of your
 41240  	// container service, multiply the base price of the power with the scale (the
 41241  	// number of nodes) of the service.
 41242  	//
 41243  	// Use the GetContainerServicePowers action to view the specifications of each
 41244  	// power option.
 41245  	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
 41246  
 41247  	// The public domain names to use with the container service, such as example.com
 41248  	// and www.example.com.
 41249  	//
 41250  	// You can specify up to four public domain names for a container service. The
 41251  	// domain names that you specify are used when you create a deployment with
 41252  	// a container configured as the public endpoint of your container service.
 41253  	//
 41254  	// If you don't specify public domain names, then you can use the default domain
 41255  	// of the container service.
 41256  	//
 41257  	// You must create and validate an SSL/TLS certificate before you can use public
 41258  	// domain names with your container service. Use the CreateCertificate action
 41259  	// to create a certificate for the public domain names you want to use with
 41260  	// your container service.
 41261  	//
 41262  	// You can specify public domain names using a string to array map as shown
 41263  	// in the example later on this page.
 41264  	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
 41265  
 41266  	// The scale for the container service.
 41267  	//
 41268  	// The scale specifies the allocated compute nodes of the container service.
 41269  	// The power and scale of a container service makes up its configured capacity.
 41270  	// To determine the monthly price of your container service, multiply the base
 41271  	// price of the power with the scale (the number of nodes) of the service.
 41272  	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
 41273  
 41274  	// The name of the container service to update.
 41275  	//
 41276  	// ServiceName is a required field
 41277  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 41278  }
 41279  
 41280  // String returns the string representation.
 41281  //
 41282  // API parameter values that are decorated as "sensitive" in the API will not
 41283  // be included in the string output. The member name will be present, but the
 41284  // value will be replaced with "sensitive".
 41285  func (s UpdateContainerServiceInput) String() string {
 41286  	return awsutil.Prettify(s)
 41287  }
 41288  
 41289  // GoString returns the string representation.
 41290  //
 41291  // API parameter values that are decorated as "sensitive" in the API will not
 41292  // be included in the string output. The member name will be present, but the
 41293  // value will be replaced with "sensitive".
 41294  func (s UpdateContainerServiceInput) GoString() string {
 41295  	return s.String()
 41296  }
 41297  
 41298  // Validate inspects the fields of the type to determine if they are valid.
 41299  func (s *UpdateContainerServiceInput) Validate() error {
 41300  	invalidParams := request.ErrInvalidParams{Context: "UpdateContainerServiceInput"}
 41301  	if s.Scale != nil && *s.Scale < 1 {
 41302  		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
 41303  	}
 41304  	if s.ServiceName == nil {
 41305  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 41306  	}
 41307  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 41308  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 41309  	}
 41310  
 41311  	if invalidParams.Len() > 0 {
 41312  		return invalidParams
 41313  	}
 41314  	return nil
 41315  }
 41316  
 41317  // SetIsDisabled sets the IsDisabled field's value.
 41318  func (s *UpdateContainerServiceInput) SetIsDisabled(v bool) *UpdateContainerServiceInput {
 41319  	s.IsDisabled = &v
 41320  	return s
 41321  }
 41322  
 41323  // SetPower sets the Power field's value.
 41324  func (s *UpdateContainerServiceInput) SetPower(v string) *UpdateContainerServiceInput {
 41325  	s.Power = &v
 41326  	return s
 41327  }
 41328  
 41329  // SetPublicDomainNames sets the PublicDomainNames field's value.
 41330  func (s *UpdateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *UpdateContainerServiceInput {
 41331  	s.PublicDomainNames = v
 41332  	return s
 41333  }
 41334  
 41335  // SetScale sets the Scale field's value.
 41336  func (s *UpdateContainerServiceInput) SetScale(v int64) *UpdateContainerServiceInput {
 41337  	s.Scale = &v
 41338  	return s
 41339  }
 41340  
 41341  // SetServiceName sets the ServiceName field's value.
 41342  func (s *UpdateContainerServiceInput) SetServiceName(v string) *UpdateContainerServiceInput {
 41343  	s.ServiceName = &v
 41344  	return s
 41345  }
 41346  
 41347  type UpdateContainerServiceOutput struct {
 41348  	_ struct{} `type:"structure"`
 41349  
 41350  	// An object that describes a container service.
 41351  	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
 41352  }
 41353  
 41354  // String returns the string representation.
 41355  //
 41356  // API parameter values that are decorated as "sensitive" in the API will not
 41357  // be included in the string output. The member name will be present, but the
 41358  // value will be replaced with "sensitive".
 41359  func (s UpdateContainerServiceOutput) String() string {
 41360  	return awsutil.Prettify(s)
 41361  }
 41362  
 41363  // GoString returns the string representation.
 41364  //
 41365  // API parameter values that are decorated as "sensitive" in the API will not
 41366  // be included in the string output. The member name will be present, but the
 41367  // value will be replaced with "sensitive".
 41368  func (s UpdateContainerServiceOutput) GoString() string {
 41369  	return s.String()
 41370  }
 41371  
 41372  // SetContainerService sets the ContainerService field's value.
 41373  func (s *UpdateContainerServiceOutput) SetContainerService(v *ContainerService) *UpdateContainerServiceOutput {
 41374  	s.ContainerService = v
 41375  	return s
 41376  }
 41377  
 41378  type UpdateDistributionBundleInput struct {
 41379  	_ struct{} `type:"structure"`
 41380  
 41381  	// The bundle ID of the new bundle to apply to your distribution.
 41382  	//
 41383  	// Use the GetDistributionBundles action to get a list of distribution bundle
 41384  	// IDs that you can specify.
 41385  	BundleId *string `locationName:"bundleId" type:"string"`
 41386  
 41387  	// The name of the distribution for which to update the bundle.
 41388  	//
 41389  	// Use the GetDistributions action to get a list of distribution names that
 41390  	// you can specify.
 41391  	DistributionName *string `locationName:"distributionName" type:"string"`
 41392  }
 41393  
 41394  // String returns the string representation.
 41395  //
 41396  // API parameter values that are decorated as "sensitive" in the API will not
 41397  // be included in the string output. The member name will be present, but the
 41398  // value will be replaced with "sensitive".
 41399  func (s UpdateDistributionBundleInput) String() string {
 41400  	return awsutil.Prettify(s)
 41401  }
 41402  
 41403  // GoString returns the string representation.
 41404  //
 41405  // API parameter values that are decorated as "sensitive" in the API will not
 41406  // be included in the string output. The member name will be present, but the
 41407  // value will be replaced with "sensitive".
 41408  func (s UpdateDistributionBundleInput) GoString() string {
 41409  	return s.String()
 41410  }
 41411  
 41412  // SetBundleId sets the BundleId field's value.
 41413  func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput {
 41414  	s.BundleId = &v
 41415  	return s
 41416  }
 41417  
 41418  // SetDistributionName sets the DistributionName field's value.
 41419  func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput {
 41420  	s.DistributionName = &v
 41421  	return s
 41422  }
 41423  
 41424  type UpdateDistributionBundleOutput struct {
 41425  	_ struct{} `type:"structure"`
 41426  
 41427  	// Describes the API operation.
 41428  	Operation *Operation `locationName:"operation" type:"structure"`
 41429  }
 41430  
 41431  // String returns the string representation.
 41432  //
 41433  // API parameter values that are decorated as "sensitive" in the API will not
 41434  // be included in the string output. The member name will be present, but the
 41435  // value will be replaced with "sensitive".
 41436  func (s UpdateDistributionBundleOutput) String() string {
 41437  	return awsutil.Prettify(s)
 41438  }
 41439  
 41440  // GoString returns the string representation.
 41441  //
 41442  // API parameter values that are decorated as "sensitive" in the API will not
 41443  // be included in the string output. The member name will be present, but the
 41444  // value will be replaced with "sensitive".
 41445  func (s UpdateDistributionBundleOutput) GoString() string {
 41446  	return s.String()
 41447  }
 41448  
 41449  // SetOperation sets the Operation field's value.
 41450  func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput {
 41451  	s.Operation = v
 41452  	return s
 41453  }
 41454  
 41455  type UpdateDistributionInput struct {
 41456  	_ struct{} `type:"structure"`
 41457  
 41458  	// An object that describes the cache behavior settings for the distribution.
 41459  	//
 41460  	// The cacheBehaviorSettings specified in your UpdateDistributionRequest will
 41461  	// replace your distribution's existing settings.
 41462  	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
 41463  
 41464  	// An array of objects that describe the per-path cache behavior for the distribution.
 41465  	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
 41466  
 41467  	// An object that describes the default cache behavior for the distribution.
 41468  	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
 41469  
 41470  	// The name of the distribution to update.
 41471  	//
 41472  	// Use the GetDistributions action to get a list of distribution names that
 41473  	// you can specify.
 41474  	//
 41475  	// DistributionName is a required field
 41476  	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
 41477  
 41478  	// Indicates whether to enable the distribution.
 41479  	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
 41480  
 41481  	// An object that describes the origin resource for the distribution, such as
 41482  	// a Lightsail instance or load balancer.
 41483  	//
 41484  	// The distribution pulls, caches, and serves content from the origin.
 41485  	Origin *InputOrigin `locationName:"origin" type:"structure"`
 41486  }
 41487  
 41488  // String returns the string representation.
 41489  //
 41490  // API parameter values that are decorated as "sensitive" in the API will not
 41491  // be included in the string output. The member name will be present, but the
 41492  // value will be replaced with "sensitive".
 41493  func (s UpdateDistributionInput) String() string {
 41494  	return awsutil.Prettify(s)
 41495  }
 41496  
 41497  // GoString returns the string representation.
 41498  //
 41499  // API parameter values that are decorated as "sensitive" in the API will not
 41500  // be included in the string output. The member name will be present, but the
 41501  // value will be replaced with "sensitive".
 41502  func (s UpdateDistributionInput) GoString() string {
 41503  	return s.String()
 41504  }
 41505  
 41506  // Validate inspects the fields of the type to determine if they are valid.
 41507  func (s *UpdateDistributionInput) Validate() error {
 41508  	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
 41509  	if s.DistributionName == nil {
 41510  		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
 41511  	}
 41512  
 41513  	if invalidParams.Len() > 0 {
 41514  		return invalidParams
 41515  	}
 41516  	return nil
 41517  }
 41518  
 41519  // SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
 41520  func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput {
 41521  	s.CacheBehaviorSettings = v
 41522  	return s
 41523  }
 41524  
 41525  // SetCacheBehaviors sets the CacheBehaviors field's value.
 41526  func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput {
 41527  	s.CacheBehaviors = v
 41528  	return s
 41529  }
 41530  
 41531  // SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
 41532  func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput {
 41533  	s.DefaultCacheBehavior = v
 41534  	return s
 41535  }
 41536  
 41537  // SetDistributionName sets the DistributionName field's value.
 41538  func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput {
 41539  	s.DistributionName = &v
 41540  	return s
 41541  }
 41542  
 41543  // SetIsEnabled sets the IsEnabled field's value.
 41544  func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput {
 41545  	s.IsEnabled = &v
 41546  	return s
 41547  }
 41548  
 41549  // SetOrigin sets the Origin field's value.
 41550  func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput {
 41551  	s.Origin = v
 41552  	return s
 41553  }
 41554  
 41555  type UpdateDistributionOutput struct {
 41556  	_ struct{} `type:"structure"`
 41557  
 41558  	// An array of objects that describe the result of the action, such as the status
 41559  	// of the request, the timestamp of the request, and the resources affected
 41560  	// by the request.
 41561  	Operation *Operation `locationName:"operation" type:"structure"`
 41562  }
 41563  
 41564  // String returns the string representation.
 41565  //
 41566  // API parameter values that are decorated as "sensitive" in the API will not
 41567  // be included in the string output. The member name will be present, but the
 41568  // value will be replaced with "sensitive".
 41569  func (s UpdateDistributionOutput) String() string {
 41570  	return awsutil.Prettify(s)
 41571  }
 41572  
 41573  // GoString returns the string representation.
 41574  //
 41575  // API parameter values that are decorated as "sensitive" in the API will not
 41576  // be included in the string output. The member name will be present, but the
 41577  // value will be replaced with "sensitive".
 41578  func (s UpdateDistributionOutput) GoString() string {
 41579  	return s.String()
 41580  }
 41581  
 41582  // SetOperation sets the Operation field's value.
 41583  func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput {
 41584  	s.Operation = v
 41585  	return s
 41586  }
 41587  
 41588  type UpdateDomainEntryInput struct {
 41589  	_ struct{} `type:"structure"`
 41590  
 41591  	// An array of key-value pairs containing information about the domain entry.
 41592  	//
 41593  	// DomainEntry is a required field
 41594  	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
 41595  
 41596  	// The name of the domain recordset to update.
 41597  	//
 41598  	// DomainName is a required field
 41599  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 41600  }
 41601  
 41602  // String returns the string representation.
 41603  //
 41604  // API parameter values that are decorated as "sensitive" in the API will not
 41605  // be included in the string output. The member name will be present, but the
 41606  // value will be replaced with "sensitive".
 41607  func (s UpdateDomainEntryInput) String() string {
 41608  	return awsutil.Prettify(s)
 41609  }
 41610  
 41611  // GoString returns the string representation.
 41612  //
 41613  // API parameter values that are decorated as "sensitive" in the API will not
 41614  // be included in the string output. The member name will be present, but the
 41615  // value will be replaced with "sensitive".
 41616  func (s UpdateDomainEntryInput) GoString() string {
 41617  	return s.String()
 41618  }
 41619  
 41620  // Validate inspects the fields of the type to determine if they are valid.
 41621  func (s *UpdateDomainEntryInput) Validate() error {
 41622  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
 41623  	if s.DomainEntry == nil {
 41624  		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
 41625  	}
 41626  	if s.DomainName == nil {
 41627  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 41628  	}
 41629  
 41630  	if invalidParams.Len() > 0 {
 41631  		return invalidParams
 41632  	}
 41633  	return nil
 41634  }
 41635  
 41636  // SetDomainEntry sets the DomainEntry field's value.
 41637  func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
 41638  	s.DomainEntry = v
 41639  	return s
 41640  }
 41641  
 41642  // SetDomainName sets the DomainName field's value.
 41643  func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
 41644  	s.DomainName = &v
 41645  	return s
 41646  }
 41647  
 41648  type UpdateDomainEntryOutput struct {
 41649  	_ struct{} `type:"structure"`
 41650  
 41651  	// An array of objects that describe the result of the action, such as the status
 41652  	// of the request, the timestamp of the request, and the resources affected
 41653  	// by the request.
 41654  	Operations []*Operation `locationName:"operations" type:"list"`
 41655  }
 41656  
 41657  // String returns the string representation.
 41658  //
 41659  // API parameter values that are decorated as "sensitive" in the API will not
 41660  // be included in the string output. The member name will be present, but the
 41661  // value will be replaced with "sensitive".
 41662  func (s UpdateDomainEntryOutput) String() string {
 41663  	return awsutil.Prettify(s)
 41664  }
 41665  
 41666  // GoString returns the string representation.
 41667  //
 41668  // API parameter values that are decorated as "sensitive" in the API will not
 41669  // be included in the string output. The member name will be present, but the
 41670  // value will be replaced with "sensitive".
 41671  func (s UpdateDomainEntryOutput) GoString() string {
 41672  	return s.String()
 41673  }
 41674  
 41675  // SetOperations sets the Operations field's value.
 41676  func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
 41677  	s.Operations = v
 41678  	return s
 41679  }
 41680  
 41681  type UpdateLoadBalancerAttributeInput struct {
 41682  	_ struct{} `type:"structure"`
 41683  
 41684  	// The name of the attribute you want to update. Valid values are below.
 41685  	//
 41686  	// AttributeName is a required field
 41687  	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
 41688  
 41689  	// The value that you want to specify for the attribute name.
 41690  	//
 41691  	// AttributeValue is a required field
 41692  	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
 41693  
 41694  	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
 41695  	//
 41696  	// LoadBalancerName is a required field
 41697  	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
 41698  }
 41699  
 41700  // String returns the string representation.
 41701  //
 41702  // API parameter values that are decorated as "sensitive" in the API will not
 41703  // be included in the string output. The member name will be present, but the
 41704  // value will be replaced with "sensitive".
 41705  func (s UpdateLoadBalancerAttributeInput) String() string {
 41706  	return awsutil.Prettify(s)
 41707  }
 41708  
 41709  // GoString returns the string representation.
 41710  //
 41711  // API parameter values that are decorated as "sensitive" in the API will not
 41712  // be included in the string output. The member name will be present, but the
 41713  // value will be replaced with "sensitive".
 41714  func (s UpdateLoadBalancerAttributeInput) GoString() string {
 41715  	return s.String()
 41716  }
 41717  
 41718  // Validate inspects the fields of the type to determine if they are valid.
 41719  func (s *UpdateLoadBalancerAttributeInput) Validate() error {
 41720  	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
 41721  	if s.AttributeName == nil {
 41722  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 41723  	}
 41724  	if s.AttributeValue == nil {
 41725  		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
 41726  	}
 41727  	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
 41728  		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
 41729  	}
 41730  	if s.LoadBalancerName == nil {
 41731  		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
 41732  	}
 41733  
 41734  	if invalidParams.Len() > 0 {
 41735  		return invalidParams
 41736  	}
 41737  	return nil
 41738  }
 41739  
 41740  // SetAttributeName sets the AttributeName field's value.
 41741  func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
 41742  	s.AttributeName = &v
 41743  	return s
 41744  }
 41745  
 41746  // SetAttributeValue sets the AttributeValue field's value.
 41747  func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
 41748  	s.AttributeValue = &v
 41749  	return s
 41750  }
 41751  
 41752  // SetLoadBalancerName sets the LoadBalancerName field's value.
 41753  func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
 41754  	s.LoadBalancerName = &v
 41755  	return s
 41756  }
 41757  
 41758  type UpdateLoadBalancerAttributeOutput struct {
 41759  	_ struct{} `type:"structure"`
 41760  
 41761  	// An array of objects that describe the result of the action, such as the status
 41762  	// of the request, the timestamp of the request, and the resources affected
 41763  	// by the request.
 41764  	Operations []*Operation `locationName:"operations" type:"list"`
 41765  }
 41766  
 41767  // String returns the string representation.
 41768  //
 41769  // API parameter values that are decorated as "sensitive" in the API will not
 41770  // be included in the string output. The member name will be present, but the
 41771  // value will be replaced with "sensitive".
 41772  func (s UpdateLoadBalancerAttributeOutput) String() string {
 41773  	return awsutil.Prettify(s)
 41774  }
 41775  
 41776  // GoString returns the string representation.
 41777  //
 41778  // API parameter values that are decorated as "sensitive" in the API will not
 41779  // be included in the string output. The member name will be present, but the
 41780  // value will be replaced with "sensitive".
 41781  func (s UpdateLoadBalancerAttributeOutput) GoString() string {
 41782  	return s.String()
 41783  }
 41784  
 41785  // SetOperations sets the Operations field's value.
 41786  func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
 41787  	s.Operations = v
 41788  	return s
 41789  }
 41790  
 41791  type UpdateRelationalDatabaseInput struct {
 41792  	_ struct{} `type:"structure"`
 41793  
 41794  	// When true, applies changes immediately. When false, applies changes during
 41795  	// the preferred maintenance window. Some changes may cause an outage.
 41796  	//
 41797  	// Default: false
 41798  	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
 41799  
 41800  	// Indicates the certificate that needs to be associated with the database.
 41801  	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
 41802  
 41803  	// When true, disables automated backup retention for your database.
 41804  	//
 41805  	// Disabling backup retention deletes all automated database backups. Before
 41806  	// disabling this, you may want to create a snapshot of your database using
 41807  	// the create relational database snapshot operation.
 41808  	//
 41809  	// Updates are applied during the next maintenance window because this can result
 41810  	// in an outage.
 41811  	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
 41812  
 41813  	// When true, enables automated backup retention for your database.
 41814  	//
 41815  	// Updates are applied during the next maintenance window because this can result
 41816  	// in an outage.
 41817  	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
 41818  
 41819  	// The password for the master user. The password can include any printable
 41820  	// ASCII character except "/", """, or "@".
 41821  	//
 41822  	// MySQL
 41823  	//
 41824  	// Constraints: Must contain from 8 to 41 characters.
 41825  	//
 41826  	// PostgreSQL
 41827  	//
 41828  	// Constraints: Must contain from 8 to 128 characters.
 41829  	//
 41830  	// MasterUserPassword is a sensitive parameter and its value will be
 41831  	// replaced with "sensitive" in string returned by UpdateRelationalDatabaseInput's
 41832  	// String and GoString methods.
 41833  	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
 41834  
 41835  	// The daily time range during which automated backups are created for your
 41836  	// database if automated backups are enabled.
 41837  	//
 41838  	// Constraints:
 41839  	//
 41840  	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
 41841  	//
 41842  	//    * Specified in Coordinated Universal Time (UTC).
 41843  	//
 41844  	//    * Must not conflict with the preferred maintenance window.
 41845  	//
 41846  	//    * Must be at least 30 minutes.
 41847  	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
 41848  
 41849  	// The weekly time range during which system maintenance can occur on your database.
 41850  	//
 41851  	// The default is a 30-minute window selected at random from an 8-hour block
 41852  	// of time for each AWS Region, occurring on a random day of the week.
 41853  	//
 41854  	// Constraints:
 41855  	//
 41856  	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
 41857  	//
 41858  	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 41859  	//
 41860  	//    * Must be at least 30 minutes.
 41861  	//
 41862  	//    * Specified in Coordinated Universal Time (UTC).
 41863  	//
 41864  	//    * Example: Tue:17:00-Tue:17:30
 41865  	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
 41866  
 41867  	// Specifies the accessibility options for your database. A value of true specifies
 41868  	// a database that is available to resources outside of your Lightsail account.
 41869  	// A value of false specifies a database that is available only to your Lightsail
 41870  	// resources in the same region as your database.
 41871  	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
 41872  
 41873  	// The name of your Lightsail database resource to update.
 41874  	//
 41875  	// RelationalDatabaseName is a required field
 41876  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 41877  
 41878  	// When true, the master user password is changed to a new strong password generated
 41879  	// by Lightsail.
 41880  	//
 41881  	// Use the get relational database master user password operation to get the
 41882  	// new password.
 41883  	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
 41884  }
 41885  
 41886  // String returns the string representation.
 41887  //
 41888  // API parameter values that are decorated as "sensitive" in the API will not
 41889  // be included in the string output. The member name will be present, but the
 41890  // value will be replaced with "sensitive".
 41891  func (s UpdateRelationalDatabaseInput) String() string {
 41892  	return awsutil.Prettify(s)
 41893  }
 41894  
 41895  // GoString returns the string representation.
 41896  //
 41897  // API parameter values that are decorated as "sensitive" in the API will not
 41898  // be included in the string output. The member name will be present, but the
 41899  // value will be replaced with "sensitive".
 41900  func (s UpdateRelationalDatabaseInput) GoString() string {
 41901  	return s.String()
 41902  }
 41903  
 41904  // Validate inspects the fields of the type to determine if they are valid.
 41905  func (s *UpdateRelationalDatabaseInput) Validate() error {
 41906  	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
 41907  	if s.RelationalDatabaseName == nil {
 41908  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 41909  	}
 41910  
 41911  	if invalidParams.Len() > 0 {
 41912  		return invalidParams
 41913  	}
 41914  	return nil
 41915  }
 41916  
 41917  // SetApplyImmediately sets the ApplyImmediately field's value.
 41918  func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
 41919  	s.ApplyImmediately = &v
 41920  	return s
 41921  }
 41922  
 41923  // SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
 41924  func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
 41925  	s.CaCertificateIdentifier = &v
 41926  	return s
 41927  }
 41928  
 41929  // SetDisableBackupRetention sets the DisableBackupRetention field's value.
 41930  func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
 41931  	s.DisableBackupRetention = &v
 41932  	return s
 41933  }
 41934  
 41935  // SetEnableBackupRetention sets the EnableBackupRetention field's value.
 41936  func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
 41937  	s.EnableBackupRetention = &v
 41938  	return s
 41939  }
 41940  
 41941  // SetMasterUserPassword sets the MasterUserPassword field's value.
 41942  func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
 41943  	s.MasterUserPassword = &v
 41944  	return s
 41945  }
 41946  
 41947  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 41948  func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
 41949  	s.PreferredBackupWindow = &v
 41950  	return s
 41951  }
 41952  
 41953  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 41954  func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
 41955  	s.PreferredMaintenanceWindow = &v
 41956  	return s
 41957  }
 41958  
 41959  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 41960  func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
 41961  	s.PubliclyAccessible = &v
 41962  	return s
 41963  }
 41964  
 41965  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 41966  func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
 41967  	s.RelationalDatabaseName = &v
 41968  	return s
 41969  }
 41970  
 41971  // SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
 41972  func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
 41973  	s.RotateMasterUserPassword = &v
 41974  	return s
 41975  }
 41976  
 41977  type UpdateRelationalDatabaseOutput struct {
 41978  	_ struct{} `type:"structure"`
 41979  
 41980  	// An array of objects that describe the result of the action, such as the status
 41981  	// of the request, the timestamp of the request, and the resources affected
 41982  	// by the request.
 41983  	Operations []*Operation `locationName:"operations" type:"list"`
 41984  }
 41985  
 41986  // String returns the string representation.
 41987  //
 41988  // API parameter values that are decorated as "sensitive" in the API will not
 41989  // be included in the string output. The member name will be present, but the
 41990  // value will be replaced with "sensitive".
 41991  func (s UpdateRelationalDatabaseOutput) String() string {
 41992  	return awsutil.Prettify(s)
 41993  }
 41994  
 41995  // GoString returns the string representation.
 41996  //
 41997  // API parameter values that are decorated as "sensitive" in the API will not
 41998  // be included in the string output. The member name will be present, but the
 41999  // value will be replaced with "sensitive".
 42000  func (s UpdateRelationalDatabaseOutput) GoString() string {
 42001  	return s.String()
 42002  }
 42003  
 42004  // SetOperations sets the Operations field's value.
 42005  func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
 42006  	s.Operations = v
 42007  	return s
 42008  }
 42009  
 42010  type UpdateRelationalDatabaseParametersInput struct {
 42011  	_ struct{} `type:"structure"`
 42012  
 42013  	// The database parameters to update.
 42014  	//
 42015  	// Parameters is a required field
 42016  	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
 42017  
 42018  	// The name of your database for which to update parameters.
 42019  	//
 42020  	// RelationalDatabaseName is a required field
 42021  	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
 42022  }
 42023  
 42024  // String returns the string representation.
 42025  //
 42026  // API parameter values that are decorated as "sensitive" in the API will not
 42027  // be included in the string output. The member name will be present, but the
 42028  // value will be replaced with "sensitive".
 42029  func (s UpdateRelationalDatabaseParametersInput) String() string {
 42030  	return awsutil.Prettify(s)
 42031  }
 42032  
 42033  // GoString returns the string representation.
 42034  //
 42035  // API parameter values that are decorated as "sensitive" in the API will not
 42036  // be included in the string output. The member name will be present, but the
 42037  // value will be replaced with "sensitive".
 42038  func (s UpdateRelationalDatabaseParametersInput) GoString() string {
 42039  	return s.String()
 42040  }
 42041  
 42042  // Validate inspects the fields of the type to determine if they are valid.
 42043  func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
 42044  	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
 42045  	if s.Parameters == nil {
 42046  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 42047  	}
 42048  	if s.RelationalDatabaseName == nil {
 42049  		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
 42050  	}
 42051  
 42052  	if invalidParams.Len() > 0 {
 42053  		return invalidParams
 42054  	}
 42055  	return nil
 42056  }
 42057  
 42058  // SetParameters sets the Parameters field's value.
 42059  func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
 42060  	s.Parameters = v
 42061  	return s
 42062  }
 42063  
 42064  // SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
 42065  func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
 42066  	s.RelationalDatabaseName = &v
 42067  	return s
 42068  }
 42069  
 42070  type UpdateRelationalDatabaseParametersOutput struct {
 42071  	_ struct{} `type:"structure"`
 42072  
 42073  	// An array of objects that describe the result of the action, such as the status
 42074  	// of the request, the timestamp of the request, and the resources affected
 42075  	// by the request.
 42076  	Operations []*Operation `locationName:"operations" type:"list"`
 42077  }
 42078  
 42079  // String returns the string representation.
 42080  //
 42081  // API parameter values that are decorated as "sensitive" in the API will not
 42082  // be included in the string output. The member name will be present, but the
 42083  // value will be replaced with "sensitive".
 42084  func (s UpdateRelationalDatabaseParametersOutput) String() string {
 42085  	return awsutil.Prettify(s)
 42086  }
 42087  
 42088  // GoString returns the string representation.
 42089  //
 42090  // API parameter values that are decorated as "sensitive" in the API will not
 42091  // be included in the string output. The member name will be present, but the
 42092  // value will be replaced with "sensitive".
 42093  func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
 42094  	return s.String()
 42095  }
 42096  
 42097  // SetOperations sets the Operations field's value.
 42098  func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
 42099  	s.Operations = v
 42100  	return s
 42101  }
 42102  
 42103  const (
 42104  	// AccessDirectionInbound is a AccessDirection enum value
 42105  	AccessDirectionInbound = "inbound"
 42106  
 42107  	// AccessDirectionOutbound is a AccessDirection enum value
 42108  	AccessDirectionOutbound = "outbound"
 42109  )
 42110  
 42111  // AccessDirection_Values returns all elements of the AccessDirection enum
 42112  func AccessDirection_Values() []string {
 42113  	return []string{
 42114  		AccessDirectionInbound,
 42115  		AccessDirectionOutbound,
 42116  	}
 42117  }
 42118  
 42119  const (
 42120  	// AccessTypePublic is a AccessType enum value
 42121  	AccessTypePublic = "public"
 42122  
 42123  	// AccessTypePrivate is a AccessType enum value
 42124  	AccessTypePrivate = "private"
 42125  )
 42126  
 42127  // AccessType_Values returns all elements of the AccessType enum
 42128  func AccessType_Values() []string {
 42129  	return []string{
 42130  		AccessTypePublic,
 42131  		AccessTypePrivate,
 42132  	}
 42133  }
 42134  
 42135  const (
 42136  	// AddOnTypeAutoSnapshot is a AddOnType enum value
 42137  	AddOnTypeAutoSnapshot = "AutoSnapshot"
 42138  )
 42139  
 42140  // AddOnType_Values returns all elements of the AddOnType enum
 42141  func AddOnType_Values() []string {
 42142  	return []string{
 42143  		AddOnTypeAutoSnapshot,
 42144  	}
 42145  }
 42146  
 42147  const (
 42148  	// AlarmStateOk is a AlarmState enum value
 42149  	AlarmStateOk = "OK"
 42150  
 42151  	// AlarmStateAlarm is a AlarmState enum value
 42152  	AlarmStateAlarm = "ALARM"
 42153  
 42154  	// AlarmStateInsufficientData is a AlarmState enum value
 42155  	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
 42156  )
 42157  
 42158  // AlarmState_Values returns all elements of the AlarmState enum
 42159  func AlarmState_Values() []string {
 42160  	return []string{
 42161  		AlarmStateOk,
 42162  		AlarmStateAlarm,
 42163  		AlarmStateInsufficientData,
 42164  	}
 42165  }
 42166  
 42167  const (
 42168  	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
 42169  	AutoSnapshotStatusSuccess = "Success"
 42170  
 42171  	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
 42172  	AutoSnapshotStatusFailed = "Failed"
 42173  
 42174  	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
 42175  	AutoSnapshotStatusInProgress = "InProgress"
 42176  
 42177  	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
 42178  	AutoSnapshotStatusNotFound = "NotFound"
 42179  )
 42180  
 42181  // AutoSnapshotStatus_Values returns all elements of the AutoSnapshotStatus enum
 42182  func AutoSnapshotStatus_Values() []string {
 42183  	return []string{
 42184  		AutoSnapshotStatusSuccess,
 42185  		AutoSnapshotStatusFailed,
 42186  		AutoSnapshotStatusInProgress,
 42187  		AutoSnapshotStatusNotFound,
 42188  	}
 42189  }
 42190  
 42191  const (
 42192  	// BehaviorEnumDontCache is a BehaviorEnum enum value
 42193  	BehaviorEnumDontCache = "dont-cache"
 42194  
 42195  	// BehaviorEnumCache is a BehaviorEnum enum value
 42196  	BehaviorEnumCache = "cache"
 42197  )
 42198  
 42199  // BehaviorEnum_Values returns all elements of the BehaviorEnum enum
 42200  func BehaviorEnum_Values() []string {
 42201  	return []string{
 42202  		BehaviorEnumDontCache,
 42203  		BehaviorEnumCache,
 42204  	}
 42205  }
 42206  
 42207  const (
 42208  	// BlueprintTypeOs is a BlueprintType enum value
 42209  	BlueprintTypeOs = "os"
 42210  
 42211  	// BlueprintTypeApp is a BlueprintType enum value
 42212  	BlueprintTypeApp = "app"
 42213  )
 42214  
 42215  // BlueprintType_Values returns all elements of the BlueprintType enum
 42216  func BlueprintType_Values() []string {
 42217  	return []string{
 42218  		BlueprintTypeOs,
 42219  		BlueprintTypeApp,
 42220  	}
 42221  }
 42222  
 42223  const (
 42224  	// BucketMetricNameBucketSizeBytes is a BucketMetricName enum value
 42225  	BucketMetricNameBucketSizeBytes = "BucketSizeBytes"
 42226  
 42227  	// BucketMetricNameNumberOfObjects is a BucketMetricName enum value
 42228  	BucketMetricNameNumberOfObjects = "NumberOfObjects"
 42229  )
 42230  
 42231  // BucketMetricName_Values returns all elements of the BucketMetricName enum
 42232  func BucketMetricName_Values() []string {
 42233  	return []string{
 42234  		BucketMetricNameBucketSizeBytes,
 42235  		BucketMetricNameNumberOfObjects,
 42236  	}
 42237  }
 42238  
 42239  const (
 42240  	// CertificateStatusPendingValidation is a CertificateStatus enum value
 42241  	CertificateStatusPendingValidation = "PENDING_VALIDATION"
 42242  
 42243  	// CertificateStatusIssued is a CertificateStatus enum value
 42244  	CertificateStatusIssued = "ISSUED"
 42245  
 42246  	// CertificateStatusInactive is a CertificateStatus enum value
 42247  	CertificateStatusInactive = "INACTIVE"
 42248  
 42249  	// CertificateStatusExpired is a CertificateStatus enum value
 42250  	CertificateStatusExpired = "EXPIRED"
 42251  
 42252  	// CertificateStatusValidationTimedOut is a CertificateStatus enum value
 42253  	CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
 42254  
 42255  	// CertificateStatusRevoked is a CertificateStatus enum value
 42256  	CertificateStatusRevoked = "REVOKED"
 42257  
 42258  	// CertificateStatusFailed is a CertificateStatus enum value
 42259  	CertificateStatusFailed = "FAILED"
 42260  )
 42261  
 42262  // CertificateStatus_Values returns all elements of the CertificateStatus enum
 42263  func CertificateStatus_Values() []string {
 42264  	return []string{
 42265  		CertificateStatusPendingValidation,
 42266  		CertificateStatusIssued,
 42267  		CertificateStatusInactive,
 42268  		CertificateStatusExpired,
 42269  		CertificateStatusValidationTimedOut,
 42270  		CertificateStatusRevoked,
 42271  		CertificateStatusFailed,
 42272  	}
 42273  }
 42274  
 42275  const (
 42276  	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
 42277  	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
 42278  )
 42279  
 42280  // CloudFormationStackRecordSourceType_Values returns all elements of the CloudFormationStackRecordSourceType enum
 42281  func CloudFormationStackRecordSourceType_Values() []string {
 42282  	return []string{
 42283  		CloudFormationStackRecordSourceTypeExportSnapshotRecord,
 42284  	}
 42285  }
 42286  
 42287  const (
 42288  	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
 42289  	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
 42290  
 42291  	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
 42292  	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
 42293  
 42294  	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
 42295  	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
 42296  
 42297  	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
 42298  	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
 42299  )
 42300  
 42301  // ComparisonOperator_Values returns all elements of the ComparisonOperator enum
 42302  func ComparisonOperator_Values() []string {
 42303  	return []string{
 42304  		ComparisonOperatorGreaterThanOrEqualToThreshold,
 42305  		ComparisonOperatorGreaterThanThreshold,
 42306  		ComparisonOperatorLessThanThreshold,
 42307  		ComparisonOperatorLessThanOrEqualToThreshold,
 42308  	}
 42309  }
 42310  
 42311  const (
 42312  	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
 42313  	ContactMethodStatusPendingVerification = "PendingVerification"
 42314  
 42315  	// ContactMethodStatusValid is a ContactMethodStatus enum value
 42316  	ContactMethodStatusValid = "Valid"
 42317  
 42318  	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
 42319  	ContactMethodStatusInvalid = "Invalid"
 42320  )
 42321  
 42322  // ContactMethodStatus_Values returns all elements of the ContactMethodStatus enum
 42323  func ContactMethodStatus_Values() []string {
 42324  	return []string{
 42325  		ContactMethodStatusPendingVerification,
 42326  		ContactMethodStatusValid,
 42327  		ContactMethodStatusInvalid,
 42328  	}
 42329  }
 42330  
 42331  const (
 42332  	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
 42333  	ContactMethodVerificationProtocolEmail = "Email"
 42334  )
 42335  
 42336  // ContactMethodVerificationProtocol_Values returns all elements of the ContactMethodVerificationProtocol enum
 42337  func ContactMethodVerificationProtocol_Values() []string {
 42338  	return []string{
 42339  		ContactMethodVerificationProtocolEmail,
 42340  	}
 42341  }
 42342  
 42343  const (
 42344  	// ContactProtocolEmail is a ContactProtocol enum value
 42345  	ContactProtocolEmail = "Email"
 42346  
 42347  	// ContactProtocolSms is a ContactProtocol enum value
 42348  	ContactProtocolSms = "SMS"
 42349  )
 42350  
 42351  // ContactProtocol_Values returns all elements of the ContactProtocol enum
 42352  func ContactProtocol_Values() []string {
 42353  	return []string{
 42354  		ContactProtocolEmail,
 42355  		ContactProtocolSms,
 42356  	}
 42357  }
 42358  
 42359  const (
 42360  	// ContainerServiceDeploymentStateActivating is a ContainerServiceDeploymentState enum value
 42361  	ContainerServiceDeploymentStateActivating = "ACTIVATING"
 42362  
 42363  	// ContainerServiceDeploymentStateActive is a ContainerServiceDeploymentState enum value
 42364  	ContainerServiceDeploymentStateActive = "ACTIVE"
 42365  
 42366  	// ContainerServiceDeploymentStateInactive is a ContainerServiceDeploymentState enum value
 42367  	ContainerServiceDeploymentStateInactive = "INACTIVE"
 42368  
 42369  	// ContainerServiceDeploymentStateFailed is a ContainerServiceDeploymentState enum value
 42370  	ContainerServiceDeploymentStateFailed = "FAILED"
 42371  )
 42372  
 42373  // ContainerServiceDeploymentState_Values returns all elements of the ContainerServiceDeploymentState enum
 42374  func ContainerServiceDeploymentState_Values() []string {
 42375  	return []string{
 42376  		ContainerServiceDeploymentStateActivating,
 42377  		ContainerServiceDeploymentStateActive,
 42378  		ContainerServiceDeploymentStateInactive,
 42379  		ContainerServiceDeploymentStateFailed,
 42380  	}
 42381  }
 42382  
 42383  const (
 42384  	// ContainerServiceMetricNameCpuutilization is a ContainerServiceMetricName enum value
 42385  	ContainerServiceMetricNameCpuutilization = "CPUUtilization"
 42386  
 42387  	// ContainerServiceMetricNameMemoryUtilization is a ContainerServiceMetricName enum value
 42388  	ContainerServiceMetricNameMemoryUtilization = "MemoryUtilization"
 42389  )
 42390  
 42391  // ContainerServiceMetricName_Values returns all elements of the ContainerServiceMetricName enum
 42392  func ContainerServiceMetricName_Values() []string {
 42393  	return []string{
 42394  		ContainerServiceMetricNameCpuutilization,
 42395  		ContainerServiceMetricNameMemoryUtilization,
 42396  	}
 42397  }
 42398  
 42399  const (
 42400  	// ContainerServicePowerNameNano is a ContainerServicePowerName enum value
 42401  	ContainerServicePowerNameNano = "nano"
 42402  
 42403  	// ContainerServicePowerNameMicro is a ContainerServicePowerName enum value
 42404  	ContainerServicePowerNameMicro = "micro"
 42405  
 42406  	// ContainerServicePowerNameSmall is a ContainerServicePowerName enum value
 42407  	ContainerServicePowerNameSmall = "small"
 42408  
 42409  	// ContainerServicePowerNameMedium is a ContainerServicePowerName enum value
 42410  	ContainerServicePowerNameMedium = "medium"
 42411  
 42412  	// ContainerServicePowerNameLarge is a ContainerServicePowerName enum value
 42413  	ContainerServicePowerNameLarge = "large"
 42414  
 42415  	// ContainerServicePowerNameXlarge is a ContainerServicePowerName enum value
 42416  	ContainerServicePowerNameXlarge = "xlarge"
 42417  )
 42418  
 42419  // ContainerServicePowerName_Values returns all elements of the ContainerServicePowerName enum
 42420  func ContainerServicePowerName_Values() []string {
 42421  	return []string{
 42422  		ContainerServicePowerNameNano,
 42423  		ContainerServicePowerNameMicro,
 42424  		ContainerServicePowerNameSmall,
 42425  		ContainerServicePowerNameMedium,
 42426  		ContainerServicePowerNameLarge,
 42427  		ContainerServicePowerNameXlarge,
 42428  	}
 42429  }
 42430  
 42431  const (
 42432  	// ContainerServiceProtocolHttp is a ContainerServiceProtocol enum value
 42433  	ContainerServiceProtocolHttp = "HTTP"
 42434  
 42435  	// ContainerServiceProtocolHttps is a ContainerServiceProtocol enum value
 42436  	ContainerServiceProtocolHttps = "HTTPS"
 42437  
 42438  	// ContainerServiceProtocolTcp is a ContainerServiceProtocol enum value
 42439  	ContainerServiceProtocolTcp = "TCP"
 42440  
 42441  	// ContainerServiceProtocolUdp is a ContainerServiceProtocol enum value
 42442  	ContainerServiceProtocolUdp = "UDP"
 42443  )
 42444  
 42445  // ContainerServiceProtocol_Values returns all elements of the ContainerServiceProtocol enum
 42446  func ContainerServiceProtocol_Values() []string {
 42447  	return []string{
 42448  		ContainerServiceProtocolHttp,
 42449  		ContainerServiceProtocolHttps,
 42450  		ContainerServiceProtocolTcp,
 42451  		ContainerServiceProtocolUdp,
 42452  	}
 42453  }
 42454  
 42455  const (
 42456  	// ContainerServiceStatePending is a ContainerServiceState enum value
 42457  	ContainerServiceStatePending = "PENDING"
 42458  
 42459  	// ContainerServiceStateReady is a ContainerServiceState enum value
 42460  	ContainerServiceStateReady = "READY"
 42461  
 42462  	// ContainerServiceStateRunning is a ContainerServiceState enum value
 42463  	ContainerServiceStateRunning = "RUNNING"
 42464  
 42465  	// ContainerServiceStateUpdating is a ContainerServiceState enum value
 42466  	ContainerServiceStateUpdating = "UPDATING"
 42467  
 42468  	// ContainerServiceStateDeleting is a ContainerServiceState enum value
 42469  	ContainerServiceStateDeleting = "DELETING"
 42470  
 42471  	// ContainerServiceStateDisabled is a ContainerServiceState enum value
 42472  	ContainerServiceStateDisabled = "DISABLED"
 42473  
 42474  	// ContainerServiceStateDeploying is a ContainerServiceState enum value
 42475  	ContainerServiceStateDeploying = "DEPLOYING"
 42476  )
 42477  
 42478  // ContainerServiceState_Values returns all elements of the ContainerServiceState enum
 42479  func ContainerServiceState_Values() []string {
 42480  	return []string{
 42481  		ContainerServiceStatePending,
 42482  		ContainerServiceStateReady,
 42483  		ContainerServiceStateRunning,
 42484  		ContainerServiceStateUpdating,
 42485  		ContainerServiceStateDeleting,
 42486  		ContainerServiceStateDisabled,
 42487  		ContainerServiceStateDeploying,
 42488  	}
 42489  }
 42490  
 42491  const (
 42492  	// ContainerServiceStateDetailCodeCreatingSystemResources is a ContainerServiceStateDetailCode enum value
 42493  	ContainerServiceStateDetailCodeCreatingSystemResources = "CREATING_SYSTEM_RESOURCES"
 42494  
 42495  	// ContainerServiceStateDetailCodeCreatingNetworkInfrastructure is a ContainerServiceStateDetailCode enum value
 42496  	ContainerServiceStateDetailCodeCreatingNetworkInfrastructure = "CREATING_NETWORK_INFRASTRUCTURE"
 42497  
 42498  	// ContainerServiceStateDetailCodeProvisioningCertificate is a ContainerServiceStateDetailCode enum value
 42499  	ContainerServiceStateDetailCodeProvisioningCertificate = "PROVISIONING_CERTIFICATE"
 42500  
 42501  	// ContainerServiceStateDetailCodeProvisioningService is a ContainerServiceStateDetailCode enum value
 42502  	ContainerServiceStateDetailCodeProvisioningService = "PROVISIONING_SERVICE"
 42503  
 42504  	// ContainerServiceStateDetailCodeCreatingDeployment is a ContainerServiceStateDetailCode enum value
 42505  	ContainerServiceStateDetailCodeCreatingDeployment = "CREATING_DEPLOYMENT"
 42506  
 42507  	// ContainerServiceStateDetailCodeEvaluatingHealthCheck is a ContainerServiceStateDetailCode enum value
 42508  	ContainerServiceStateDetailCodeEvaluatingHealthCheck = "EVALUATING_HEALTH_CHECK"
 42509  
 42510  	// ContainerServiceStateDetailCodeActivatingDeployment is a ContainerServiceStateDetailCode enum value
 42511  	ContainerServiceStateDetailCodeActivatingDeployment = "ACTIVATING_DEPLOYMENT"
 42512  
 42513  	// ContainerServiceStateDetailCodeCertificateLimitExceeded is a ContainerServiceStateDetailCode enum value
 42514  	ContainerServiceStateDetailCodeCertificateLimitExceeded = "CERTIFICATE_LIMIT_EXCEEDED"
 42515  
 42516  	// ContainerServiceStateDetailCodeUnknownError is a ContainerServiceStateDetailCode enum value
 42517  	ContainerServiceStateDetailCodeUnknownError = "UNKNOWN_ERROR"
 42518  )
 42519  
 42520  // ContainerServiceStateDetailCode_Values returns all elements of the ContainerServiceStateDetailCode enum
 42521  func ContainerServiceStateDetailCode_Values() []string {
 42522  	return []string{
 42523  		ContainerServiceStateDetailCodeCreatingSystemResources,
 42524  		ContainerServiceStateDetailCodeCreatingNetworkInfrastructure,
 42525  		ContainerServiceStateDetailCodeProvisioningCertificate,
 42526  		ContainerServiceStateDetailCodeProvisioningService,
 42527  		ContainerServiceStateDetailCodeCreatingDeployment,
 42528  		ContainerServiceStateDetailCodeEvaluatingHealthCheck,
 42529  		ContainerServiceStateDetailCodeActivatingDeployment,
 42530  		ContainerServiceStateDetailCodeCertificateLimitExceeded,
 42531  		ContainerServiceStateDetailCodeUnknownError,
 42532  	}
 42533  }
 42534  
 42535  const (
 42536  	// DiskSnapshotStatePending is a DiskSnapshotState enum value
 42537  	DiskSnapshotStatePending = "pending"
 42538  
 42539  	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
 42540  	DiskSnapshotStateCompleted = "completed"
 42541  
 42542  	// DiskSnapshotStateError is a DiskSnapshotState enum value
 42543  	DiskSnapshotStateError = "error"
 42544  
 42545  	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
 42546  	DiskSnapshotStateUnknown = "unknown"
 42547  )
 42548  
 42549  // DiskSnapshotState_Values returns all elements of the DiskSnapshotState enum
 42550  func DiskSnapshotState_Values() []string {
 42551  	return []string{
 42552  		DiskSnapshotStatePending,
 42553  		DiskSnapshotStateCompleted,
 42554  		DiskSnapshotStateError,
 42555  		DiskSnapshotStateUnknown,
 42556  	}
 42557  }
 42558  
 42559  const (
 42560  	// DiskStatePending is a DiskState enum value
 42561  	DiskStatePending = "pending"
 42562  
 42563  	// DiskStateError is a DiskState enum value
 42564  	DiskStateError = "error"
 42565  
 42566  	// DiskStateAvailable is a DiskState enum value
 42567  	DiskStateAvailable = "available"
 42568  
 42569  	// DiskStateInUse is a DiskState enum value
 42570  	DiskStateInUse = "in-use"
 42571  
 42572  	// DiskStateUnknown is a DiskState enum value
 42573  	DiskStateUnknown = "unknown"
 42574  )
 42575  
 42576  // DiskState_Values returns all elements of the DiskState enum
 42577  func DiskState_Values() []string {
 42578  	return []string{
 42579  		DiskStatePending,
 42580  		DiskStateError,
 42581  		DiskStateAvailable,
 42582  		DiskStateInUse,
 42583  		DiskStateUnknown,
 42584  	}
 42585  }
 42586  
 42587  const (
 42588  	// DistributionMetricNameRequests is a DistributionMetricName enum value
 42589  	DistributionMetricNameRequests = "Requests"
 42590  
 42591  	// DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value
 42592  	DistributionMetricNameBytesDownloaded = "BytesDownloaded"
 42593  
 42594  	// DistributionMetricNameBytesUploaded is a DistributionMetricName enum value
 42595  	DistributionMetricNameBytesUploaded = "BytesUploaded"
 42596  
 42597  	// DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value
 42598  	DistributionMetricNameTotalErrorRate = "TotalErrorRate"
 42599  
 42600  	// DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value
 42601  	DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate"
 42602  
 42603  	// DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value
 42604  	DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate"
 42605  )
 42606  
 42607  // DistributionMetricName_Values returns all elements of the DistributionMetricName enum
 42608  func DistributionMetricName_Values() []string {
 42609  	return []string{
 42610  		DistributionMetricNameRequests,
 42611  		DistributionMetricNameBytesDownloaded,
 42612  		DistributionMetricNameBytesUploaded,
 42613  		DistributionMetricNameTotalErrorRate,
 42614  		DistributionMetricNameHttp4xxErrorRate,
 42615  		DistributionMetricNameHttp5xxErrorRate,
 42616  	}
 42617  }
 42618  
 42619  const (
 42620  	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
 42621  	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
 42622  
 42623  	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
 42624  	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
 42625  )
 42626  
 42627  // ExportSnapshotRecordSourceType_Values returns all elements of the ExportSnapshotRecordSourceType enum
 42628  func ExportSnapshotRecordSourceType_Values() []string {
 42629  	return []string{
 42630  		ExportSnapshotRecordSourceTypeInstanceSnapshot,
 42631  		ExportSnapshotRecordSourceTypeDiskSnapshot,
 42632  	}
 42633  }
 42634  
 42635  const (
 42636  	// ForwardValuesNone is a ForwardValues enum value
 42637  	ForwardValuesNone = "none"
 42638  
 42639  	// ForwardValuesAllowList is a ForwardValues enum value
 42640  	ForwardValuesAllowList = "allow-list"
 42641  
 42642  	// ForwardValuesAll is a ForwardValues enum value
 42643  	ForwardValuesAll = "all"
 42644  )
 42645  
 42646  // ForwardValues_Values returns all elements of the ForwardValues enum
 42647  func ForwardValues_Values() []string {
 42648  	return []string{
 42649  		ForwardValuesNone,
 42650  		ForwardValuesAllowList,
 42651  		ForwardValuesAll,
 42652  	}
 42653  }
 42654  
 42655  const (
 42656  	// HeaderEnumAccept is a HeaderEnum enum value
 42657  	HeaderEnumAccept = "Accept"
 42658  
 42659  	// HeaderEnumAcceptCharset is a HeaderEnum enum value
 42660  	HeaderEnumAcceptCharset = "Accept-Charset"
 42661  
 42662  	// HeaderEnumAcceptDatetime is a HeaderEnum enum value
 42663  	HeaderEnumAcceptDatetime = "Accept-Datetime"
 42664  
 42665  	// HeaderEnumAcceptEncoding is a HeaderEnum enum value
 42666  	HeaderEnumAcceptEncoding = "Accept-Encoding"
 42667  
 42668  	// HeaderEnumAcceptLanguage is a HeaderEnum enum value
 42669  	HeaderEnumAcceptLanguage = "Accept-Language"
 42670  
 42671  	// HeaderEnumAuthorization is a HeaderEnum enum value
 42672  	HeaderEnumAuthorization = "Authorization"
 42673  
 42674  	// HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value
 42675  	HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto"
 42676  
 42677  	// HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value
 42678  	HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer"
 42679  
 42680  	// HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value
 42681  	HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer"
 42682  
 42683  	// HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value
 42684  	HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer"
 42685  
 42686  	// HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value
 42687  	HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer"
 42688  
 42689  	// HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value
 42690  	HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country"
 42691  
 42692  	// HeaderEnumHost is a HeaderEnum enum value
 42693  	HeaderEnumHost = "Host"
 42694  
 42695  	// HeaderEnumOrigin is a HeaderEnum enum value
 42696  	HeaderEnumOrigin = "Origin"
 42697  
 42698  	// HeaderEnumReferer is a HeaderEnum enum value
 42699  	HeaderEnumReferer = "Referer"
 42700  )
 42701  
 42702  // HeaderEnum_Values returns all elements of the HeaderEnum enum
 42703  func HeaderEnum_Values() []string {
 42704  	return []string{
 42705  		HeaderEnumAccept,
 42706  		HeaderEnumAcceptCharset,
 42707  		HeaderEnumAcceptDatetime,
 42708  		HeaderEnumAcceptEncoding,
 42709  		HeaderEnumAcceptLanguage,
 42710  		HeaderEnumAuthorization,
 42711  		HeaderEnumCloudFrontForwardedProto,
 42712  		HeaderEnumCloudFrontIsDesktopViewer,
 42713  		HeaderEnumCloudFrontIsMobileViewer,
 42714  		HeaderEnumCloudFrontIsSmartTvViewer,
 42715  		HeaderEnumCloudFrontIsTabletViewer,
 42716  		HeaderEnumCloudFrontViewerCountry,
 42717  		HeaderEnumHost,
 42718  		HeaderEnumOrigin,
 42719  		HeaderEnumReferer,
 42720  	}
 42721  }
 42722  
 42723  const (
 42724  	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
 42725  	InstanceAccessProtocolSsh = "ssh"
 42726  
 42727  	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
 42728  	InstanceAccessProtocolRdp = "rdp"
 42729  )
 42730  
 42731  // InstanceAccessProtocol_Values returns all elements of the InstanceAccessProtocol enum
 42732  func InstanceAccessProtocol_Values() []string {
 42733  	return []string{
 42734  		InstanceAccessProtocolSsh,
 42735  		InstanceAccessProtocolRdp,
 42736  	}
 42737  }
 42738  
 42739  const (
 42740  	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
 42741  	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
 42742  
 42743  	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
 42744  	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
 42745  
 42746  	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
 42747  	InstanceHealthReasonLbInternalError = "Lb.InternalError"
 42748  
 42749  	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
 42750  	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
 42751  
 42752  	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
 42753  	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
 42754  
 42755  	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
 42756  	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
 42757  
 42758  	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
 42759  	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
 42760  
 42761  	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
 42762  	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
 42763  
 42764  	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
 42765  	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
 42766  
 42767  	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
 42768  	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
 42769  
 42770  	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
 42771  	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
 42772  )
 42773  
 42774  // InstanceHealthReason_Values returns all elements of the InstanceHealthReason enum
 42775  func InstanceHealthReason_Values() []string {
 42776  	return []string{
 42777  		InstanceHealthReasonLbRegistrationInProgress,
 42778  		InstanceHealthReasonLbInitialHealthChecking,
 42779  		InstanceHealthReasonLbInternalError,
 42780  		InstanceHealthReasonInstanceResponseCodeMismatch,
 42781  		InstanceHealthReasonInstanceTimeout,
 42782  		InstanceHealthReasonInstanceFailedHealthChecks,
 42783  		InstanceHealthReasonInstanceNotRegistered,
 42784  		InstanceHealthReasonInstanceNotInUse,
 42785  		InstanceHealthReasonInstanceDeregistrationInProgress,
 42786  		InstanceHealthReasonInstanceInvalidState,
 42787  		InstanceHealthReasonInstanceIpUnusable,
 42788  	}
 42789  }
 42790  
 42791  const (
 42792  	// InstanceHealthStateInitial is a InstanceHealthState enum value
 42793  	InstanceHealthStateInitial = "initial"
 42794  
 42795  	// InstanceHealthStateHealthy is a InstanceHealthState enum value
 42796  	InstanceHealthStateHealthy = "healthy"
 42797  
 42798  	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
 42799  	InstanceHealthStateUnhealthy = "unhealthy"
 42800  
 42801  	// InstanceHealthStateUnused is a InstanceHealthState enum value
 42802  	InstanceHealthStateUnused = "unused"
 42803  
 42804  	// InstanceHealthStateDraining is a InstanceHealthState enum value
 42805  	InstanceHealthStateDraining = "draining"
 42806  
 42807  	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
 42808  	InstanceHealthStateUnavailable = "unavailable"
 42809  )
 42810  
 42811  // InstanceHealthState_Values returns all elements of the InstanceHealthState enum
 42812  func InstanceHealthState_Values() []string {
 42813  	return []string{
 42814  		InstanceHealthStateInitial,
 42815  		InstanceHealthStateHealthy,
 42816  		InstanceHealthStateUnhealthy,
 42817  		InstanceHealthStateUnused,
 42818  		InstanceHealthStateDraining,
 42819  		InstanceHealthStateUnavailable,
 42820  	}
 42821  }
 42822  
 42823  const (
 42824  	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
 42825  	InstanceMetricNameCpuutilization = "CPUUtilization"
 42826  
 42827  	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
 42828  	InstanceMetricNameNetworkIn = "NetworkIn"
 42829  
 42830  	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
 42831  	InstanceMetricNameNetworkOut = "NetworkOut"
 42832  
 42833  	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
 42834  	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
 42835  
 42836  	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
 42837  	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
 42838  
 42839  	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
 42840  	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
 42841  
 42842  	// InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value
 42843  	InstanceMetricNameBurstCapacityTime = "BurstCapacityTime"
 42844  
 42845  	// InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value
 42846  	InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
 42847  )
 42848  
 42849  // InstanceMetricName_Values returns all elements of the InstanceMetricName enum
 42850  func InstanceMetricName_Values() []string {
 42851  	return []string{
 42852  		InstanceMetricNameCpuutilization,
 42853  		InstanceMetricNameNetworkIn,
 42854  		InstanceMetricNameNetworkOut,
 42855  		InstanceMetricNameStatusCheckFailed,
 42856  		InstanceMetricNameStatusCheckFailedInstance,
 42857  		InstanceMetricNameStatusCheckFailedSystem,
 42858  		InstanceMetricNameBurstCapacityTime,
 42859  		InstanceMetricNameBurstCapacityPercentage,
 42860  	}
 42861  }
 42862  
 42863  const (
 42864  	// InstancePlatformLinuxUnix is a InstancePlatform enum value
 42865  	InstancePlatformLinuxUnix = "LINUX_UNIX"
 42866  
 42867  	// InstancePlatformWindows is a InstancePlatform enum value
 42868  	InstancePlatformWindows = "WINDOWS"
 42869  )
 42870  
 42871  // InstancePlatform_Values returns all elements of the InstancePlatform enum
 42872  func InstancePlatform_Values() []string {
 42873  	return []string{
 42874  		InstancePlatformLinuxUnix,
 42875  		InstancePlatformWindows,
 42876  	}
 42877  }
 42878  
 42879  const (
 42880  	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
 42881  	InstanceSnapshotStatePending = "pending"
 42882  
 42883  	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
 42884  	InstanceSnapshotStateError = "error"
 42885  
 42886  	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
 42887  	InstanceSnapshotStateAvailable = "available"
 42888  )
 42889  
 42890  // InstanceSnapshotState_Values returns all elements of the InstanceSnapshotState enum
 42891  func InstanceSnapshotState_Values() []string {
 42892  	return []string{
 42893  		InstanceSnapshotStatePending,
 42894  		InstanceSnapshotStateError,
 42895  		InstanceSnapshotStateAvailable,
 42896  	}
 42897  }
 42898  
 42899  const (
 42900  	// IpAddressTypeDualstack is a IpAddressType enum value
 42901  	IpAddressTypeDualstack = "dualstack"
 42902  
 42903  	// IpAddressTypeIpv4 is a IpAddressType enum value
 42904  	IpAddressTypeIpv4 = "ipv4"
 42905  )
 42906  
 42907  // IpAddressType_Values returns all elements of the IpAddressType enum
 42908  func IpAddressType_Values() []string {
 42909  	return []string{
 42910  		IpAddressTypeDualstack,
 42911  		IpAddressTypeIpv4,
 42912  	}
 42913  }
 42914  
 42915  const (
 42916  	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
 42917  	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
 42918  
 42919  	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
 42920  	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
 42921  
 42922  	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
 42923  	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
 42924  )
 42925  
 42926  // LoadBalancerAttributeName_Values returns all elements of the LoadBalancerAttributeName enum
 42927  func LoadBalancerAttributeName_Values() []string {
 42928  	return []string{
 42929  		LoadBalancerAttributeNameHealthCheckPath,
 42930  		LoadBalancerAttributeNameSessionStickinessEnabled,
 42931  		LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds,
 42932  	}
 42933  }
 42934  
 42935  const (
 42936  	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
 42937  	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
 42938  
 42939  	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
 42940  	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
 42941  
 42942  	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
 42943  	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
 42944  
 42945  	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
 42946  	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
 42947  
 42948  	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
 42949  	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
 42950  
 42951  	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
 42952  	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
 42953  
 42954  	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
 42955  	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
 42956  
 42957  	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
 42958  	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
 42959  
 42960  	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
 42961  	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
 42962  
 42963  	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
 42964  	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
 42965  
 42966  	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
 42967  	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
 42968  
 42969  	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
 42970  	LoadBalancerMetricNameRequestCount = "RequestCount"
 42971  )
 42972  
 42973  // LoadBalancerMetricName_Values returns all elements of the LoadBalancerMetricName enum
 42974  func LoadBalancerMetricName_Values() []string {
 42975  	return []string{
 42976  		LoadBalancerMetricNameClientTlsnegotiationErrorCount,
 42977  		LoadBalancerMetricNameHealthyHostCount,
 42978  		LoadBalancerMetricNameUnhealthyHostCount,
 42979  		LoadBalancerMetricNameHttpcodeLb4xxCount,
 42980  		LoadBalancerMetricNameHttpcodeLb5xxCount,
 42981  		LoadBalancerMetricNameHttpcodeInstance2xxCount,
 42982  		LoadBalancerMetricNameHttpcodeInstance3xxCount,
 42983  		LoadBalancerMetricNameHttpcodeInstance4xxCount,
 42984  		LoadBalancerMetricNameHttpcodeInstance5xxCount,
 42985  		LoadBalancerMetricNameInstanceResponseTime,
 42986  		LoadBalancerMetricNameRejectedConnectionCount,
 42987  		LoadBalancerMetricNameRequestCount,
 42988  	}
 42989  }
 42990  
 42991  const (
 42992  	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
 42993  	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
 42994  
 42995  	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
 42996  	LoadBalancerProtocolHttp = "HTTP"
 42997  )
 42998  
 42999  // LoadBalancerProtocol_Values returns all elements of the LoadBalancerProtocol enum
 43000  func LoadBalancerProtocol_Values() []string {
 43001  	return []string{
 43002  		LoadBalancerProtocolHttpHttps,
 43003  		LoadBalancerProtocolHttp,
 43004  	}
 43005  }
 43006  
 43007  const (
 43008  	// LoadBalancerStateActive is a LoadBalancerState enum value
 43009  	LoadBalancerStateActive = "active"
 43010  
 43011  	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
 43012  	LoadBalancerStateProvisioning = "provisioning"
 43013  
 43014  	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
 43015  	LoadBalancerStateActiveImpaired = "active_impaired"
 43016  
 43017  	// LoadBalancerStateFailed is a LoadBalancerState enum value
 43018  	LoadBalancerStateFailed = "failed"
 43019  
 43020  	// LoadBalancerStateUnknown is a LoadBalancerState enum value
 43021  	LoadBalancerStateUnknown = "unknown"
 43022  )
 43023  
 43024  // LoadBalancerState_Values returns all elements of the LoadBalancerState enum
 43025  func LoadBalancerState_Values() []string {
 43026  	return []string{
 43027  		LoadBalancerStateActive,
 43028  		LoadBalancerStateProvisioning,
 43029  		LoadBalancerStateActiveImpaired,
 43030  		LoadBalancerStateFailed,
 43031  		LoadBalancerStateUnknown,
 43032  	}
 43033  }
 43034  
 43035  const (
 43036  	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
 43037  	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
 43038  
 43039  	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
 43040  	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
 43041  
 43042  	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
 43043  	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
 43044  )
 43045  
 43046  // LoadBalancerTlsCertificateDomainStatus_Values returns all elements of the LoadBalancerTlsCertificateDomainStatus enum
 43047  func LoadBalancerTlsCertificateDomainStatus_Values() []string {
 43048  	return []string{
 43049  		LoadBalancerTlsCertificateDomainStatusPendingValidation,
 43050  		LoadBalancerTlsCertificateDomainStatusFailed,
 43051  		LoadBalancerTlsCertificateDomainStatusSuccess,
 43052  	}
 43053  }
 43054  
 43055  const (
 43056  	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
 43057  	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
 43058  
 43059  	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
 43060  	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
 43061  
 43062  	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
 43063  	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
 43064  
 43065  	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
 43066  	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
 43067  
 43068  	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
 43069  	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
 43070  )
 43071  
 43072  // LoadBalancerTlsCertificateFailureReason_Values returns all elements of the LoadBalancerTlsCertificateFailureReason enum
 43073  func LoadBalancerTlsCertificateFailureReason_Values() []string {
 43074  	return []string{
 43075  		LoadBalancerTlsCertificateFailureReasonNoAvailableContacts,
 43076  		LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired,
 43077  		LoadBalancerTlsCertificateFailureReasonDomainNotAllowed,
 43078  		LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain,
 43079  		LoadBalancerTlsCertificateFailureReasonOther,
 43080  	}
 43081  }
 43082  
 43083  const (
 43084  	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
 43085  	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
 43086  
 43087  	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
 43088  	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
 43089  
 43090  	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
 43091  	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
 43092  
 43093  	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
 43094  	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
 43095  )
 43096  
 43097  // LoadBalancerTlsCertificateRenewalStatus_Values returns all elements of the LoadBalancerTlsCertificateRenewalStatus enum
 43098  func LoadBalancerTlsCertificateRenewalStatus_Values() []string {
 43099  	return []string{
 43100  		LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal,
 43101  		LoadBalancerTlsCertificateRenewalStatusPendingValidation,
 43102  		LoadBalancerTlsCertificateRenewalStatusSuccess,
 43103  		LoadBalancerTlsCertificateRenewalStatusFailed,
 43104  	}
 43105  }
 43106  
 43107  const (
 43108  	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
 43109  	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
 43110  
 43111  	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
 43112  	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
 43113  
 43114  	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
 43115  	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
 43116  
 43117  	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
 43118  	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
 43119  
 43120  	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
 43121  	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
 43122  
 43123  	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
 43124  	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
 43125  
 43126  	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
 43127  	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
 43128  
 43129  	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
 43130  	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
 43131  
 43132  	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
 43133  	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
 43134  
 43135  	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
 43136  	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
 43137  )
 43138  
 43139  // LoadBalancerTlsCertificateRevocationReason_Values returns all elements of the LoadBalancerTlsCertificateRevocationReason enum
 43140  func LoadBalancerTlsCertificateRevocationReason_Values() []string {
 43141  	return []string{
 43142  		LoadBalancerTlsCertificateRevocationReasonUnspecified,
 43143  		LoadBalancerTlsCertificateRevocationReasonKeyCompromise,
 43144  		LoadBalancerTlsCertificateRevocationReasonCaCompromise,
 43145  		LoadBalancerTlsCertificateRevocationReasonAffiliationChanged,
 43146  		LoadBalancerTlsCertificateRevocationReasonSuperceded,
 43147  		LoadBalancerTlsCertificateRevocationReasonCessationOfOperation,
 43148  		LoadBalancerTlsCertificateRevocationReasonCertificateHold,
 43149  		LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl,
 43150  		LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn,
 43151  		LoadBalancerTlsCertificateRevocationReasonAACompromise,
 43152  	}
 43153  }
 43154  
 43155  const (
 43156  	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
 43157  	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
 43158  
 43159  	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
 43160  	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
 43161  
 43162  	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
 43163  	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
 43164  
 43165  	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
 43166  	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
 43167  
 43168  	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
 43169  	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
 43170  
 43171  	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
 43172  	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
 43173  
 43174  	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
 43175  	LoadBalancerTlsCertificateStatusFailed = "FAILED"
 43176  
 43177  	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
 43178  	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
 43179  )
 43180  
 43181  // LoadBalancerTlsCertificateStatus_Values returns all elements of the LoadBalancerTlsCertificateStatus enum
 43182  func LoadBalancerTlsCertificateStatus_Values() []string {
 43183  	return []string{
 43184  		LoadBalancerTlsCertificateStatusPendingValidation,
 43185  		LoadBalancerTlsCertificateStatusIssued,
 43186  		LoadBalancerTlsCertificateStatusInactive,
 43187  		LoadBalancerTlsCertificateStatusExpired,
 43188  		LoadBalancerTlsCertificateStatusValidationTimedOut,
 43189  		LoadBalancerTlsCertificateStatusRevoked,
 43190  		LoadBalancerTlsCertificateStatusFailed,
 43191  		LoadBalancerTlsCertificateStatusUnknown,
 43192  	}
 43193  }
 43194  
 43195  const (
 43196  	// MetricNameCpuutilization is a MetricName enum value
 43197  	MetricNameCpuutilization = "CPUUtilization"
 43198  
 43199  	// MetricNameNetworkIn is a MetricName enum value
 43200  	MetricNameNetworkIn = "NetworkIn"
 43201  
 43202  	// MetricNameNetworkOut is a MetricName enum value
 43203  	MetricNameNetworkOut = "NetworkOut"
 43204  
 43205  	// MetricNameStatusCheckFailed is a MetricName enum value
 43206  	MetricNameStatusCheckFailed = "StatusCheckFailed"
 43207  
 43208  	// MetricNameStatusCheckFailedInstance is a MetricName enum value
 43209  	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
 43210  
 43211  	// MetricNameStatusCheckFailedSystem is a MetricName enum value
 43212  	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
 43213  
 43214  	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
 43215  	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
 43216  
 43217  	// MetricNameHealthyHostCount is a MetricName enum value
 43218  	MetricNameHealthyHostCount = "HealthyHostCount"
 43219  
 43220  	// MetricNameUnhealthyHostCount is a MetricName enum value
 43221  	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
 43222  
 43223  	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
 43224  	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
 43225  
 43226  	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
 43227  	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
 43228  
 43229  	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
 43230  	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
 43231  
 43232  	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
 43233  	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
 43234  
 43235  	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
 43236  	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
 43237  
 43238  	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
 43239  	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
 43240  
 43241  	// MetricNameInstanceResponseTime is a MetricName enum value
 43242  	MetricNameInstanceResponseTime = "InstanceResponseTime"
 43243  
 43244  	// MetricNameRejectedConnectionCount is a MetricName enum value
 43245  	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
 43246  
 43247  	// MetricNameRequestCount is a MetricName enum value
 43248  	MetricNameRequestCount = "RequestCount"
 43249  
 43250  	// MetricNameDatabaseConnections is a MetricName enum value
 43251  	MetricNameDatabaseConnections = "DatabaseConnections"
 43252  
 43253  	// MetricNameDiskQueueDepth is a MetricName enum value
 43254  	MetricNameDiskQueueDepth = "DiskQueueDepth"
 43255  
 43256  	// MetricNameFreeStorageSpace is a MetricName enum value
 43257  	MetricNameFreeStorageSpace = "FreeStorageSpace"
 43258  
 43259  	// MetricNameNetworkReceiveThroughput is a MetricName enum value
 43260  	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
 43261  
 43262  	// MetricNameNetworkTransmitThroughput is a MetricName enum value
 43263  	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
 43264  
 43265  	// MetricNameBurstCapacityTime is a MetricName enum value
 43266  	MetricNameBurstCapacityTime = "BurstCapacityTime"
 43267  
 43268  	// MetricNameBurstCapacityPercentage is a MetricName enum value
 43269  	MetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
 43270  )
 43271  
 43272  // MetricName_Values returns all elements of the MetricName enum
 43273  func MetricName_Values() []string {
 43274  	return []string{
 43275  		MetricNameCpuutilization,
 43276  		MetricNameNetworkIn,
 43277  		MetricNameNetworkOut,
 43278  		MetricNameStatusCheckFailed,
 43279  		MetricNameStatusCheckFailedInstance,
 43280  		MetricNameStatusCheckFailedSystem,
 43281  		MetricNameClientTlsnegotiationErrorCount,
 43282  		MetricNameHealthyHostCount,
 43283  		MetricNameUnhealthyHostCount,
 43284  		MetricNameHttpcodeLb4xxCount,
 43285  		MetricNameHttpcodeLb5xxCount,
 43286  		MetricNameHttpcodeInstance2xxCount,
 43287  		MetricNameHttpcodeInstance3xxCount,
 43288  		MetricNameHttpcodeInstance4xxCount,
 43289  		MetricNameHttpcodeInstance5xxCount,
 43290  		MetricNameInstanceResponseTime,
 43291  		MetricNameRejectedConnectionCount,
 43292  		MetricNameRequestCount,
 43293  		MetricNameDatabaseConnections,
 43294  		MetricNameDiskQueueDepth,
 43295  		MetricNameFreeStorageSpace,
 43296  		MetricNameNetworkReceiveThroughput,
 43297  		MetricNameNetworkTransmitThroughput,
 43298  		MetricNameBurstCapacityTime,
 43299  		MetricNameBurstCapacityPercentage,
 43300  	}
 43301  }
 43302  
 43303  const (
 43304  	// MetricStatisticMinimum is a MetricStatistic enum value
 43305  	MetricStatisticMinimum = "Minimum"
 43306  
 43307  	// MetricStatisticMaximum is a MetricStatistic enum value
 43308  	MetricStatisticMaximum = "Maximum"
 43309  
 43310  	// MetricStatisticSum is a MetricStatistic enum value
 43311  	MetricStatisticSum = "Sum"
 43312  
 43313  	// MetricStatisticAverage is a MetricStatistic enum value
 43314  	MetricStatisticAverage = "Average"
 43315  
 43316  	// MetricStatisticSampleCount is a MetricStatistic enum value
 43317  	MetricStatisticSampleCount = "SampleCount"
 43318  )
 43319  
 43320  // MetricStatistic_Values returns all elements of the MetricStatistic enum
 43321  func MetricStatistic_Values() []string {
 43322  	return []string{
 43323  		MetricStatisticMinimum,
 43324  		MetricStatisticMaximum,
 43325  		MetricStatisticSum,
 43326  		MetricStatisticAverage,
 43327  		MetricStatisticSampleCount,
 43328  	}
 43329  }
 43330  
 43331  const (
 43332  	// MetricUnitSeconds is a MetricUnit enum value
 43333  	MetricUnitSeconds = "Seconds"
 43334  
 43335  	// MetricUnitMicroseconds is a MetricUnit enum value
 43336  	MetricUnitMicroseconds = "Microseconds"
 43337  
 43338  	// MetricUnitMilliseconds is a MetricUnit enum value
 43339  	MetricUnitMilliseconds = "Milliseconds"
 43340  
 43341  	// MetricUnitBytes is a MetricUnit enum value
 43342  	MetricUnitBytes = "Bytes"
 43343  
 43344  	// MetricUnitKilobytes is a MetricUnit enum value
 43345  	MetricUnitKilobytes = "Kilobytes"
 43346  
 43347  	// MetricUnitMegabytes is a MetricUnit enum value
 43348  	MetricUnitMegabytes = "Megabytes"
 43349  
 43350  	// MetricUnitGigabytes is a MetricUnit enum value
 43351  	MetricUnitGigabytes = "Gigabytes"
 43352  
 43353  	// MetricUnitTerabytes is a MetricUnit enum value
 43354  	MetricUnitTerabytes = "Terabytes"
 43355  
 43356  	// MetricUnitBits is a MetricUnit enum value
 43357  	MetricUnitBits = "Bits"
 43358  
 43359  	// MetricUnitKilobits is a MetricUnit enum value
 43360  	MetricUnitKilobits = "Kilobits"
 43361  
 43362  	// MetricUnitMegabits is a MetricUnit enum value
 43363  	MetricUnitMegabits = "Megabits"
 43364  
 43365  	// MetricUnitGigabits is a MetricUnit enum value
 43366  	MetricUnitGigabits = "Gigabits"
 43367  
 43368  	// MetricUnitTerabits is a MetricUnit enum value
 43369  	MetricUnitTerabits = "Terabits"
 43370  
 43371  	// MetricUnitPercent is a MetricUnit enum value
 43372  	MetricUnitPercent = "Percent"
 43373  
 43374  	// MetricUnitCount is a MetricUnit enum value
 43375  	MetricUnitCount = "Count"
 43376  
 43377  	// MetricUnitBytesSecond is a MetricUnit enum value
 43378  	MetricUnitBytesSecond = "Bytes/Second"
 43379  
 43380  	// MetricUnitKilobytesSecond is a MetricUnit enum value
 43381  	MetricUnitKilobytesSecond = "Kilobytes/Second"
 43382  
 43383  	// MetricUnitMegabytesSecond is a MetricUnit enum value
 43384  	MetricUnitMegabytesSecond = "Megabytes/Second"
 43385  
 43386  	// MetricUnitGigabytesSecond is a MetricUnit enum value
 43387  	MetricUnitGigabytesSecond = "Gigabytes/Second"
 43388  
 43389  	// MetricUnitTerabytesSecond is a MetricUnit enum value
 43390  	MetricUnitTerabytesSecond = "Terabytes/Second"
 43391  
 43392  	// MetricUnitBitsSecond is a MetricUnit enum value
 43393  	MetricUnitBitsSecond = "Bits/Second"
 43394  
 43395  	// MetricUnitKilobitsSecond is a MetricUnit enum value
 43396  	MetricUnitKilobitsSecond = "Kilobits/Second"
 43397  
 43398  	// MetricUnitMegabitsSecond is a MetricUnit enum value
 43399  	MetricUnitMegabitsSecond = "Megabits/Second"
 43400  
 43401  	// MetricUnitGigabitsSecond is a MetricUnit enum value
 43402  	MetricUnitGigabitsSecond = "Gigabits/Second"
 43403  
 43404  	// MetricUnitTerabitsSecond is a MetricUnit enum value
 43405  	MetricUnitTerabitsSecond = "Terabits/Second"
 43406  
 43407  	// MetricUnitCountSecond is a MetricUnit enum value
 43408  	MetricUnitCountSecond = "Count/Second"
 43409  
 43410  	// MetricUnitNone is a MetricUnit enum value
 43411  	MetricUnitNone = "None"
 43412  )
 43413  
 43414  // MetricUnit_Values returns all elements of the MetricUnit enum
 43415  func MetricUnit_Values() []string {
 43416  	return []string{
 43417  		MetricUnitSeconds,
 43418  		MetricUnitMicroseconds,
 43419  		MetricUnitMilliseconds,
 43420  		MetricUnitBytes,
 43421  		MetricUnitKilobytes,
 43422  		MetricUnitMegabytes,
 43423  		MetricUnitGigabytes,
 43424  		MetricUnitTerabytes,
 43425  		MetricUnitBits,
 43426  		MetricUnitKilobits,
 43427  		MetricUnitMegabits,
 43428  		MetricUnitGigabits,
 43429  		MetricUnitTerabits,
 43430  		MetricUnitPercent,
 43431  		MetricUnitCount,
 43432  		MetricUnitBytesSecond,
 43433  		MetricUnitKilobytesSecond,
 43434  		MetricUnitMegabytesSecond,
 43435  		MetricUnitGigabytesSecond,
 43436  		MetricUnitTerabytesSecond,
 43437  		MetricUnitBitsSecond,
 43438  		MetricUnitKilobitsSecond,
 43439  		MetricUnitMegabitsSecond,
 43440  		MetricUnitGigabitsSecond,
 43441  		MetricUnitTerabitsSecond,
 43442  		MetricUnitCountSecond,
 43443  		MetricUnitNone,
 43444  	}
 43445  }
 43446  
 43447  const (
 43448  	// NetworkProtocolTcp is a NetworkProtocol enum value
 43449  	NetworkProtocolTcp = "tcp"
 43450  
 43451  	// NetworkProtocolAll is a NetworkProtocol enum value
 43452  	NetworkProtocolAll = "all"
 43453  
 43454  	// NetworkProtocolUdp is a NetworkProtocol enum value
 43455  	NetworkProtocolUdp = "udp"
 43456  
 43457  	// NetworkProtocolIcmp is a NetworkProtocol enum value
 43458  	NetworkProtocolIcmp = "icmp"
 43459  )
 43460  
 43461  // NetworkProtocol_Values returns all elements of the NetworkProtocol enum
 43462  func NetworkProtocol_Values() []string {
 43463  	return []string{
 43464  		NetworkProtocolTcp,
 43465  		NetworkProtocolAll,
 43466  		NetworkProtocolUdp,
 43467  		NetworkProtocolIcmp,
 43468  	}
 43469  }
 43470  
 43471  const (
 43472  	// OperationStatusNotStarted is a OperationStatus enum value
 43473  	OperationStatusNotStarted = "NotStarted"
 43474  
 43475  	// OperationStatusStarted is a OperationStatus enum value
 43476  	OperationStatusStarted = "Started"
 43477  
 43478  	// OperationStatusFailed is a OperationStatus enum value
 43479  	OperationStatusFailed = "Failed"
 43480  
 43481  	// OperationStatusCompleted is a OperationStatus enum value
 43482  	OperationStatusCompleted = "Completed"
 43483  
 43484  	// OperationStatusSucceeded is a OperationStatus enum value
 43485  	OperationStatusSucceeded = "Succeeded"
 43486  )
 43487  
 43488  // OperationStatus_Values returns all elements of the OperationStatus enum
 43489  func OperationStatus_Values() []string {
 43490  	return []string{
 43491  		OperationStatusNotStarted,
 43492  		OperationStatusStarted,
 43493  		OperationStatusFailed,
 43494  		OperationStatusCompleted,
 43495  		OperationStatusSucceeded,
 43496  	}
 43497  }
 43498  
 43499  const (
 43500  	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
 43501  	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
 43502  
 43503  	// OperationTypeDeleteInstance is a OperationType enum value
 43504  	OperationTypeDeleteInstance = "DeleteInstance"
 43505  
 43506  	// OperationTypeCreateInstance is a OperationType enum value
 43507  	OperationTypeCreateInstance = "CreateInstance"
 43508  
 43509  	// OperationTypeStopInstance is a OperationType enum value
 43510  	OperationTypeStopInstance = "StopInstance"
 43511  
 43512  	// OperationTypeStartInstance is a OperationType enum value
 43513  	OperationTypeStartInstance = "StartInstance"
 43514  
 43515  	// OperationTypeRebootInstance is a OperationType enum value
 43516  	OperationTypeRebootInstance = "RebootInstance"
 43517  
 43518  	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
 43519  	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
 43520  
 43521  	// OperationTypePutInstancePublicPorts is a OperationType enum value
 43522  	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
 43523  
 43524  	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
 43525  	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
 43526  
 43527  	// OperationTypeAllocateStaticIp is a OperationType enum value
 43528  	OperationTypeAllocateStaticIp = "AllocateStaticIp"
 43529  
 43530  	// OperationTypeReleaseStaticIp is a OperationType enum value
 43531  	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
 43532  
 43533  	// OperationTypeAttachStaticIp is a OperationType enum value
 43534  	OperationTypeAttachStaticIp = "AttachStaticIp"
 43535  
 43536  	// OperationTypeDetachStaticIp is a OperationType enum value
 43537  	OperationTypeDetachStaticIp = "DetachStaticIp"
 43538  
 43539  	// OperationTypeUpdateDomainEntry is a OperationType enum value
 43540  	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
 43541  
 43542  	// OperationTypeDeleteDomainEntry is a OperationType enum value
 43543  	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
 43544  
 43545  	// OperationTypeCreateDomain is a OperationType enum value
 43546  	OperationTypeCreateDomain = "CreateDomain"
 43547  
 43548  	// OperationTypeDeleteDomain is a OperationType enum value
 43549  	OperationTypeDeleteDomain = "DeleteDomain"
 43550  
 43551  	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
 43552  	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
 43553  
 43554  	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
 43555  	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
 43556  
 43557  	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
 43558  	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
 43559  
 43560  	// OperationTypeCreateLoadBalancer is a OperationType enum value
 43561  	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
 43562  
 43563  	// OperationTypeDeleteLoadBalancer is a OperationType enum value
 43564  	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
 43565  
 43566  	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
 43567  	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
 43568  
 43569  	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
 43570  	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
 43571  
 43572  	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
 43573  	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
 43574  
 43575  	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
 43576  	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
 43577  
 43578  	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
 43579  	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
 43580  
 43581  	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
 43582  	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
 43583  
 43584  	// OperationTypeCreateDisk is a OperationType enum value
 43585  	OperationTypeCreateDisk = "CreateDisk"
 43586  
 43587  	// OperationTypeDeleteDisk is a OperationType enum value
 43588  	OperationTypeDeleteDisk = "DeleteDisk"
 43589  
 43590  	// OperationTypeAttachDisk is a OperationType enum value
 43591  	OperationTypeAttachDisk = "AttachDisk"
 43592  
 43593  	// OperationTypeDetachDisk is a OperationType enum value
 43594  	OperationTypeDetachDisk = "DetachDisk"
 43595  
 43596  	// OperationTypeCreateDiskSnapshot is a OperationType enum value
 43597  	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
 43598  
 43599  	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
 43600  	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
 43601  
 43602  	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
 43603  	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
 43604  
 43605  	// OperationTypeCreateRelationalDatabase is a OperationType enum value
 43606  	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
 43607  
 43608  	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
 43609  	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
 43610  
 43611  	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
 43612  	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
 43613  
 43614  	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
 43615  	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
 43616  
 43617  	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
 43618  	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
 43619  
 43620  	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
 43621  	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
 43622  
 43623  	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
 43624  	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
 43625  
 43626  	// OperationTypeStartRelationalDatabase is a OperationType enum value
 43627  	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
 43628  
 43629  	// OperationTypeRebootRelationalDatabase is a OperationType enum value
 43630  	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
 43631  
 43632  	// OperationTypeStopRelationalDatabase is a OperationType enum value
 43633  	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
 43634  
 43635  	// OperationTypeEnableAddOn is a OperationType enum value
 43636  	OperationTypeEnableAddOn = "EnableAddOn"
 43637  
 43638  	// OperationTypeDisableAddOn is a OperationType enum value
 43639  	OperationTypeDisableAddOn = "DisableAddOn"
 43640  
 43641  	// OperationTypePutAlarm is a OperationType enum value
 43642  	OperationTypePutAlarm = "PutAlarm"
 43643  
 43644  	// OperationTypeGetAlarms is a OperationType enum value
 43645  	OperationTypeGetAlarms = "GetAlarms"
 43646  
 43647  	// OperationTypeDeleteAlarm is a OperationType enum value
 43648  	OperationTypeDeleteAlarm = "DeleteAlarm"
 43649  
 43650  	// OperationTypeTestAlarm is a OperationType enum value
 43651  	OperationTypeTestAlarm = "TestAlarm"
 43652  
 43653  	// OperationTypeCreateContactMethod is a OperationType enum value
 43654  	OperationTypeCreateContactMethod = "CreateContactMethod"
 43655  
 43656  	// OperationTypeGetContactMethods is a OperationType enum value
 43657  	OperationTypeGetContactMethods = "GetContactMethods"
 43658  
 43659  	// OperationTypeSendContactMethodVerification is a OperationType enum value
 43660  	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
 43661  
 43662  	// OperationTypeDeleteContactMethod is a OperationType enum value
 43663  	OperationTypeDeleteContactMethod = "DeleteContactMethod"
 43664  
 43665  	// OperationTypeCreateDistribution is a OperationType enum value
 43666  	OperationTypeCreateDistribution = "CreateDistribution"
 43667  
 43668  	// OperationTypeUpdateDistribution is a OperationType enum value
 43669  	OperationTypeUpdateDistribution = "UpdateDistribution"
 43670  
 43671  	// OperationTypeDeleteDistribution is a OperationType enum value
 43672  	OperationTypeDeleteDistribution = "DeleteDistribution"
 43673  
 43674  	// OperationTypeResetDistributionCache is a OperationType enum value
 43675  	OperationTypeResetDistributionCache = "ResetDistributionCache"
 43676  
 43677  	// OperationTypeAttachCertificateToDistribution is a OperationType enum value
 43678  	OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution"
 43679  
 43680  	// OperationTypeDetachCertificateFromDistribution is a OperationType enum value
 43681  	OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
 43682  
 43683  	// OperationTypeUpdateDistributionBundle is a OperationType enum value
 43684  	OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle"
 43685  
 43686  	// OperationTypeSetIpAddressType is a OperationType enum value
 43687  	OperationTypeSetIpAddressType = "SetIpAddressType"
 43688  
 43689  	// OperationTypeCreateCertificate is a OperationType enum value
 43690  	OperationTypeCreateCertificate = "CreateCertificate"
 43691  
 43692  	// OperationTypeDeleteCertificate is a OperationType enum value
 43693  	OperationTypeDeleteCertificate = "DeleteCertificate"
 43694  
 43695  	// OperationTypeCreateContainerService is a OperationType enum value
 43696  	OperationTypeCreateContainerService = "CreateContainerService"
 43697  
 43698  	// OperationTypeUpdateContainerService is a OperationType enum value
 43699  	OperationTypeUpdateContainerService = "UpdateContainerService"
 43700  
 43701  	// OperationTypeDeleteContainerService is a OperationType enum value
 43702  	OperationTypeDeleteContainerService = "DeleteContainerService"
 43703  
 43704  	// OperationTypeCreateContainerServiceDeployment is a OperationType enum value
 43705  	OperationTypeCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
 43706  
 43707  	// OperationTypeCreateContainerServiceRegistryLogin is a OperationType enum value
 43708  	OperationTypeCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
 43709  
 43710  	// OperationTypeRegisterContainerImage is a OperationType enum value
 43711  	OperationTypeRegisterContainerImage = "RegisterContainerImage"
 43712  
 43713  	// OperationTypeDeleteContainerImage is a OperationType enum value
 43714  	OperationTypeDeleteContainerImage = "DeleteContainerImage"
 43715  
 43716  	// OperationTypeCreateBucket is a OperationType enum value
 43717  	OperationTypeCreateBucket = "CreateBucket"
 43718  
 43719  	// OperationTypeDeleteBucket is a OperationType enum value
 43720  	OperationTypeDeleteBucket = "DeleteBucket"
 43721  
 43722  	// OperationTypeCreateBucketAccessKey is a OperationType enum value
 43723  	OperationTypeCreateBucketAccessKey = "CreateBucketAccessKey"
 43724  
 43725  	// OperationTypeDeleteBucketAccessKey is a OperationType enum value
 43726  	OperationTypeDeleteBucketAccessKey = "DeleteBucketAccessKey"
 43727  
 43728  	// OperationTypeUpdateBucketBundle is a OperationType enum value
 43729  	OperationTypeUpdateBucketBundle = "UpdateBucketBundle"
 43730  
 43731  	// OperationTypeUpdateBucket is a OperationType enum value
 43732  	OperationTypeUpdateBucket = "UpdateBucket"
 43733  
 43734  	// OperationTypeSetResourceAccessForBucket is a OperationType enum value
 43735  	OperationTypeSetResourceAccessForBucket = "SetResourceAccessForBucket"
 43736  )
 43737  
 43738  // OperationType_Values returns all elements of the OperationType enum
 43739  func OperationType_Values() []string {
 43740  	return []string{
 43741  		OperationTypeDeleteKnownHostKeys,
 43742  		OperationTypeDeleteInstance,
 43743  		OperationTypeCreateInstance,
 43744  		OperationTypeStopInstance,
 43745  		OperationTypeStartInstance,
 43746  		OperationTypeRebootInstance,
 43747  		OperationTypeOpenInstancePublicPorts,
 43748  		OperationTypePutInstancePublicPorts,
 43749  		OperationTypeCloseInstancePublicPorts,
 43750  		OperationTypeAllocateStaticIp,
 43751  		OperationTypeReleaseStaticIp,
 43752  		OperationTypeAttachStaticIp,
 43753  		OperationTypeDetachStaticIp,
 43754  		OperationTypeUpdateDomainEntry,
 43755  		OperationTypeDeleteDomainEntry,
 43756  		OperationTypeCreateDomain,
 43757  		OperationTypeDeleteDomain,
 43758  		OperationTypeCreateInstanceSnapshot,
 43759  		OperationTypeDeleteInstanceSnapshot,
 43760  		OperationTypeCreateInstancesFromSnapshot,
 43761  		OperationTypeCreateLoadBalancer,
 43762  		OperationTypeDeleteLoadBalancer,
 43763  		OperationTypeAttachInstancesToLoadBalancer,
 43764  		OperationTypeDetachInstancesFromLoadBalancer,
 43765  		OperationTypeUpdateLoadBalancerAttribute,
 43766  		OperationTypeCreateLoadBalancerTlsCertificate,
 43767  		OperationTypeDeleteLoadBalancerTlsCertificate,
 43768  		OperationTypeAttachLoadBalancerTlsCertificate,
 43769  		OperationTypeCreateDisk,
 43770  		OperationTypeDeleteDisk,
 43771  		OperationTypeAttachDisk,
 43772  		OperationTypeDetachDisk,
 43773  		OperationTypeCreateDiskSnapshot,
 43774  		OperationTypeDeleteDiskSnapshot,
 43775  		OperationTypeCreateDiskFromSnapshot,
 43776  		OperationTypeCreateRelationalDatabase,
 43777  		OperationTypeUpdateRelationalDatabase,
 43778  		OperationTypeDeleteRelationalDatabase,
 43779  		OperationTypeCreateRelationalDatabaseFromSnapshot,
 43780  		OperationTypeCreateRelationalDatabaseSnapshot,
 43781  		OperationTypeDeleteRelationalDatabaseSnapshot,
 43782  		OperationTypeUpdateRelationalDatabaseParameters,
 43783  		OperationTypeStartRelationalDatabase,
 43784  		OperationTypeRebootRelationalDatabase,
 43785  		OperationTypeStopRelationalDatabase,
 43786  		OperationTypeEnableAddOn,
 43787  		OperationTypeDisableAddOn,
 43788  		OperationTypePutAlarm,
 43789  		OperationTypeGetAlarms,
 43790  		OperationTypeDeleteAlarm,
 43791  		OperationTypeTestAlarm,
 43792  		OperationTypeCreateContactMethod,
 43793  		OperationTypeGetContactMethods,
 43794  		OperationTypeSendContactMethodVerification,
 43795  		OperationTypeDeleteContactMethod,
 43796  		OperationTypeCreateDistribution,
 43797  		OperationTypeUpdateDistribution,
 43798  		OperationTypeDeleteDistribution,
 43799  		OperationTypeResetDistributionCache,
 43800  		OperationTypeAttachCertificateToDistribution,
 43801  		OperationTypeDetachCertificateFromDistribution,
 43802  		OperationTypeUpdateDistributionBundle,
 43803  		OperationTypeSetIpAddressType,
 43804  		OperationTypeCreateCertificate,
 43805  		OperationTypeDeleteCertificate,
 43806  		OperationTypeCreateContainerService,
 43807  		OperationTypeUpdateContainerService,
 43808  		OperationTypeDeleteContainerService,
 43809  		OperationTypeCreateContainerServiceDeployment,
 43810  		OperationTypeCreateContainerServiceRegistryLogin,
 43811  		OperationTypeRegisterContainerImage,
 43812  		OperationTypeDeleteContainerImage,
 43813  		OperationTypeCreateBucket,
 43814  		OperationTypeDeleteBucket,
 43815  		OperationTypeCreateBucketAccessKey,
 43816  		OperationTypeDeleteBucketAccessKey,
 43817  		OperationTypeUpdateBucketBundle,
 43818  		OperationTypeUpdateBucket,
 43819  		OperationTypeSetResourceAccessForBucket,
 43820  	}
 43821  }
 43822  
 43823  const (
 43824  	// OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value
 43825  	OriginProtocolPolicyEnumHttpOnly = "http-only"
 43826  
 43827  	// OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value
 43828  	OriginProtocolPolicyEnumHttpsOnly = "https-only"
 43829  )
 43830  
 43831  // OriginProtocolPolicyEnum_Values returns all elements of the OriginProtocolPolicyEnum enum
 43832  func OriginProtocolPolicyEnum_Values() []string {
 43833  	return []string{
 43834  		OriginProtocolPolicyEnumHttpOnly,
 43835  		OriginProtocolPolicyEnumHttpsOnly,
 43836  	}
 43837  }
 43838  
 43839  const (
 43840  	// PortAccessTypePublic is a PortAccessType enum value
 43841  	PortAccessTypePublic = "Public"
 43842  
 43843  	// PortAccessTypePrivate is a PortAccessType enum value
 43844  	PortAccessTypePrivate = "Private"
 43845  )
 43846  
 43847  // PortAccessType_Values returns all elements of the PortAccessType enum
 43848  func PortAccessType_Values() []string {
 43849  	return []string{
 43850  		PortAccessTypePublic,
 43851  		PortAccessTypePrivate,
 43852  	}
 43853  }
 43854  
 43855  const (
 43856  	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
 43857  	PortInfoSourceTypeDefault = "DEFAULT"
 43858  
 43859  	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
 43860  	PortInfoSourceTypeInstance = "INSTANCE"
 43861  
 43862  	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
 43863  	PortInfoSourceTypeNone = "NONE"
 43864  
 43865  	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
 43866  	PortInfoSourceTypeClosed = "CLOSED"
 43867  )
 43868  
 43869  // PortInfoSourceType_Values returns all elements of the PortInfoSourceType enum
 43870  func PortInfoSourceType_Values() []string {
 43871  	return []string{
 43872  		PortInfoSourceTypeDefault,
 43873  		PortInfoSourceTypeInstance,
 43874  		PortInfoSourceTypeNone,
 43875  		PortInfoSourceTypeClosed,
 43876  	}
 43877  }
 43878  
 43879  const (
 43880  	// PortStateOpen is a PortState enum value
 43881  	PortStateOpen = "open"
 43882  
 43883  	// PortStateClosed is a PortState enum value
 43884  	PortStateClosed = "closed"
 43885  )
 43886  
 43887  // PortState_Values returns all elements of the PortState enum
 43888  func PortState_Values() []string {
 43889  	return []string{
 43890  		PortStateOpen,
 43891  		PortStateClosed,
 43892  	}
 43893  }
 43894  
 43895  const (
 43896  	// RecordStateStarted is a RecordState enum value
 43897  	RecordStateStarted = "Started"
 43898  
 43899  	// RecordStateSucceeded is a RecordState enum value
 43900  	RecordStateSucceeded = "Succeeded"
 43901  
 43902  	// RecordStateFailed is a RecordState enum value
 43903  	RecordStateFailed = "Failed"
 43904  )
 43905  
 43906  // RecordState_Values returns all elements of the RecordState enum
 43907  func RecordState_Values() []string {
 43908  	return []string{
 43909  		RecordStateStarted,
 43910  		RecordStateSucceeded,
 43911  		RecordStateFailed,
 43912  	}
 43913  }
 43914  
 43915  const (
 43916  	// RegionNameUsEast1 is a RegionName enum value
 43917  	RegionNameUsEast1 = "us-east-1"
 43918  
 43919  	// RegionNameUsEast2 is a RegionName enum value
 43920  	RegionNameUsEast2 = "us-east-2"
 43921  
 43922  	// RegionNameUsWest1 is a RegionName enum value
 43923  	RegionNameUsWest1 = "us-west-1"
 43924  
 43925  	// RegionNameUsWest2 is a RegionName enum value
 43926  	RegionNameUsWest2 = "us-west-2"
 43927  
 43928  	// RegionNameEuWest1 is a RegionName enum value
 43929  	RegionNameEuWest1 = "eu-west-1"
 43930  
 43931  	// RegionNameEuWest2 is a RegionName enum value
 43932  	RegionNameEuWest2 = "eu-west-2"
 43933  
 43934  	// RegionNameEuWest3 is a RegionName enum value
 43935  	RegionNameEuWest3 = "eu-west-3"
 43936  
 43937  	// RegionNameEuCentral1 is a RegionName enum value
 43938  	RegionNameEuCentral1 = "eu-central-1"
 43939  
 43940  	// RegionNameCaCentral1 is a RegionName enum value
 43941  	RegionNameCaCentral1 = "ca-central-1"
 43942  
 43943  	// RegionNameApSouth1 is a RegionName enum value
 43944  	RegionNameApSouth1 = "ap-south-1"
 43945  
 43946  	// RegionNameApSoutheast1 is a RegionName enum value
 43947  	RegionNameApSoutheast1 = "ap-southeast-1"
 43948  
 43949  	// RegionNameApSoutheast2 is a RegionName enum value
 43950  	RegionNameApSoutheast2 = "ap-southeast-2"
 43951  
 43952  	// RegionNameApNortheast1 is a RegionName enum value
 43953  	RegionNameApNortheast1 = "ap-northeast-1"
 43954  
 43955  	// RegionNameApNortheast2 is a RegionName enum value
 43956  	RegionNameApNortheast2 = "ap-northeast-2"
 43957  
 43958  	// RegionNameEuNorth1 is a RegionName enum value
 43959  	RegionNameEuNorth1 = "eu-north-1"
 43960  )
 43961  
 43962  // RegionName_Values returns all elements of the RegionName enum
 43963  func RegionName_Values() []string {
 43964  	return []string{
 43965  		RegionNameUsEast1,
 43966  		RegionNameUsEast2,
 43967  		RegionNameUsWest1,
 43968  		RegionNameUsWest2,
 43969  		RegionNameEuWest1,
 43970  		RegionNameEuWest2,
 43971  		RegionNameEuWest3,
 43972  		RegionNameEuCentral1,
 43973  		RegionNameCaCentral1,
 43974  		RegionNameApSouth1,
 43975  		RegionNameApSoutheast1,
 43976  		RegionNameApSoutheast2,
 43977  		RegionNameApNortheast1,
 43978  		RegionNameApNortheast2,
 43979  		RegionNameEuNorth1,
 43980  	}
 43981  }
 43982  
 43983  const (
 43984  	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
 43985  	RelationalDatabaseEngineMysql = "mysql"
 43986  )
 43987  
 43988  // RelationalDatabaseEngine_Values returns all elements of the RelationalDatabaseEngine enum
 43989  func RelationalDatabaseEngine_Values() []string {
 43990  	return []string{
 43991  		RelationalDatabaseEngineMysql,
 43992  	}
 43993  }
 43994  
 43995  const (
 43996  	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
 43997  	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
 43998  
 43999  	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
 44000  	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
 44001  
 44002  	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
 44003  	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
 44004  
 44005  	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
 44006  	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
 44007  
 44008  	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
 44009  	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
 44010  
 44011  	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
 44012  	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
 44013  )
 44014  
 44015  // RelationalDatabaseMetricName_Values returns all elements of the RelationalDatabaseMetricName enum
 44016  func RelationalDatabaseMetricName_Values() []string {
 44017  	return []string{
 44018  		RelationalDatabaseMetricNameCpuutilization,
 44019  		RelationalDatabaseMetricNameDatabaseConnections,
 44020  		RelationalDatabaseMetricNameDiskQueueDepth,
 44021  		RelationalDatabaseMetricNameFreeStorageSpace,
 44022  		RelationalDatabaseMetricNameNetworkReceiveThroughput,
 44023  		RelationalDatabaseMetricNameNetworkTransmitThroughput,
 44024  	}
 44025  }
 44026  
 44027  const (
 44028  	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
 44029  	RelationalDatabasePasswordVersionCurrent = "CURRENT"
 44030  
 44031  	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
 44032  	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
 44033  
 44034  	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
 44035  	RelationalDatabasePasswordVersionPending = "PENDING"
 44036  )
 44037  
 44038  // RelationalDatabasePasswordVersion_Values returns all elements of the RelationalDatabasePasswordVersion enum
 44039  func RelationalDatabasePasswordVersion_Values() []string {
 44040  	return []string{
 44041  		RelationalDatabasePasswordVersionCurrent,
 44042  		RelationalDatabasePasswordVersionPrevious,
 44043  		RelationalDatabasePasswordVersionPending,
 44044  	}
 44045  }
 44046  
 44047  const (
 44048  	// RenewalStatusPendingAutoRenewal is a RenewalStatus enum value
 44049  	RenewalStatusPendingAutoRenewal = "PendingAutoRenewal"
 44050  
 44051  	// RenewalStatusPendingValidation is a RenewalStatus enum value
 44052  	RenewalStatusPendingValidation = "PendingValidation"
 44053  
 44054  	// RenewalStatusSuccess is a RenewalStatus enum value
 44055  	RenewalStatusSuccess = "Success"
 44056  
 44057  	// RenewalStatusFailed is a RenewalStatus enum value
 44058  	RenewalStatusFailed = "Failed"
 44059  )
 44060  
 44061  // RenewalStatus_Values returns all elements of the RenewalStatus enum
 44062  func RenewalStatus_Values() []string {
 44063  	return []string{
 44064  		RenewalStatusPendingAutoRenewal,
 44065  		RenewalStatusPendingValidation,
 44066  		RenewalStatusSuccess,
 44067  		RenewalStatusFailed,
 44068  	}
 44069  }
 44070  
 44071  const (
 44072  	// ResourceBucketAccessAllow is a ResourceBucketAccess enum value
 44073  	ResourceBucketAccessAllow = "allow"
 44074  
 44075  	// ResourceBucketAccessDeny is a ResourceBucketAccess enum value
 44076  	ResourceBucketAccessDeny = "deny"
 44077  )
 44078  
 44079  // ResourceBucketAccess_Values returns all elements of the ResourceBucketAccess enum
 44080  func ResourceBucketAccess_Values() []string {
 44081  	return []string{
 44082  		ResourceBucketAccessAllow,
 44083  		ResourceBucketAccessDeny,
 44084  	}
 44085  }
 44086  
 44087  const (
 44088  	// ResourceTypeContainerService is a ResourceType enum value
 44089  	ResourceTypeContainerService = "ContainerService"
 44090  
 44091  	// ResourceTypeInstance is a ResourceType enum value
 44092  	ResourceTypeInstance = "Instance"
 44093  
 44094  	// ResourceTypeStaticIp is a ResourceType enum value
 44095  	ResourceTypeStaticIp = "StaticIp"
 44096  
 44097  	// ResourceTypeKeyPair is a ResourceType enum value
 44098  	ResourceTypeKeyPair = "KeyPair"
 44099  
 44100  	// ResourceTypeInstanceSnapshot is a ResourceType enum value
 44101  	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
 44102  
 44103  	// ResourceTypeDomain is a ResourceType enum value
 44104  	ResourceTypeDomain = "Domain"
 44105  
 44106  	// ResourceTypePeeredVpc is a ResourceType enum value
 44107  	ResourceTypePeeredVpc = "PeeredVpc"
 44108  
 44109  	// ResourceTypeLoadBalancer is a ResourceType enum value
 44110  	ResourceTypeLoadBalancer = "LoadBalancer"
 44111  
 44112  	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
 44113  	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
 44114  
 44115  	// ResourceTypeDisk is a ResourceType enum value
 44116  	ResourceTypeDisk = "Disk"
 44117  
 44118  	// ResourceTypeDiskSnapshot is a ResourceType enum value
 44119  	ResourceTypeDiskSnapshot = "DiskSnapshot"
 44120  
 44121  	// ResourceTypeRelationalDatabase is a ResourceType enum value
 44122  	ResourceTypeRelationalDatabase = "RelationalDatabase"
 44123  
 44124  	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
 44125  	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
 44126  
 44127  	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
 44128  	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
 44129  
 44130  	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
 44131  	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
 44132  
 44133  	// ResourceTypeAlarm is a ResourceType enum value
 44134  	ResourceTypeAlarm = "Alarm"
 44135  
 44136  	// ResourceTypeContactMethod is a ResourceType enum value
 44137  	ResourceTypeContactMethod = "ContactMethod"
 44138  
 44139  	// ResourceTypeDistribution is a ResourceType enum value
 44140  	ResourceTypeDistribution = "Distribution"
 44141  
 44142  	// ResourceTypeCertificate is a ResourceType enum value
 44143  	ResourceTypeCertificate = "Certificate"
 44144  
 44145  	// ResourceTypeBucket is a ResourceType enum value
 44146  	ResourceTypeBucket = "Bucket"
 44147  )
 44148  
 44149  // ResourceType_Values returns all elements of the ResourceType enum
 44150  func ResourceType_Values() []string {
 44151  	return []string{
 44152  		ResourceTypeContainerService,
 44153  		ResourceTypeInstance,
 44154  		ResourceTypeStaticIp,
 44155  		ResourceTypeKeyPair,
 44156  		ResourceTypeInstanceSnapshot,
 44157  		ResourceTypeDomain,
 44158  		ResourceTypePeeredVpc,
 44159  		ResourceTypeLoadBalancer,
 44160  		ResourceTypeLoadBalancerTlsCertificate,
 44161  		ResourceTypeDisk,
 44162  		ResourceTypeDiskSnapshot,
 44163  		ResourceTypeRelationalDatabase,
 44164  		ResourceTypeRelationalDatabaseSnapshot,
 44165  		ResourceTypeExportSnapshotRecord,
 44166  		ResourceTypeCloudFormationStackRecord,
 44167  		ResourceTypeAlarm,
 44168  		ResourceTypeContactMethod,
 44169  		ResourceTypeDistribution,
 44170  		ResourceTypeCertificate,
 44171  		ResourceTypeBucket,
 44172  	}
 44173  }
 44174  
 44175  const (
 44176  	// StatusTypeActive is a StatusType enum value
 44177  	StatusTypeActive = "Active"
 44178  
 44179  	// StatusTypeInactive is a StatusType enum value
 44180  	StatusTypeInactive = "Inactive"
 44181  )
 44182  
 44183  // StatusType_Values returns all elements of the StatusType enum
 44184  func StatusType_Values() []string {
 44185  	return []string{
 44186  		StatusTypeActive,
 44187  		StatusTypeInactive,
 44188  	}
 44189  }
 44190  
 44191  const (
 44192  	// TreatMissingDataBreaching is a TreatMissingData enum value
 44193  	TreatMissingDataBreaching = "breaching"
 44194  
 44195  	// TreatMissingDataNotBreaching is a TreatMissingData enum value
 44196  	TreatMissingDataNotBreaching = "notBreaching"
 44197  
 44198  	// TreatMissingDataIgnore is a TreatMissingData enum value
 44199  	TreatMissingDataIgnore = "ignore"
 44200  
 44201  	// TreatMissingDataMissing is a TreatMissingData enum value
 44202  	TreatMissingDataMissing = "missing"
 44203  )
 44204  
 44205  // TreatMissingData_Values returns all elements of the TreatMissingData enum
 44206  func TreatMissingData_Values() []string {
 44207  	return []string{
 44208  		TreatMissingDataBreaching,
 44209  		TreatMissingDataNotBreaching,
 44210  		TreatMissingDataIgnore,
 44211  		TreatMissingDataMissing,
 44212  	}
 44213  }