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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package opsworks
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    13  )
    14  
    15  const opAssignInstance = "AssignInstance"
    16  
    17  // AssignInstanceRequest generates a "aws/request.Request" representing the
    18  // client's request for the AssignInstance operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See AssignInstance for more information on using the AssignInstance
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the AssignInstanceRequest method.
    33  //    req, resp := client.AssignInstanceRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignInstance
    41  func (c *OpsWorks) AssignInstanceRequest(input *AssignInstanceInput) (req *request.Request, output *AssignInstanceOutput) {
    42  	op := &request.Operation{
    43  		Name:       opAssignInstance,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &AssignInstanceInput{}
    50  	}
    51  
    52  	output = &AssignInstanceOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    55  	return
    56  }
    57  
    58  // AssignInstance API operation for AWS OpsWorks.
    59  //
    60  // Assign a registered instance to a layer.
    61  //
    62  //    * You can assign registered on-premises instances to any layer type.
    63  //
    64  //    * You can assign registered Amazon EC2 instances only to custom layers.
    65  //
    66  //    * You cannot use this action with instances that were created with AWS
    67  //    OpsWorks Stacks.
    68  //
    69  // Required Permissions: To use this action, an AWS Identity and Access Management
    70  // (IAM) user must have a Manage permissions level for the stack or an attached
    71  // policy that explicitly grants permissions. For more information on user permissions,
    72  // see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
    73  //
    74  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    75  // with awserr.Error's Code and Message methods to get detailed information about
    76  // the error.
    77  //
    78  // See the AWS API reference guide for AWS OpsWorks's
    79  // API operation AssignInstance for usage and error information.
    80  //
    81  // Returned Error Types:
    82  //   * ValidationException
    83  //   Indicates that a request was not valid.
    84  //
    85  //   * ResourceNotFoundException
    86  //   Indicates that a resource was not found.
    87  //
    88  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignInstance
    89  func (c *OpsWorks) AssignInstance(input *AssignInstanceInput) (*AssignInstanceOutput, error) {
    90  	req, out := c.AssignInstanceRequest(input)
    91  	return out, req.Send()
    92  }
    93  
    94  // AssignInstanceWithContext is the same as AssignInstance with the addition of
    95  // the ability to pass a context and additional request options.
    96  //
    97  // See AssignInstance for details on how to use this API operation.
    98  //
    99  // The context must be non-nil and will be used for request cancellation. If
   100  // the context is nil a panic will occur. In the future the SDK may create
   101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   102  // for more information on using Contexts.
   103  func (c *OpsWorks) AssignInstanceWithContext(ctx aws.Context, input *AssignInstanceInput, opts ...request.Option) (*AssignInstanceOutput, error) {
   104  	req, out := c.AssignInstanceRequest(input)
   105  	req.SetContext(ctx)
   106  	req.ApplyOptions(opts...)
   107  	return out, req.Send()
   108  }
   109  
   110  const opAssignVolume = "AssignVolume"
   111  
   112  // AssignVolumeRequest generates a "aws/request.Request" representing the
   113  // client's request for the AssignVolume operation. The "output" return
   114  // value will be populated with the request's response once the request completes
   115  // successfully.
   116  //
   117  // Use "Send" method on the returned Request to send the API call to the service.
   118  // the "output" return value is not valid until after Send returns without error.
   119  //
   120  // See AssignVolume for more information on using the AssignVolume
   121  // API call, and error handling.
   122  //
   123  // This method is useful when you want to inject custom logic or configuration
   124  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   125  //
   126  //
   127  //    // Example sending a request using the AssignVolumeRequest method.
   128  //    req, resp := client.AssignVolumeRequest(params)
   129  //
   130  //    err := req.Send()
   131  //    if err == nil { // resp is now filled
   132  //        fmt.Println(resp)
   133  //    }
   134  //
   135  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignVolume
   136  func (c *OpsWorks) AssignVolumeRequest(input *AssignVolumeInput) (req *request.Request, output *AssignVolumeOutput) {
   137  	op := &request.Operation{
   138  		Name:       opAssignVolume,
   139  		HTTPMethod: "POST",
   140  		HTTPPath:   "/",
   141  	}
   142  
   143  	if input == nil {
   144  		input = &AssignVolumeInput{}
   145  	}
   146  
   147  	output = &AssignVolumeOutput{}
   148  	req = c.newRequest(op, input, output)
   149  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   150  	return
   151  }
   152  
   153  // AssignVolume API operation for AWS OpsWorks.
   154  //
   155  // Assigns one of the stack's registered Amazon EBS volumes to a specified instance.
   156  // The volume must first be registered with the stack by calling RegisterVolume.
   157  // After you register the volume, you must call UpdateVolume to specify a mount
   158  // point before calling AssignVolume. For more information, see Resource Management
   159  // (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
   160  //
   161  // Required Permissions: To use this action, an IAM user must have a Manage
   162  // permissions level for the stack, or an attached policy that explicitly grants
   163  // permissions. For more information on user permissions, see Managing User
   164  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   165  //
   166  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   167  // with awserr.Error's Code and Message methods to get detailed information about
   168  // the error.
   169  //
   170  // See the AWS API reference guide for AWS OpsWorks's
   171  // API operation AssignVolume for usage and error information.
   172  //
   173  // Returned Error Types:
   174  //   * ValidationException
   175  //   Indicates that a request was not valid.
   176  //
   177  //   * ResourceNotFoundException
   178  //   Indicates that a resource was not found.
   179  //
   180  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignVolume
   181  func (c *OpsWorks) AssignVolume(input *AssignVolumeInput) (*AssignVolumeOutput, error) {
   182  	req, out := c.AssignVolumeRequest(input)
   183  	return out, req.Send()
   184  }
   185  
   186  // AssignVolumeWithContext is the same as AssignVolume with the addition of
   187  // the ability to pass a context and additional request options.
   188  //
   189  // See AssignVolume for details on how to use this API operation.
   190  //
   191  // The context must be non-nil and will be used for request cancellation. If
   192  // the context is nil a panic will occur. In the future the SDK may create
   193  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   194  // for more information on using Contexts.
   195  func (c *OpsWorks) AssignVolumeWithContext(ctx aws.Context, input *AssignVolumeInput, opts ...request.Option) (*AssignVolumeOutput, error) {
   196  	req, out := c.AssignVolumeRequest(input)
   197  	req.SetContext(ctx)
   198  	req.ApplyOptions(opts...)
   199  	return out, req.Send()
   200  }
   201  
   202  const opAssociateElasticIp = "AssociateElasticIp"
   203  
   204  // AssociateElasticIpRequest generates a "aws/request.Request" representing the
   205  // client's request for the AssociateElasticIp operation. The "output" return
   206  // value will be populated with the request's response once the request completes
   207  // successfully.
   208  //
   209  // Use "Send" method on the returned Request to send the API call to the service.
   210  // the "output" return value is not valid until after Send returns without error.
   211  //
   212  // See AssociateElasticIp for more information on using the AssociateElasticIp
   213  // API call, and error handling.
   214  //
   215  // This method is useful when you want to inject custom logic or configuration
   216  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   217  //
   218  //
   219  //    // Example sending a request using the AssociateElasticIpRequest method.
   220  //    req, resp := client.AssociateElasticIpRequest(params)
   221  //
   222  //    err := req.Send()
   223  //    if err == nil { // resp is now filled
   224  //        fmt.Println(resp)
   225  //    }
   226  //
   227  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssociateElasticIp
   228  func (c *OpsWorks) AssociateElasticIpRequest(input *AssociateElasticIpInput) (req *request.Request, output *AssociateElasticIpOutput) {
   229  	op := &request.Operation{
   230  		Name:       opAssociateElasticIp,
   231  		HTTPMethod: "POST",
   232  		HTTPPath:   "/",
   233  	}
   234  
   235  	if input == nil {
   236  		input = &AssociateElasticIpInput{}
   237  	}
   238  
   239  	output = &AssociateElasticIpOutput{}
   240  	req = c.newRequest(op, input, output)
   241  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   242  	return
   243  }
   244  
   245  // AssociateElasticIp API operation for AWS OpsWorks.
   246  //
   247  // Associates one of the stack's registered Elastic IP addresses with a specified
   248  // instance. The address must first be registered with the stack by calling
   249  // RegisterElasticIp. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
   250  //
   251  // Required Permissions: To use this action, an IAM user must have a Manage
   252  // permissions level for the stack, or an attached policy that explicitly grants
   253  // permissions. For more information on user permissions, see Managing User
   254  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   255  //
   256  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   257  // with awserr.Error's Code and Message methods to get detailed information about
   258  // the error.
   259  //
   260  // See the AWS API reference guide for AWS OpsWorks's
   261  // API operation AssociateElasticIp for usage and error information.
   262  //
   263  // Returned Error Types:
   264  //   * ValidationException
   265  //   Indicates that a request was not valid.
   266  //
   267  //   * ResourceNotFoundException
   268  //   Indicates that a resource was not found.
   269  //
   270  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssociateElasticIp
   271  func (c *OpsWorks) AssociateElasticIp(input *AssociateElasticIpInput) (*AssociateElasticIpOutput, error) {
   272  	req, out := c.AssociateElasticIpRequest(input)
   273  	return out, req.Send()
   274  }
   275  
   276  // AssociateElasticIpWithContext is the same as AssociateElasticIp with the addition of
   277  // the ability to pass a context and additional request options.
   278  //
   279  // See AssociateElasticIp for details on how to use this API operation.
   280  //
   281  // The context must be non-nil and will be used for request cancellation. If
   282  // the context is nil a panic will occur. In the future the SDK may create
   283  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   284  // for more information on using Contexts.
   285  func (c *OpsWorks) AssociateElasticIpWithContext(ctx aws.Context, input *AssociateElasticIpInput, opts ...request.Option) (*AssociateElasticIpOutput, error) {
   286  	req, out := c.AssociateElasticIpRequest(input)
   287  	req.SetContext(ctx)
   288  	req.ApplyOptions(opts...)
   289  	return out, req.Send()
   290  }
   291  
   292  const opAttachElasticLoadBalancer = "AttachElasticLoadBalancer"
   293  
   294  // AttachElasticLoadBalancerRequest generates a "aws/request.Request" representing the
   295  // client's request for the AttachElasticLoadBalancer operation. The "output" return
   296  // value will be populated with the request's response once the request completes
   297  // successfully.
   298  //
   299  // Use "Send" method on the returned Request to send the API call to the service.
   300  // the "output" return value is not valid until after Send returns without error.
   301  //
   302  // See AttachElasticLoadBalancer for more information on using the AttachElasticLoadBalancer
   303  // API call, and error handling.
   304  //
   305  // This method is useful when you want to inject custom logic or configuration
   306  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   307  //
   308  //
   309  //    // Example sending a request using the AttachElasticLoadBalancerRequest method.
   310  //    req, resp := client.AttachElasticLoadBalancerRequest(params)
   311  //
   312  //    err := req.Send()
   313  //    if err == nil { // resp is now filled
   314  //        fmt.Println(resp)
   315  //    }
   316  //
   317  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AttachElasticLoadBalancer
   318  func (c *OpsWorks) AttachElasticLoadBalancerRequest(input *AttachElasticLoadBalancerInput) (req *request.Request, output *AttachElasticLoadBalancerOutput) {
   319  	op := &request.Operation{
   320  		Name:       opAttachElasticLoadBalancer,
   321  		HTTPMethod: "POST",
   322  		HTTPPath:   "/",
   323  	}
   324  
   325  	if input == nil {
   326  		input = &AttachElasticLoadBalancerInput{}
   327  	}
   328  
   329  	output = &AttachElasticLoadBalancerOutput{}
   330  	req = c.newRequest(op, input, output)
   331  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   332  	return
   333  }
   334  
   335  // AttachElasticLoadBalancer API operation for AWS OpsWorks.
   336  //
   337  // Attaches an Elastic Load Balancing load balancer to a specified layer. AWS
   338  // OpsWorks Stacks does not support Application Load Balancer. You can only
   339  // use Classic Load Balancer with AWS OpsWorks Stacks. For more information,
   340  // see Elastic Load Balancing (https://docs.aws.amazon.com/opsworks/latest/userguide/layers-elb.html).
   341  //
   342  // You must create the Elastic Load Balancing instance separately, by using
   343  // the Elastic Load Balancing console, API, or CLI. For more information, see
   344  // Elastic Load Balancing Developer Guide (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/Welcome.html).
   345  //
   346  // Required Permissions: To use this action, an IAM user must have a Manage
   347  // permissions level for the stack, or an attached policy that explicitly grants
   348  // permissions. For more information on user permissions, see Managing User
   349  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   350  //
   351  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   352  // with awserr.Error's Code and Message methods to get detailed information about
   353  // the error.
   354  //
   355  // See the AWS API reference guide for AWS OpsWorks's
   356  // API operation AttachElasticLoadBalancer for usage and error information.
   357  //
   358  // Returned Error Types:
   359  //   * ValidationException
   360  //   Indicates that a request was not valid.
   361  //
   362  //   * ResourceNotFoundException
   363  //   Indicates that a resource was not found.
   364  //
   365  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AttachElasticLoadBalancer
   366  func (c *OpsWorks) AttachElasticLoadBalancer(input *AttachElasticLoadBalancerInput) (*AttachElasticLoadBalancerOutput, error) {
   367  	req, out := c.AttachElasticLoadBalancerRequest(input)
   368  	return out, req.Send()
   369  }
   370  
   371  // AttachElasticLoadBalancerWithContext is the same as AttachElasticLoadBalancer with the addition of
   372  // the ability to pass a context and additional request options.
   373  //
   374  // See AttachElasticLoadBalancer for details on how to use this API operation.
   375  //
   376  // The context must be non-nil and will be used for request cancellation. If
   377  // the context is nil a panic will occur. In the future the SDK may create
   378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   379  // for more information on using Contexts.
   380  func (c *OpsWorks) AttachElasticLoadBalancerWithContext(ctx aws.Context, input *AttachElasticLoadBalancerInput, opts ...request.Option) (*AttachElasticLoadBalancerOutput, error) {
   381  	req, out := c.AttachElasticLoadBalancerRequest(input)
   382  	req.SetContext(ctx)
   383  	req.ApplyOptions(opts...)
   384  	return out, req.Send()
   385  }
   386  
   387  const opCloneStack = "CloneStack"
   388  
   389  // CloneStackRequest generates a "aws/request.Request" representing the
   390  // client's request for the CloneStack operation. The "output" return
   391  // value will be populated with the request's response once the request completes
   392  // successfully.
   393  //
   394  // Use "Send" method on the returned Request to send the API call to the service.
   395  // the "output" return value is not valid until after Send returns without error.
   396  //
   397  // See CloneStack for more information on using the CloneStack
   398  // API call, and error handling.
   399  //
   400  // This method is useful when you want to inject custom logic or configuration
   401  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   402  //
   403  //
   404  //    // Example sending a request using the CloneStackRequest method.
   405  //    req, resp := client.CloneStackRequest(params)
   406  //
   407  //    err := req.Send()
   408  //    if err == nil { // resp is now filled
   409  //        fmt.Println(resp)
   410  //    }
   411  //
   412  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CloneStack
   413  func (c *OpsWorks) CloneStackRequest(input *CloneStackInput) (req *request.Request, output *CloneStackOutput) {
   414  	op := &request.Operation{
   415  		Name:       opCloneStack,
   416  		HTTPMethod: "POST",
   417  		HTTPPath:   "/",
   418  	}
   419  
   420  	if input == nil {
   421  		input = &CloneStackInput{}
   422  	}
   423  
   424  	output = &CloneStackOutput{}
   425  	req = c.newRequest(op, input, output)
   426  	return
   427  }
   428  
   429  // CloneStack API operation for AWS OpsWorks.
   430  //
   431  // Creates a clone of a specified stack. For more information, see Clone a Stack
   432  // (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-cloning.html).
   433  // By default, all parameters are set to the values used by the parent stack.
   434  //
   435  // Required Permissions: To use this action, an IAM user must have an attached
   436  // policy that explicitly grants permissions. For more information about user
   437  // permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   438  //
   439  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   440  // with awserr.Error's Code and Message methods to get detailed information about
   441  // the error.
   442  //
   443  // See the AWS API reference guide for AWS OpsWorks's
   444  // API operation CloneStack for usage and error information.
   445  //
   446  // Returned Error Types:
   447  //   * ValidationException
   448  //   Indicates that a request was not valid.
   449  //
   450  //   * ResourceNotFoundException
   451  //   Indicates that a resource was not found.
   452  //
   453  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CloneStack
   454  func (c *OpsWorks) CloneStack(input *CloneStackInput) (*CloneStackOutput, error) {
   455  	req, out := c.CloneStackRequest(input)
   456  	return out, req.Send()
   457  }
   458  
   459  // CloneStackWithContext is the same as CloneStack with the addition of
   460  // the ability to pass a context and additional request options.
   461  //
   462  // See CloneStack for details on how to use this API operation.
   463  //
   464  // The context must be non-nil and will be used for request cancellation. If
   465  // the context is nil a panic will occur. In the future the SDK may create
   466  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   467  // for more information on using Contexts.
   468  func (c *OpsWorks) CloneStackWithContext(ctx aws.Context, input *CloneStackInput, opts ...request.Option) (*CloneStackOutput, error) {
   469  	req, out := c.CloneStackRequest(input)
   470  	req.SetContext(ctx)
   471  	req.ApplyOptions(opts...)
   472  	return out, req.Send()
   473  }
   474  
   475  const opCreateApp = "CreateApp"
   476  
   477  // CreateAppRequest generates a "aws/request.Request" representing the
   478  // client's request for the CreateApp operation. The "output" return
   479  // value will be populated with the request's response once the request completes
   480  // successfully.
   481  //
   482  // Use "Send" method on the returned Request to send the API call to the service.
   483  // the "output" return value is not valid until after Send returns without error.
   484  //
   485  // See CreateApp for more information on using the CreateApp
   486  // API call, and error handling.
   487  //
   488  // This method is useful when you want to inject custom logic or configuration
   489  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   490  //
   491  //
   492  //    // Example sending a request using the CreateAppRequest method.
   493  //    req, resp := client.CreateAppRequest(params)
   494  //
   495  //    err := req.Send()
   496  //    if err == nil { // resp is now filled
   497  //        fmt.Println(resp)
   498  //    }
   499  //
   500  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateApp
   501  func (c *OpsWorks) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
   502  	op := &request.Operation{
   503  		Name:       opCreateApp,
   504  		HTTPMethod: "POST",
   505  		HTTPPath:   "/",
   506  	}
   507  
   508  	if input == nil {
   509  		input = &CreateAppInput{}
   510  	}
   511  
   512  	output = &CreateAppOutput{}
   513  	req = c.newRequest(op, input, output)
   514  	return
   515  }
   516  
   517  // CreateApp API operation for AWS OpsWorks.
   518  //
   519  // Creates an app for a specified stack. For more information, see Creating
   520  // Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html).
   521  //
   522  // Required Permissions: To use this action, an IAM user must have a Manage
   523  // permissions level for the stack, or an attached policy that explicitly grants
   524  // permissions. For more information on user permissions, see Managing User
   525  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   526  //
   527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   528  // with awserr.Error's Code and Message methods to get detailed information about
   529  // the error.
   530  //
   531  // See the AWS API reference guide for AWS OpsWorks's
   532  // API operation CreateApp for usage and error information.
   533  //
   534  // Returned Error Types:
   535  //   * ValidationException
   536  //   Indicates that a request was not valid.
   537  //
   538  //   * ResourceNotFoundException
   539  //   Indicates that a resource was not found.
   540  //
   541  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateApp
   542  func (c *OpsWorks) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
   543  	req, out := c.CreateAppRequest(input)
   544  	return out, req.Send()
   545  }
   546  
   547  // CreateAppWithContext is the same as CreateApp with the addition of
   548  // the ability to pass a context and additional request options.
   549  //
   550  // See CreateApp for details on how to use this API operation.
   551  //
   552  // The context must be non-nil and will be used for request cancellation. If
   553  // the context is nil a panic will occur. In the future the SDK may create
   554  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   555  // for more information on using Contexts.
   556  func (c *OpsWorks) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
   557  	req, out := c.CreateAppRequest(input)
   558  	req.SetContext(ctx)
   559  	req.ApplyOptions(opts...)
   560  	return out, req.Send()
   561  }
   562  
   563  const opCreateDeployment = "CreateDeployment"
   564  
   565  // CreateDeploymentRequest generates a "aws/request.Request" representing the
   566  // client's request for the CreateDeployment operation. The "output" return
   567  // value will be populated with the request's response once the request completes
   568  // successfully.
   569  //
   570  // Use "Send" method on the returned Request to send the API call to the service.
   571  // the "output" return value is not valid until after Send returns without error.
   572  //
   573  // See CreateDeployment for more information on using the CreateDeployment
   574  // API call, and error handling.
   575  //
   576  // This method is useful when you want to inject custom logic or configuration
   577  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   578  //
   579  //
   580  //    // Example sending a request using the CreateDeploymentRequest method.
   581  //    req, resp := client.CreateDeploymentRequest(params)
   582  //
   583  //    err := req.Send()
   584  //    if err == nil { // resp is now filled
   585  //        fmt.Println(resp)
   586  //    }
   587  //
   588  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateDeployment
   589  func (c *OpsWorks) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
   590  	op := &request.Operation{
   591  		Name:       opCreateDeployment,
   592  		HTTPMethod: "POST",
   593  		HTTPPath:   "/",
   594  	}
   595  
   596  	if input == nil {
   597  		input = &CreateDeploymentInput{}
   598  	}
   599  
   600  	output = &CreateDeploymentOutput{}
   601  	req = c.newRequest(op, input, output)
   602  	return
   603  }
   604  
   605  // CreateDeployment API operation for AWS OpsWorks.
   606  //
   607  // Runs deployment or stack commands. For more information, see Deploying Apps
   608  // (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-deploying.html)
   609  // and Run Stack Commands (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-commands.html).
   610  //
   611  // Required Permissions: To use this action, an IAM user must have a Deploy
   612  // or Manage permissions level for the stack, or an attached policy that explicitly
   613  // grants permissions. For more information on user permissions, see Managing
   614  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   615  //
   616  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   617  // with awserr.Error's Code and Message methods to get detailed information about
   618  // the error.
   619  //
   620  // See the AWS API reference guide for AWS OpsWorks's
   621  // API operation CreateDeployment for usage and error information.
   622  //
   623  // Returned Error Types:
   624  //   * ValidationException
   625  //   Indicates that a request was not valid.
   626  //
   627  //   * ResourceNotFoundException
   628  //   Indicates that a resource was not found.
   629  //
   630  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateDeployment
   631  func (c *OpsWorks) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
   632  	req, out := c.CreateDeploymentRequest(input)
   633  	return out, req.Send()
   634  }
   635  
   636  // CreateDeploymentWithContext is the same as CreateDeployment with the addition of
   637  // the ability to pass a context and additional request options.
   638  //
   639  // See CreateDeployment for details on how to use this API operation.
   640  //
   641  // The context must be non-nil and will be used for request cancellation. If
   642  // the context is nil a panic will occur. In the future the SDK may create
   643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   644  // for more information on using Contexts.
   645  func (c *OpsWorks) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
   646  	req, out := c.CreateDeploymentRequest(input)
   647  	req.SetContext(ctx)
   648  	req.ApplyOptions(opts...)
   649  	return out, req.Send()
   650  }
   651  
   652  const opCreateInstance = "CreateInstance"
   653  
   654  // CreateInstanceRequest generates a "aws/request.Request" representing the
   655  // client's request for the CreateInstance operation. The "output" return
   656  // value will be populated with the request's response once the request completes
   657  // successfully.
   658  //
   659  // Use "Send" method on the returned Request to send the API call to the service.
   660  // the "output" return value is not valid until after Send returns without error.
   661  //
   662  // See CreateInstance for more information on using the CreateInstance
   663  // API call, and error handling.
   664  //
   665  // This method is useful when you want to inject custom logic or configuration
   666  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   667  //
   668  //
   669  //    // Example sending a request using the CreateInstanceRequest method.
   670  //    req, resp := client.CreateInstanceRequest(params)
   671  //
   672  //    err := req.Send()
   673  //    if err == nil { // resp is now filled
   674  //        fmt.Println(resp)
   675  //    }
   676  //
   677  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateInstance
   678  func (c *OpsWorks) CreateInstanceRequest(input *CreateInstanceInput) (req *request.Request, output *CreateInstanceOutput) {
   679  	op := &request.Operation{
   680  		Name:       opCreateInstance,
   681  		HTTPMethod: "POST",
   682  		HTTPPath:   "/",
   683  	}
   684  
   685  	if input == nil {
   686  		input = &CreateInstanceInput{}
   687  	}
   688  
   689  	output = &CreateInstanceOutput{}
   690  	req = c.newRequest(op, input, output)
   691  	return
   692  }
   693  
   694  // CreateInstance API operation for AWS OpsWorks.
   695  //
   696  // Creates an instance in a specified stack. For more information, see Adding
   697  // an Instance to a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
   698  //
   699  // Required Permissions: To use this action, an IAM user must have a Manage
   700  // permissions level for the stack, or an attached policy that explicitly grants
   701  // permissions. For more information on user permissions, see Managing User
   702  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   703  //
   704  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   705  // with awserr.Error's Code and Message methods to get detailed information about
   706  // the error.
   707  //
   708  // See the AWS API reference guide for AWS OpsWorks's
   709  // API operation CreateInstance for usage and error information.
   710  //
   711  // Returned Error Types:
   712  //   * ValidationException
   713  //   Indicates that a request was not valid.
   714  //
   715  //   * ResourceNotFoundException
   716  //   Indicates that a resource was not found.
   717  //
   718  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateInstance
   719  func (c *OpsWorks) CreateInstance(input *CreateInstanceInput) (*CreateInstanceOutput, error) {
   720  	req, out := c.CreateInstanceRequest(input)
   721  	return out, req.Send()
   722  }
   723  
   724  // CreateInstanceWithContext is the same as CreateInstance with the addition of
   725  // the ability to pass a context and additional request options.
   726  //
   727  // See CreateInstance for details on how to use this API operation.
   728  //
   729  // The context must be non-nil and will be used for request cancellation. If
   730  // the context is nil a panic will occur. In the future the SDK may create
   731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   732  // for more information on using Contexts.
   733  func (c *OpsWorks) CreateInstanceWithContext(ctx aws.Context, input *CreateInstanceInput, opts ...request.Option) (*CreateInstanceOutput, error) {
   734  	req, out := c.CreateInstanceRequest(input)
   735  	req.SetContext(ctx)
   736  	req.ApplyOptions(opts...)
   737  	return out, req.Send()
   738  }
   739  
   740  const opCreateLayer = "CreateLayer"
   741  
   742  // CreateLayerRequest generates a "aws/request.Request" representing the
   743  // client's request for the CreateLayer operation. The "output" return
   744  // value will be populated with the request's response once the request completes
   745  // successfully.
   746  //
   747  // Use "Send" method on the returned Request to send the API call to the service.
   748  // the "output" return value is not valid until after Send returns without error.
   749  //
   750  // See CreateLayer for more information on using the CreateLayer
   751  // API call, and error handling.
   752  //
   753  // This method is useful when you want to inject custom logic or configuration
   754  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   755  //
   756  //
   757  //    // Example sending a request using the CreateLayerRequest method.
   758  //    req, resp := client.CreateLayerRequest(params)
   759  //
   760  //    err := req.Send()
   761  //    if err == nil { // resp is now filled
   762  //        fmt.Println(resp)
   763  //    }
   764  //
   765  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateLayer
   766  func (c *OpsWorks) CreateLayerRequest(input *CreateLayerInput) (req *request.Request, output *CreateLayerOutput) {
   767  	op := &request.Operation{
   768  		Name:       opCreateLayer,
   769  		HTTPMethod: "POST",
   770  		HTTPPath:   "/",
   771  	}
   772  
   773  	if input == nil {
   774  		input = &CreateLayerInput{}
   775  	}
   776  
   777  	output = &CreateLayerOutput{}
   778  	req = c.newRequest(op, input, output)
   779  	return
   780  }
   781  
   782  // CreateLayer API operation for AWS OpsWorks.
   783  //
   784  // Creates a layer. For more information, see How to Create a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-create.html).
   785  //
   786  // You should use CreateLayer for noncustom layer types such as PHP App Server
   787  // only if the stack does not have an existing layer of that type. A stack can
   788  // have at most one instance of each noncustom layer; if you attempt to create
   789  // a second instance, CreateLayer fails. A stack can have an arbitrary number
   790  // of custom layers, so you can call CreateLayer as many times as you like for
   791  // that layer type.
   792  //
   793  // Required Permissions: To use this action, an IAM user must have a Manage
   794  // permissions level for the stack, or an attached policy that explicitly grants
   795  // permissions. For more information on user permissions, see Managing User
   796  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   797  //
   798  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   799  // with awserr.Error's Code and Message methods to get detailed information about
   800  // the error.
   801  //
   802  // See the AWS API reference guide for AWS OpsWorks's
   803  // API operation CreateLayer for usage and error information.
   804  //
   805  // Returned Error Types:
   806  //   * ValidationException
   807  //   Indicates that a request was not valid.
   808  //
   809  //   * ResourceNotFoundException
   810  //   Indicates that a resource was not found.
   811  //
   812  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateLayer
   813  func (c *OpsWorks) CreateLayer(input *CreateLayerInput) (*CreateLayerOutput, error) {
   814  	req, out := c.CreateLayerRequest(input)
   815  	return out, req.Send()
   816  }
   817  
   818  // CreateLayerWithContext is the same as CreateLayer with the addition of
   819  // the ability to pass a context and additional request options.
   820  //
   821  // See CreateLayer for details on how to use this API operation.
   822  //
   823  // The context must be non-nil and will be used for request cancellation. If
   824  // the context is nil a panic will occur. In the future the SDK may create
   825  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   826  // for more information on using Contexts.
   827  func (c *OpsWorks) CreateLayerWithContext(ctx aws.Context, input *CreateLayerInput, opts ...request.Option) (*CreateLayerOutput, error) {
   828  	req, out := c.CreateLayerRequest(input)
   829  	req.SetContext(ctx)
   830  	req.ApplyOptions(opts...)
   831  	return out, req.Send()
   832  }
   833  
   834  const opCreateStack = "CreateStack"
   835  
   836  // CreateStackRequest generates a "aws/request.Request" representing the
   837  // client's request for the CreateStack operation. The "output" return
   838  // value will be populated with the request's response once the request completes
   839  // successfully.
   840  //
   841  // Use "Send" method on the returned Request to send the API call to the service.
   842  // the "output" return value is not valid until after Send returns without error.
   843  //
   844  // See CreateStack for more information on using the CreateStack
   845  // API call, and error handling.
   846  //
   847  // This method is useful when you want to inject custom logic or configuration
   848  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   849  //
   850  //
   851  //    // Example sending a request using the CreateStackRequest method.
   852  //    req, resp := client.CreateStackRequest(params)
   853  //
   854  //    err := req.Send()
   855  //    if err == nil { // resp is now filled
   856  //        fmt.Println(resp)
   857  //    }
   858  //
   859  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateStack
   860  func (c *OpsWorks) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) {
   861  	op := &request.Operation{
   862  		Name:       opCreateStack,
   863  		HTTPMethod: "POST",
   864  		HTTPPath:   "/",
   865  	}
   866  
   867  	if input == nil {
   868  		input = &CreateStackInput{}
   869  	}
   870  
   871  	output = &CreateStackOutput{}
   872  	req = c.newRequest(op, input, output)
   873  	return
   874  }
   875  
   876  // CreateStack API operation for AWS OpsWorks.
   877  //
   878  // Creates a new stack. For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-edit.html).
   879  //
   880  // Required Permissions: To use this action, an IAM user must have an attached
   881  // policy that explicitly grants permissions. For more information about user
   882  // permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   883  //
   884  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   885  // with awserr.Error's Code and Message methods to get detailed information about
   886  // the error.
   887  //
   888  // See the AWS API reference guide for AWS OpsWorks's
   889  // API operation CreateStack for usage and error information.
   890  //
   891  // Returned Error Types:
   892  //   * ValidationException
   893  //   Indicates that a request was not valid.
   894  //
   895  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateStack
   896  func (c *OpsWorks) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) {
   897  	req, out := c.CreateStackRequest(input)
   898  	return out, req.Send()
   899  }
   900  
   901  // CreateStackWithContext is the same as CreateStack with the addition of
   902  // the ability to pass a context and additional request options.
   903  //
   904  // See CreateStack for details on how to use this API operation.
   905  //
   906  // The context must be non-nil and will be used for request cancellation. If
   907  // the context is nil a panic will occur. In the future the SDK may create
   908  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   909  // for more information on using Contexts.
   910  func (c *OpsWorks) CreateStackWithContext(ctx aws.Context, input *CreateStackInput, opts ...request.Option) (*CreateStackOutput, error) {
   911  	req, out := c.CreateStackRequest(input)
   912  	req.SetContext(ctx)
   913  	req.ApplyOptions(opts...)
   914  	return out, req.Send()
   915  }
   916  
   917  const opCreateUserProfile = "CreateUserProfile"
   918  
   919  // CreateUserProfileRequest generates a "aws/request.Request" representing the
   920  // client's request for the CreateUserProfile operation. The "output" return
   921  // value will be populated with the request's response once the request completes
   922  // successfully.
   923  //
   924  // Use "Send" method on the returned Request to send the API call to the service.
   925  // the "output" return value is not valid until after Send returns without error.
   926  //
   927  // See CreateUserProfile for more information on using the CreateUserProfile
   928  // API call, and error handling.
   929  //
   930  // This method is useful when you want to inject custom logic or configuration
   931  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   932  //
   933  //
   934  //    // Example sending a request using the CreateUserProfileRequest method.
   935  //    req, resp := client.CreateUserProfileRequest(params)
   936  //
   937  //    err := req.Send()
   938  //    if err == nil { // resp is now filled
   939  //        fmt.Println(resp)
   940  //    }
   941  //
   942  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateUserProfile
   943  func (c *OpsWorks) CreateUserProfileRequest(input *CreateUserProfileInput) (req *request.Request, output *CreateUserProfileOutput) {
   944  	op := &request.Operation{
   945  		Name:       opCreateUserProfile,
   946  		HTTPMethod: "POST",
   947  		HTTPPath:   "/",
   948  	}
   949  
   950  	if input == nil {
   951  		input = &CreateUserProfileInput{}
   952  	}
   953  
   954  	output = &CreateUserProfileOutput{}
   955  	req = c.newRequest(op, input, output)
   956  	return
   957  }
   958  
   959  // CreateUserProfile API operation for AWS OpsWorks.
   960  //
   961  // Creates a new user profile.
   962  //
   963  // Required Permissions: To use this action, an IAM user must have an attached
   964  // policy that explicitly grants permissions. For more information about user
   965  // permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
   966  //
   967  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   968  // with awserr.Error's Code and Message methods to get detailed information about
   969  // the error.
   970  //
   971  // See the AWS API reference guide for AWS OpsWorks's
   972  // API operation CreateUserProfile for usage and error information.
   973  //
   974  // Returned Error Types:
   975  //   * ValidationException
   976  //   Indicates that a request was not valid.
   977  //
   978  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateUserProfile
   979  func (c *OpsWorks) CreateUserProfile(input *CreateUserProfileInput) (*CreateUserProfileOutput, error) {
   980  	req, out := c.CreateUserProfileRequest(input)
   981  	return out, req.Send()
   982  }
   983  
   984  // CreateUserProfileWithContext is the same as CreateUserProfile with the addition of
   985  // the ability to pass a context and additional request options.
   986  //
   987  // See CreateUserProfile for details on how to use this API operation.
   988  //
   989  // The context must be non-nil and will be used for request cancellation. If
   990  // the context is nil a panic will occur. In the future the SDK may create
   991  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   992  // for more information on using Contexts.
   993  func (c *OpsWorks) CreateUserProfileWithContext(ctx aws.Context, input *CreateUserProfileInput, opts ...request.Option) (*CreateUserProfileOutput, error) {
   994  	req, out := c.CreateUserProfileRequest(input)
   995  	req.SetContext(ctx)
   996  	req.ApplyOptions(opts...)
   997  	return out, req.Send()
   998  }
   999  
  1000  const opDeleteApp = "DeleteApp"
  1001  
  1002  // DeleteAppRequest generates a "aws/request.Request" representing the
  1003  // client's request for the DeleteApp operation. The "output" return
  1004  // value will be populated with the request's response once the request completes
  1005  // successfully.
  1006  //
  1007  // Use "Send" method on the returned Request to send the API call to the service.
  1008  // the "output" return value is not valid until after Send returns without error.
  1009  //
  1010  // See DeleteApp for more information on using the DeleteApp
  1011  // API call, and error handling.
  1012  //
  1013  // This method is useful when you want to inject custom logic or configuration
  1014  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1015  //
  1016  //
  1017  //    // Example sending a request using the DeleteAppRequest method.
  1018  //    req, resp := client.DeleteAppRequest(params)
  1019  //
  1020  //    err := req.Send()
  1021  //    if err == nil { // resp is now filled
  1022  //        fmt.Println(resp)
  1023  //    }
  1024  //
  1025  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteApp
  1026  func (c *OpsWorks) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
  1027  	op := &request.Operation{
  1028  		Name:       opDeleteApp,
  1029  		HTTPMethod: "POST",
  1030  		HTTPPath:   "/",
  1031  	}
  1032  
  1033  	if input == nil {
  1034  		input = &DeleteAppInput{}
  1035  	}
  1036  
  1037  	output = &DeleteAppOutput{}
  1038  	req = c.newRequest(op, input, output)
  1039  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1040  	return
  1041  }
  1042  
  1043  // DeleteApp API operation for AWS OpsWorks.
  1044  //
  1045  // Deletes a specified app.
  1046  //
  1047  // Required Permissions: To use this action, an IAM user must have a Manage
  1048  // permissions level for the stack, or an attached policy that explicitly grants
  1049  // permissions. For more information on user permissions, see Managing User
  1050  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1051  //
  1052  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1053  // with awserr.Error's Code and Message methods to get detailed information about
  1054  // the error.
  1055  //
  1056  // See the AWS API reference guide for AWS OpsWorks's
  1057  // API operation DeleteApp for usage and error information.
  1058  //
  1059  // Returned Error Types:
  1060  //   * ValidationException
  1061  //   Indicates that a request was not valid.
  1062  //
  1063  //   * ResourceNotFoundException
  1064  //   Indicates that a resource was not found.
  1065  //
  1066  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteApp
  1067  func (c *OpsWorks) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
  1068  	req, out := c.DeleteAppRequest(input)
  1069  	return out, req.Send()
  1070  }
  1071  
  1072  // DeleteAppWithContext is the same as DeleteApp with the addition of
  1073  // the ability to pass a context and additional request options.
  1074  //
  1075  // See DeleteApp for details on how to use this API operation.
  1076  //
  1077  // The context must be non-nil and will be used for request cancellation. If
  1078  // the context is nil a panic will occur. In the future the SDK may create
  1079  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1080  // for more information on using Contexts.
  1081  func (c *OpsWorks) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
  1082  	req, out := c.DeleteAppRequest(input)
  1083  	req.SetContext(ctx)
  1084  	req.ApplyOptions(opts...)
  1085  	return out, req.Send()
  1086  }
  1087  
  1088  const opDeleteInstance = "DeleteInstance"
  1089  
  1090  // DeleteInstanceRequest generates a "aws/request.Request" representing the
  1091  // client's request for the DeleteInstance operation. The "output" return
  1092  // value will be populated with the request's response once the request completes
  1093  // successfully.
  1094  //
  1095  // Use "Send" method on the returned Request to send the API call to the service.
  1096  // the "output" return value is not valid until after Send returns without error.
  1097  //
  1098  // See DeleteInstance for more information on using the DeleteInstance
  1099  // API call, and error handling.
  1100  //
  1101  // This method is useful when you want to inject custom logic or configuration
  1102  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1103  //
  1104  //
  1105  //    // Example sending a request using the DeleteInstanceRequest method.
  1106  //    req, resp := client.DeleteInstanceRequest(params)
  1107  //
  1108  //    err := req.Send()
  1109  //    if err == nil { // resp is now filled
  1110  //        fmt.Println(resp)
  1111  //    }
  1112  //
  1113  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteInstance
  1114  func (c *OpsWorks) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
  1115  	op := &request.Operation{
  1116  		Name:       opDeleteInstance,
  1117  		HTTPMethod: "POST",
  1118  		HTTPPath:   "/",
  1119  	}
  1120  
  1121  	if input == nil {
  1122  		input = &DeleteInstanceInput{}
  1123  	}
  1124  
  1125  	output = &DeleteInstanceOutput{}
  1126  	req = c.newRequest(op, input, output)
  1127  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1128  	return
  1129  }
  1130  
  1131  // DeleteInstance API operation for AWS OpsWorks.
  1132  //
  1133  // Deletes a specified instance, which terminates the associated Amazon EC2
  1134  // instance. You must stop an instance before you can delete it.
  1135  //
  1136  // For more information, see Deleting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-delete.html).
  1137  //
  1138  // Required Permissions: To use this action, an IAM user must have a Manage
  1139  // permissions level for the stack, or an attached policy that explicitly grants
  1140  // permissions. For more information on user permissions, see Managing User
  1141  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1142  //
  1143  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1144  // with awserr.Error's Code and Message methods to get detailed information about
  1145  // the error.
  1146  //
  1147  // See the AWS API reference guide for AWS OpsWorks's
  1148  // API operation DeleteInstance for usage and error information.
  1149  //
  1150  // Returned Error Types:
  1151  //   * ValidationException
  1152  //   Indicates that a request was not valid.
  1153  //
  1154  //   * ResourceNotFoundException
  1155  //   Indicates that a resource was not found.
  1156  //
  1157  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteInstance
  1158  func (c *OpsWorks) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
  1159  	req, out := c.DeleteInstanceRequest(input)
  1160  	return out, req.Send()
  1161  }
  1162  
  1163  // DeleteInstanceWithContext is the same as DeleteInstance with the addition of
  1164  // the ability to pass a context and additional request options.
  1165  //
  1166  // See DeleteInstance for details on how to use this API operation.
  1167  //
  1168  // The context must be non-nil and will be used for request cancellation. If
  1169  // the context is nil a panic will occur. In the future the SDK may create
  1170  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1171  // for more information on using Contexts.
  1172  func (c *OpsWorks) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
  1173  	req, out := c.DeleteInstanceRequest(input)
  1174  	req.SetContext(ctx)
  1175  	req.ApplyOptions(opts...)
  1176  	return out, req.Send()
  1177  }
  1178  
  1179  const opDeleteLayer = "DeleteLayer"
  1180  
  1181  // DeleteLayerRequest generates a "aws/request.Request" representing the
  1182  // client's request for the DeleteLayer operation. The "output" return
  1183  // value will be populated with the request's response once the request completes
  1184  // successfully.
  1185  //
  1186  // Use "Send" method on the returned Request to send the API call to the service.
  1187  // the "output" return value is not valid until after Send returns without error.
  1188  //
  1189  // See DeleteLayer for more information on using the DeleteLayer
  1190  // API call, and error handling.
  1191  //
  1192  // This method is useful when you want to inject custom logic or configuration
  1193  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1194  //
  1195  //
  1196  //    // Example sending a request using the DeleteLayerRequest method.
  1197  //    req, resp := client.DeleteLayerRequest(params)
  1198  //
  1199  //    err := req.Send()
  1200  //    if err == nil { // resp is now filled
  1201  //        fmt.Println(resp)
  1202  //    }
  1203  //
  1204  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteLayer
  1205  func (c *OpsWorks) DeleteLayerRequest(input *DeleteLayerInput) (req *request.Request, output *DeleteLayerOutput) {
  1206  	op := &request.Operation{
  1207  		Name:       opDeleteLayer,
  1208  		HTTPMethod: "POST",
  1209  		HTTPPath:   "/",
  1210  	}
  1211  
  1212  	if input == nil {
  1213  		input = &DeleteLayerInput{}
  1214  	}
  1215  
  1216  	output = &DeleteLayerOutput{}
  1217  	req = c.newRequest(op, input, output)
  1218  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1219  	return
  1220  }
  1221  
  1222  // DeleteLayer API operation for AWS OpsWorks.
  1223  //
  1224  // Deletes a specified layer. You must first stop and then delete all associated
  1225  // instances or unassign registered instances. For more information, see How
  1226  // to Delete a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-delete.html).
  1227  //
  1228  // Required Permissions: To use this action, an IAM user must have a Manage
  1229  // permissions level for the stack, or an attached policy that explicitly grants
  1230  // permissions. For more information on user permissions, see Managing User
  1231  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1232  //
  1233  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1234  // with awserr.Error's Code and Message methods to get detailed information about
  1235  // the error.
  1236  //
  1237  // See the AWS API reference guide for AWS OpsWorks's
  1238  // API operation DeleteLayer for usage and error information.
  1239  //
  1240  // Returned Error Types:
  1241  //   * ValidationException
  1242  //   Indicates that a request was not valid.
  1243  //
  1244  //   * ResourceNotFoundException
  1245  //   Indicates that a resource was not found.
  1246  //
  1247  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteLayer
  1248  func (c *OpsWorks) DeleteLayer(input *DeleteLayerInput) (*DeleteLayerOutput, error) {
  1249  	req, out := c.DeleteLayerRequest(input)
  1250  	return out, req.Send()
  1251  }
  1252  
  1253  // DeleteLayerWithContext is the same as DeleteLayer with the addition of
  1254  // the ability to pass a context and additional request options.
  1255  //
  1256  // See DeleteLayer for details on how to use this API operation.
  1257  //
  1258  // The context must be non-nil and will be used for request cancellation. If
  1259  // the context is nil a panic will occur. In the future the SDK may create
  1260  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1261  // for more information on using Contexts.
  1262  func (c *OpsWorks) DeleteLayerWithContext(ctx aws.Context, input *DeleteLayerInput, opts ...request.Option) (*DeleteLayerOutput, error) {
  1263  	req, out := c.DeleteLayerRequest(input)
  1264  	req.SetContext(ctx)
  1265  	req.ApplyOptions(opts...)
  1266  	return out, req.Send()
  1267  }
  1268  
  1269  const opDeleteStack = "DeleteStack"
  1270  
  1271  // DeleteStackRequest generates a "aws/request.Request" representing the
  1272  // client's request for the DeleteStack operation. The "output" return
  1273  // value will be populated with the request's response once the request completes
  1274  // successfully.
  1275  //
  1276  // Use "Send" method on the returned Request to send the API call to the service.
  1277  // the "output" return value is not valid until after Send returns without error.
  1278  //
  1279  // See DeleteStack for more information on using the DeleteStack
  1280  // API call, and error handling.
  1281  //
  1282  // This method is useful when you want to inject custom logic or configuration
  1283  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1284  //
  1285  //
  1286  //    // Example sending a request using the DeleteStackRequest method.
  1287  //    req, resp := client.DeleteStackRequest(params)
  1288  //
  1289  //    err := req.Send()
  1290  //    if err == nil { // resp is now filled
  1291  //        fmt.Println(resp)
  1292  //    }
  1293  //
  1294  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteStack
  1295  func (c *OpsWorks) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) {
  1296  	op := &request.Operation{
  1297  		Name:       opDeleteStack,
  1298  		HTTPMethod: "POST",
  1299  		HTTPPath:   "/",
  1300  	}
  1301  
  1302  	if input == nil {
  1303  		input = &DeleteStackInput{}
  1304  	}
  1305  
  1306  	output = &DeleteStackOutput{}
  1307  	req = c.newRequest(op, input, output)
  1308  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1309  	return
  1310  }
  1311  
  1312  // DeleteStack API operation for AWS OpsWorks.
  1313  //
  1314  // Deletes a specified stack. You must first delete all instances, layers, and
  1315  // apps or deregister registered instances. For more information, see Shut Down
  1316  // a Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-shutting.html).
  1317  //
  1318  // Required Permissions: To use this action, an IAM user must have a Manage
  1319  // permissions level for the stack, or an attached policy that explicitly grants
  1320  // permissions. For more information on user permissions, see Managing User
  1321  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1322  //
  1323  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1324  // with awserr.Error's Code and Message methods to get detailed information about
  1325  // the error.
  1326  //
  1327  // See the AWS API reference guide for AWS OpsWorks's
  1328  // API operation DeleteStack for usage and error information.
  1329  //
  1330  // Returned Error Types:
  1331  //   * ValidationException
  1332  //   Indicates that a request was not valid.
  1333  //
  1334  //   * ResourceNotFoundException
  1335  //   Indicates that a resource was not found.
  1336  //
  1337  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteStack
  1338  func (c *OpsWorks) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) {
  1339  	req, out := c.DeleteStackRequest(input)
  1340  	return out, req.Send()
  1341  }
  1342  
  1343  // DeleteStackWithContext is the same as DeleteStack with the addition of
  1344  // the ability to pass a context and additional request options.
  1345  //
  1346  // See DeleteStack for details on how to use this API operation.
  1347  //
  1348  // The context must be non-nil and will be used for request cancellation. If
  1349  // the context is nil a panic will occur. In the future the SDK may create
  1350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1351  // for more information on using Contexts.
  1352  func (c *OpsWorks) DeleteStackWithContext(ctx aws.Context, input *DeleteStackInput, opts ...request.Option) (*DeleteStackOutput, error) {
  1353  	req, out := c.DeleteStackRequest(input)
  1354  	req.SetContext(ctx)
  1355  	req.ApplyOptions(opts...)
  1356  	return out, req.Send()
  1357  }
  1358  
  1359  const opDeleteUserProfile = "DeleteUserProfile"
  1360  
  1361  // DeleteUserProfileRequest generates a "aws/request.Request" representing the
  1362  // client's request for the DeleteUserProfile operation. The "output" return
  1363  // value will be populated with the request's response once the request completes
  1364  // successfully.
  1365  //
  1366  // Use "Send" method on the returned Request to send the API call to the service.
  1367  // the "output" return value is not valid until after Send returns without error.
  1368  //
  1369  // See DeleteUserProfile for more information on using the DeleteUserProfile
  1370  // API call, and error handling.
  1371  //
  1372  // This method is useful when you want to inject custom logic or configuration
  1373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1374  //
  1375  //
  1376  //    // Example sending a request using the DeleteUserProfileRequest method.
  1377  //    req, resp := client.DeleteUserProfileRequest(params)
  1378  //
  1379  //    err := req.Send()
  1380  //    if err == nil { // resp is now filled
  1381  //        fmt.Println(resp)
  1382  //    }
  1383  //
  1384  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteUserProfile
  1385  func (c *OpsWorks) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req *request.Request, output *DeleteUserProfileOutput) {
  1386  	op := &request.Operation{
  1387  		Name:       opDeleteUserProfile,
  1388  		HTTPMethod: "POST",
  1389  		HTTPPath:   "/",
  1390  	}
  1391  
  1392  	if input == nil {
  1393  		input = &DeleteUserProfileInput{}
  1394  	}
  1395  
  1396  	output = &DeleteUserProfileOutput{}
  1397  	req = c.newRequest(op, input, output)
  1398  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1399  	return
  1400  }
  1401  
  1402  // DeleteUserProfile API operation for AWS OpsWorks.
  1403  //
  1404  // Deletes a user profile.
  1405  //
  1406  // Required Permissions: To use this action, an IAM user must have an attached
  1407  // policy that explicitly grants permissions. For more information about user
  1408  // permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1409  //
  1410  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1411  // with awserr.Error's Code and Message methods to get detailed information about
  1412  // the error.
  1413  //
  1414  // See the AWS API reference guide for AWS OpsWorks's
  1415  // API operation DeleteUserProfile for usage and error information.
  1416  //
  1417  // Returned Error Types:
  1418  //   * ValidationException
  1419  //   Indicates that a request was not valid.
  1420  //
  1421  //   * ResourceNotFoundException
  1422  //   Indicates that a resource was not found.
  1423  //
  1424  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteUserProfile
  1425  func (c *OpsWorks) DeleteUserProfile(input *DeleteUserProfileInput) (*DeleteUserProfileOutput, error) {
  1426  	req, out := c.DeleteUserProfileRequest(input)
  1427  	return out, req.Send()
  1428  }
  1429  
  1430  // DeleteUserProfileWithContext is the same as DeleteUserProfile with the addition of
  1431  // the ability to pass a context and additional request options.
  1432  //
  1433  // See DeleteUserProfile for details on how to use this API operation.
  1434  //
  1435  // The context must be non-nil and will be used for request cancellation. If
  1436  // the context is nil a panic will occur. In the future the SDK may create
  1437  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1438  // for more information on using Contexts.
  1439  func (c *OpsWorks) DeleteUserProfileWithContext(ctx aws.Context, input *DeleteUserProfileInput, opts ...request.Option) (*DeleteUserProfileOutput, error) {
  1440  	req, out := c.DeleteUserProfileRequest(input)
  1441  	req.SetContext(ctx)
  1442  	req.ApplyOptions(opts...)
  1443  	return out, req.Send()
  1444  }
  1445  
  1446  const opDeregisterEcsCluster = "DeregisterEcsCluster"
  1447  
  1448  // DeregisterEcsClusterRequest generates a "aws/request.Request" representing the
  1449  // client's request for the DeregisterEcsCluster operation. The "output" return
  1450  // value will be populated with the request's response once the request completes
  1451  // successfully.
  1452  //
  1453  // Use "Send" method on the returned Request to send the API call to the service.
  1454  // the "output" return value is not valid until after Send returns without error.
  1455  //
  1456  // See DeregisterEcsCluster for more information on using the DeregisterEcsCluster
  1457  // API call, and error handling.
  1458  //
  1459  // This method is useful when you want to inject custom logic or configuration
  1460  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1461  //
  1462  //
  1463  //    // Example sending a request using the DeregisterEcsClusterRequest method.
  1464  //    req, resp := client.DeregisterEcsClusterRequest(params)
  1465  //
  1466  //    err := req.Send()
  1467  //    if err == nil { // resp is now filled
  1468  //        fmt.Println(resp)
  1469  //    }
  1470  //
  1471  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterEcsCluster
  1472  func (c *OpsWorks) DeregisterEcsClusterRequest(input *DeregisterEcsClusterInput) (req *request.Request, output *DeregisterEcsClusterOutput) {
  1473  	op := &request.Operation{
  1474  		Name:       opDeregisterEcsCluster,
  1475  		HTTPMethod: "POST",
  1476  		HTTPPath:   "/",
  1477  	}
  1478  
  1479  	if input == nil {
  1480  		input = &DeregisterEcsClusterInput{}
  1481  	}
  1482  
  1483  	output = &DeregisterEcsClusterOutput{}
  1484  	req = c.newRequest(op, input, output)
  1485  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1486  	return
  1487  }
  1488  
  1489  // DeregisterEcsCluster API operation for AWS OpsWorks.
  1490  //
  1491  // Deregisters a specified Amazon ECS cluster from a stack. For more information,
  1492  // see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html#workinglayers-ecscluster-delete).
  1493  //
  1494  // Required Permissions: To use this action, an IAM user must have a Manage
  1495  // permissions level for the stack or an attached policy that explicitly grants
  1496  // permissions. For more information on user permissions, see https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
  1497  // (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1498  //
  1499  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1500  // with awserr.Error's Code and Message methods to get detailed information about
  1501  // the error.
  1502  //
  1503  // See the AWS API reference guide for AWS OpsWorks's
  1504  // API operation DeregisterEcsCluster for usage and error information.
  1505  //
  1506  // Returned Error Types:
  1507  //   * ValidationException
  1508  //   Indicates that a request was not valid.
  1509  //
  1510  //   * ResourceNotFoundException
  1511  //   Indicates that a resource was not found.
  1512  //
  1513  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterEcsCluster
  1514  func (c *OpsWorks) DeregisterEcsCluster(input *DeregisterEcsClusterInput) (*DeregisterEcsClusterOutput, error) {
  1515  	req, out := c.DeregisterEcsClusterRequest(input)
  1516  	return out, req.Send()
  1517  }
  1518  
  1519  // DeregisterEcsClusterWithContext is the same as DeregisterEcsCluster with the addition of
  1520  // the ability to pass a context and additional request options.
  1521  //
  1522  // See DeregisterEcsCluster for details on how to use this API operation.
  1523  //
  1524  // The context must be non-nil and will be used for request cancellation. If
  1525  // the context is nil a panic will occur. In the future the SDK may create
  1526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1527  // for more information on using Contexts.
  1528  func (c *OpsWorks) DeregisterEcsClusterWithContext(ctx aws.Context, input *DeregisterEcsClusterInput, opts ...request.Option) (*DeregisterEcsClusterOutput, error) {
  1529  	req, out := c.DeregisterEcsClusterRequest(input)
  1530  	req.SetContext(ctx)
  1531  	req.ApplyOptions(opts...)
  1532  	return out, req.Send()
  1533  }
  1534  
  1535  const opDeregisterElasticIp = "DeregisterElasticIp"
  1536  
  1537  // DeregisterElasticIpRequest generates a "aws/request.Request" representing the
  1538  // client's request for the DeregisterElasticIp operation. The "output" return
  1539  // value will be populated with the request's response once the request completes
  1540  // successfully.
  1541  //
  1542  // Use "Send" method on the returned Request to send the API call to the service.
  1543  // the "output" return value is not valid until after Send returns without error.
  1544  //
  1545  // See DeregisterElasticIp for more information on using the DeregisterElasticIp
  1546  // API call, and error handling.
  1547  //
  1548  // This method is useful when you want to inject custom logic or configuration
  1549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1550  //
  1551  //
  1552  //    // Example sending a request using the DeregisterElasticIpRequest method.
  1553  //    req, resp := client.DeregisterElasticIpRequest(params)
  1554  //
  1555  //    err := req.Send()
  1556  //    if err == nil { // resp is now filled
  1557  //        fmt.Println(resp)
  1558  //    }
  1559  //
  1560  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterElasticIp
  1561  func (c *OpsWorks) DeregisterElasticIpRequest(input *DeregisterElasticIpInput) (req *request.Request, output *DeregisterElasticIpOutput) {
  1562  	op := &request.Operation{
  1563  		Name:       opDeregisterElasticIp,
  1564  		HTTPMethod: "POST",
  1565  		HTTPPath:   "/",
  1566  	}
  1567  
  1568  	if input == nil {
  1569  		input = &DeregisterElasticIpInput{}
  1570  	}
  1571  
  1572  	output = &DeregisterElasticIpOutput{}
  1573  	req = c.newRequest(op, input, output)
  1574  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1575  	return
  1576  }
  1577  
  1578  // DeregisterElasticIp API operation for AWS OpsWorks.
  1579  //
  1580  // Deregisters a specified Elastic IP address. The address can then be registered
  1581  // by another stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  1582  //
  1583  // Required Permissions: To use this action, an IAM user must have a Manage
  1584  // permissions level for the stack, or an attached policy that explicitly grants
  1585  // permissions. For more information on user permissions, see Managing User
  1586  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  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 AWS OpsWorks's
  1593  // API operation DeregisterElasticIp for usage and error information.
  1594  //
  1595  // Returned Error Types:
  1596  //   * ValidationException
  1597  //   Indicates that a request was not valid.
  1598  //
  1599  //   * ResourceNotFoundException
  1600  //   Indicates that a resource was not found.
  1601  //
  1602  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterElasticIp
  1603  func (c *OpsWorks) DeregisterElasticIp(input *DeregisterElasticIpInput) (*DeregisterElasticIpOutput, error) {
  1604  	req, out := c.DeregisterElasticIpRequest(input)
  1605  	return out, req.Send()
  1606  }
  1607  
  1608  // DeregisterElasticIpWithContext is the same as DeregisterElasticIp with the addition of
  1609  // the ability to pass a context and additional request options.
  1610  //
  1611  // See DeregisterElasticIp for details on how to use this API operation.
  1612  //
  1613  // The context must be non-nil and will be used for request cancellation. If
  1614  // the context is nil a panic will occur. In the future the SDK may create
  1615  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1616  // for more information on using Contexts.
  1617  func (c *OpsWorks) DeregisterElasticIpWithContext(ctx aws.Context, input *DeregisterElasticIpInput, opts ...request.Option) (*DeregisterElasticIpOutput, error) {
  1618  	req, out := c.DeregisterElasticIpRequest(input)
  1619  	req.SetContext(ctx)
  1620  	req.ApplyOptions(opts...)
  1621  	return out, req.Send()
  1622  }
  1623  
  1624  const opDeregisterInstance = "DeregisterInstance"
  1625  
  1626  // DeregisterInstanceRequest generates a "aws/request.Request" representing the
  1627  // client's request for the DeregisterInstance operation. The "output" return
  1628  // value will be populated with the request's response once the request completes
  1629  // successfully.
  1630  //
  1631  // Use "Send" method on the returned Request to send the API call to the service.
  1632  // the "output" return value is not valid until after Send returns without error.
  1633  //
  1634  // See DeregisterInstance for more information on using the DeregisterInstance
  1635  // API call, and error handling.
  1636  //
  1637  // This method is useful when you want to inject custom logic or configuration
  1638  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1639  //
  1640  //
  1641  //    // Example sending a request using the DeregisterInstanceRequest method.
  1642  //    req, resp := client.DeregisterInstanceRequest(params)
  1643  //
  1644  //    err := req.Send()
  1645  //    if err == nil { // resp is now filled
  1646  //        fmt.Println(resp)
  1647  //    }
  1648  //
  1649  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterInstance
  1650  func (c *OpsWorks) DeregisterInstanceRequest(input *DeregisterInstanceInput) (req *request.Request, output *DeregisterInstanceOutput) {
  1651  	op := &request.Operation{
  1652  		Name:       opDeregisterInstance,
  1653  		HTTPMethod: "POST",
  1654  		HTTPPath:   "/",
  1655  	}
  1656  
  1657  	if input == nil {
  1658  		input = &DeregisterInstanceInput{}
  1659  	}
  1660  
  1661  	output = &DeregisterInstanceOutput{}
  1662  	req = c.newRequest(op, input, output)
  1663  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1664  	return
  1665  }
  1666  
  1667  // DeregisterInstance API operation for AWS OpsWorks.
  1668  //
  1669  // Deregister a registered Amazon EC2 or on-premises instance. This action removes
  1670  // the instance from the stack and returns it to your control. This action cannot
  1671  // be used with instances that were created with AWS OpsWorks Stacks.
  1672  //
  1673  // Required Permissions: To use this action, an IAM user must have a Manage
  1674  // permissions level for the stack or an attached policy that explicitly grants
  1675  // permissions. For more information on user permissions, see Managing User
  1676  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1677  //
  1678  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1679  // with awserr.Error's Code and Message methods to get detailed information about
  1680  // the error.
  1681  //
  1682  // See the AWS API reference guide for AWS OpsWorks's
  1683  // API operation DeregisterInstance for usage and error information.
  1684  //
  1685  // Returned Error Types:
  1686  //   * ValidationException
  1687  //   Indicates that a request was not valid.
  1688  //
  1689  //   * ResourceNotFoundException
  1690  //   Indicates that a resource was not found.
  1691  //
  1692  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterInstance
  1693  func (c *OpsWorks) DeregisterInstance(input *DeregisterInstanceInput) (*DeregisterInstanceOutput, error) {
  1694  	req, out := c.DeregisterInstanceRequest(input)
  1695  	return out, req.Send()
  1696  }
  1697  
  1698  // DeregisterInstanceWithContext is the same as DeregisterInstance with the addition of
  1699  // the ability to pass a context and additional request options.
  1700  //
  1701  // See DeregisterInstance for details on how to use this API operation.
  1702  //
  1703  // The context must be non-nil and will be used for request cancellation. If
  1704  // the context is nil a panic will occur. In the future the SDK may create
  1705  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1706  // for more information on using Contexts.
  1707  func (c *OpsWorks) DeregisterInstanceWithContext(ctx aws.Context, input *DeregisterInstanceInput, opts ...request.Option) (*DeregisterInstanceOutput, error) {
  1708  	req, out := c.DeregisterInstanceRequest(input)
  1709  	req.SetContext(ctx)
  1710  	req.ApplyOptions(opts...)
  1711  	return out, req.Send()
  1712  }
  1713  
  1714  const opDeregisterRdsDbInstance = "DeregisterRdsDbInstance"
  1715  
  1716  // DeregisterRdsDbInstanceRequest generates a "aws/request.Request" representing the
  1717  // client's request for the DeregisterRdsDbInstance operation. The "output" return
  1718  // value will be populated with the request's response once the request completes
  1719  // successfully.
  1720  //
  1721  // Use "Send" method on the returned Request to send the API call to the service.
  1722  // the "output" return value is not valid until after Send returns without error.
  1723  //
  1724  // See DeregisterRdsDbInstance for more information on using the DeregisterRdsDbInstance
  1725  // API call, and error handling.
  1726  //
  1727  // This method is useful when you want to inject custom logic or configuration
  1728  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1729  //
  1730  //
  1731  //    // Example sending a request using the DeregisterRdsDbInstanceRequest method.
  1732  //    req, resp := client.DeregisterRdsDbInstanceRequest(params)
  1733  //
  1734  //    err := req.Send()
  1735  //    if err == nil { // resp is now filled
  1736  //        fmt.Println(resp)
  1737  //    }
  1738  //
  1739  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterRdsDbInstance
  1740  func (c *OpsWorks) DeregisterRdsDbInstanceRequest(input *DeregisterRdsDbInstanceInput) (req *request.Request, output *DeregisterRdsDbInstanceOutput) {
  1741  	op := &request.Operation{
  1742  		Name:       opDeregisterRdsDbInstance,
  1743  		HTTPMethod: "POST",
  1744  		HTTPPath:   "/",
  1745  	}
  1746  
  1747  	if input == nil {
  1748  		input = &DeregisterRdsDbInstanceInput{}
  1749  	}
  1750  
  1751  	output = &DeregisterRdsDbInstanceOutput{}
  1752  	req = c.newRequest(op, input, output)
  1753  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1754  	return
  1755  }
  1756  
  1757  // DeregisterRdsDbInstance API operation for AWS OpsWorks.
  1758  //
  1759  // Deregisters an Amazon RDS instance.
  1760  //
  1761  // Required Permissions: To use this action, an IAM user must have a Manage
  1762  // permissions level for the stack, or an attached policy that explicitly grants
  1763  // permissions. For more information on user permissions, see Managing User
  1764  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1765  //
  1766  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1767  // with awserr.Error's Code and Message methods to get detailed information about
  1768  // the error.
  1769  //
  1770  // See the AWS API reference guide for AWS OpsWorks's
  1771  // API operation DeregisterRdsDbInstance for usage and error information.
  1772  //
  1773  // Returned Error Types:
  1774  //   * ValidationException
  1775  //   Indicates that a request was not valid.
  1776  //
  1777  //   * ResourceNotFoundException
  1778  //   Indicates that a resource was not found.
  1779  //
  1780  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterRdsDbInstance
  1781  func (c *OpsWorks) DeregisterRdsDbInstance(input *DeregisterRdsDbInstanceInput) (*DeregisterRdsDbInstanceOutput, error) {
  1782  	req, out := c.DeregisterRdsDbInstanceRequest(input)
  1783  	return out, req.Send()
  1784  }
  1785  
  1786  // DeregisterRdsDbInstanceWithContext is the same as DeregisterRdsDbInstance with the addition of
  1787  // the ability to pass a context and additional request options.
  1788  //
  1789  // See DeregisterRdsDbInstance for details on how to use this API operation.
  1790  //
  1791  // The context must be non-nil and will be used for request cancellation. If
  1792  // the context is nil a panic will occur. In the future the SDK may create
  1793  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1794  // for more information on using Contexts.
  1795  func (c *OpsWorks) DeregisterRdsDbInstanceWithContext(ctx aws.Context, input *DeregisterRdsDbInstanceInput, opts ...request.Option) (*DeregisterRdsDbInstanceOutput, error) {
  1796  	req, out := c.DeregisterRdsDbInstanceRequest(input)
  1797  	req.SetContext(ctx)
  1798  	req.ApplyOptions(opts...)
  1799  	return out, req.Send()
  1800  }
  1801  
  1802  const opDeregisterVolume = "DeregisterVolume"
  1803  
  1804  // DeregisterVolumeRequest generates a "aws/request.Request" representing the
  1805  // client's request for the DeregisterVolume operation. The "output" return
  1806  // value will be populated with the request's response once the request completes
  1807  // successfully.
  1808  //
  1809  // Use "Send" method on the returned Request to send the API call to the service.
  1810  // the "output" return value is not valid until after Send returns without error.
  1811  //
  1812  // See DeregisterVolume for more information on using the DeregisterVolume
  1813  // API call, and error handling.
  1814  //
  1815  // This method is useful when you want to inject custom logic or configuration
  1816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1817  //
  1818  //
  1819  //    // Example sending a request using the DeregisterVolumeRequest method.
  1820  //    req, resp := client.DeregisterVolumeRequest(params)
  1821  //
  1822  //    err := req.Send()
  1823  //    if err == nil { // resp is now filled
  1824  //        fmt.Println(resp)
  1825  //    }
  1826  //
  1827  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterVolume
  1828  func (c *OpsWorks) DeregisterVolumeRequest(input *DeregisterVolumeInput) (req *request.Request, output *DeregisterVolumeOutput) {
  1829  	op := &request.Operation{
  1830  		Name:       opDeregisterVolume,
  1831  		HTTPMethod: "POST",
  1832  		HTTPPath:   "/",
  1833  	}
  1834  
  1835  	if input == nil {
  1836  		input = &DeregisterVolumeInput{}
  1837  	}
  1838  
  1839  	output = &DeregisterVolumeOutput{}
  1840  	req = c.newRequest(op, input, output)
  1841  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1842  	return
  1843  }
  1844  
  1845  // DeregisterVolume API operation for AWS OpsWorks.
  1846  //
  1847  // Deregisters an Amazon EBS volume. The volume can then be registered by another
  1848  // stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  1849  //
  1850  // Required Permissions: To use this action, an IAM user must have a Manage
  1851  // permissions level for the stack, or an attached policy that explicitly grants
  1852  // permissions. For more information on user permissions, see Managing User
  1853  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  1854  //
  1855  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1856  // with awserr.Error's Code and Message methods to get detailed information about
  1857  // the error.
  1858  //
  1859  // See the AWS API reference guide for AWS OpsWorks's
  1860  // API operation DeregisterVolume for usage and error information.
  1861  //
  1862  // Returned Error Types:
  1863  //   * ValidationException
  1864  //   Indicates that a request was not valid.
  1865  //
  1866  //   * ResourceNotFoundException
  1867  //   Indicates that a resource was not found.
  1868  //
  1869  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterVolume
  1870  func (c *OpsWorks) DeregisterVolume(input *DeregisterVolumeInput) (*DeregisterVolumeOutput, error) {
  1871  	req, out := c.DeregisterVolumeRequest(input)
  1872  	return out, req.Send()
  1873  }
  1874  
  1875  // DeregisterVolumeWithContext is the same as DeregisterVolume with the addition of
  1876  // the ability to pass a context and additional request options.
  1877  //
  1878  // See DeregisterVolume for details on how to use this API operation.
  1879  //
  1880  // The context must be non-nil and will be used for request cancellation. If
  1881  // the context is nil a panic will occur. In the future the SDK may create
  1882  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1883  // for more information on using Contexts.
  1884  func (c *OpsWorks) DeregisterVolumeWithContext(ctx aws.Context, input *DeregisterVolumeInput, opts ...request.Option) (*DeregisterVolumeOutput, error) {
  1885  	req, out := c.DeregisterVolumeRequest(input)
  1886  	req.SetContext(ctx)
  1887  	req.ApplyOptions(opts...)
  1888  	return out, req.Send()
  1889  }
  1890  
  1891  const opDescribeAgentVersions = "DescribeAgentVersions"
  1892  
  1893  // DescribeAgentVersionsRequest generates a "aws/request.Request" representing the
  1894  // client's request for the DescribeAgentVersions operation. The "output" return
  1895  // value will be populated with the request's response once the request completes
  1896  // successfully.
  1897  //
  1898  // Use "Send" method on the returned Request to send the API call to the service.
  1899  // the "output" return value is not valid until after Send returns without error.
  1900  //
  1901  // See DescribeAgentVersions for more information on using the DescribeAgentVersions
  1902  // API call, and error handling.
  1903  //
  1904  // This method is useful when you want to inject custom logic or configuration
  1905  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1906  //
  1907  //
  1908  //    // Example sending a request using the DescribeAgentVersionsRequest method.
  1909  //    req, resp := client.DescribeAgentVersionsRequest(params)
  1910  //
  1911  //    err := req.Send()
  1912  //    if err == nil { // resp is now filled
  1913  //        fmt.Println(resp)
  1914  //    }
  1915  //
  1916  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeAgentVersions
  1917  func (c *OpsWorks) DescribeAgentVersionsRequest(input *DescribeAgentVersionsInput) (req *request.Request, output *DescribeAgentVersionsOutput) {
  1918  	op := &request.Operation{
  1919  		Name:       opDescribeAgentVersions,
  1920  		HTTPMethod: "POST",
  1921  		HTTPPath:   "/",
  1922  	}
  1923  
  1924  	if input == nil {
  1925  		input = &DescribeAgentVersionsInput{}
  1926  	}
  1927  
  1928  	output = &DescribeAgentVersionsOutput{}
  1929  	req = c.newRequest(op, input, output)
  1930  	return
  1931  }
  1932  
  1933  // DescribeAgentVersions API operation for AWS OpsWorks.
  1934  //
  1935  // Describes the available AWS OpsWorks Stacks agent versions. You must specify
  1936  // a stack ID or a configuration manager. DescribeAgentVersions returns a list
  1937  // of available agent versions for the specified stack or configuration manager.
  1938  //
  1939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1940  // with awserr.Error's Code and Message methods to get detailed information about
  1941  // the error.
  1942  //
  1943  // See the AWS API reference guide for AWS OpsWorks's
  1944  // API operation DescribeAgentVersions for usage and error information.
  1945  //
  1946  // Returned Error Types:
  1947  //   * ValidationException
  1948  //   Indicates that a request was not valid.
  1949  //
  1950  //   * ResourceNotFoundException
  1951  //   Indicates that a resource was not found.
  1952  //
  1953  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeAgentVersions
  1954  func (c *OpsWorks) DescribeAgentVersions(input *DescribeAgentVersionsInput) (*DescribeAgentVersionsOutput, error) {
  1955  	req, out := c.DescribeAgentVersionsRequest(input)
  1956  	return out, req.Send()
  1957  }
  1958  
  1959  // DescribeAgentVersionsWithContext is the same as DescribeAgentVersions with the addition of
  1960  // the ability to pass a context and additional request options.
  1961  //
  1962  // See DescribeAgentVersions 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 *OpsWorks) DescribeAgentVersionsWithContext(ctx aws.Context, input *DescribeAgentVersionsInput, opts ...request.Option) (*DescribeAgentVersionsOutput, error) {
  1969  	req, out := c.DescribeAgentVersionsRequest(input)
  1970  	req.SetContext(ctx)
  1971  	req.ApplyOptions(opts...)
  1972  	return out, req.Send()
  1973  }
  1974  
  1975  const opDescribeApps = "DescribeApps"
  1976  
  1977  // DescribeAppsRequest generates a "aws/request.Request" representing the
  1978  // client's request for the DescribeApps 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 DescribeApps for more information on using the DescribeApps
  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 DescribeAppsRequest method.
  1993  //    req, resp := client.DescribeAppsRequest(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/opsworks-2013-02-18/DescribeApps
  2001  func (c *OpsWorks) DescribeAppsRequest(input *DescribeAppsInput) (req *request.Request, output *DescribeAppsOutput) {
  2002  	op := &request.Operation{
  2003  		Name:       opDescribeApps,
  2004  		HTTPMethod: "POST",
  2005  		HTTPPath:   "/",
  2006  	}
  2007  
  2008  	if input == nil {
  2009  		input = &DescribeAppsInput{}
  2010  	}
  2011  
  2012  	output = &DescribeAppsOutput{}
  2013  	req = c.newRequest(op, input, output)
  2014  	return
  2015  }
  2016  
  2017  // DescribeApps API operation for AWS OpsWorks.
  2018  //
  2019  // Requests a description of a specified set of apps.
  2020  //
  2021  // This call accepts only one resource-identifying parameter.
  2022  //
  2023  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2024  // or Manage permissions level for the stack, or an attached policy that explicitly
  2025  // grants permissions. For more information about user permissions, see Managing
  2026  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2027  //
  2028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2029  // with awserr.Error's Code and Message methods to get detailed information about
  2030  // the error.
  2031  //
  2032  // See the AWS API reference guide for AWS OpsWorks's
  2033  // API operation DescribeApps for usage and error information.
  2034  //
  2035  // Returned Error Types:
  2036  //   * ValidationException
  2037  //   Indicates that a request was not valid.
  2038  //
  2039  //   * ResourceNotFoundException
  2040  //   Indicates that a resource was not found.
  2041  //
  2042  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeApps
  2043  func (c *OpsWorks) DescribeApps(input *DescribeAppsInput) (*DescribeAppsOutput, error) {
  2044  	req, out := c.DescribeAppsRequest(input)
  2045  	return out, req.Send()
  2046  }
  2047  
  2048  // DescribeAppsWithContext is the same as DescribeApps with the addition of
  2049  // the ability to pass a context and additional request options.
  2050  //
  2051  // See DescribeApps for details on how to use this API operation.
  2052  //
  2053  // The context must be non-nil and will be used for request cancellation. If
  2054  // the context is nil a panic will occur. In the future the SDK may create
  2055  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2056  // for more information on using Contexts.
  2057  func (c *OpsWorks) DescribeAppsWithContext(ctx aws.Context, input *DescribeAppsInput, opts ...request.Option) (*DescribeAppsOutput, error) {
  2058  	req, out := c.DescribeAppsRequest(input)
  2059  	req.SetContext(ctx)
  2060  	req.ApplyOptions(opts...)
  2061  	return out, req.Send()
  2062  }
  2063  
  2064  const opDescribeCommands = "DescribeCommands"
  2065  
  2066  // DescribeCommandsRequest generates a "aws/request.Request" representing the
  2067  // client's request for the DescribeCommands operation. The "output" return
  2068  // value will be populated with the request's response once the request completes
  2069  // successfully.
  2070  //
  2071  // Use "Send" method on the returned Request to send the API call to the service.
  2072  // the "output" return value is not valid until after Send returns without error.
  2073  //
  2074  // See DescribeCommands for more information on using the DescribeCommands
  2075  // API call, and error handling.
  2076  //
  2077  // This method is useful when you want to inject custom logic or configuration
  2078  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2079  //
  2080  //
  2081  //    // Example sending a request using the DescribeCommandsRequest method.
  2082  //    req, resp := client.DescribeCommandsRequest(params)
  2083  //
  2084  //    err := req.Send()
  2085  //    if err == nil { // resp is now filled
  2086  //        fmt.Println(resp)
  2087  //    }
  2088  //
  2089  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeCommands
  2090  func (c *OpsWorks) DescribeCommandsRequest(input *DescribeCommandsInput) (req *request.Request, output *DescribeCommandsOutput) {
  2091  	op := &request.Operation{
  2092  		Name:       opDescribeCommands,
  2093  		HTTPMethod: "POST",
  2094  		HTTPPath:   "/",
  2095  	}
  2096  
  2097  	if input == nil {
  2098  		input = &DescribeCommandsInput{}
  2099  	}
  2100  
  2101  	output = &DescribeCommandsOutput{}
  2102  	req = c.newRequest(op, input, output)
  2103  	return
  2104  }
  2105  
  2106  // DescribeCommands API operation for AWS OpsWorks.
  2107  //
  2108  // Describes the results of specified commands.
  2109  //
  2110  // This call accepts only one resource-identifying parameter.
  2111  //
  2112  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2113  // or Manage permissions level for the stack, or an attached policy that explicitly
  2114  // grants permissions. For more information about user permissions, see Managing
  2115  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2116  //
  2117  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2118  // with awserr.Error's Code and Message methods to get detailed information about
  2119  // the error.
  2120  //
  2121  // See the AWS API reference guide for AWS OpsWorks's
  2122  // API operation DescribeCommands for usage and error information.
  2123  //
  2124  // Returned Error Types:
  2125  //   * ValidationException
  2126  //   Indicates that a request was not valid.
  2127  //
  2128  //   * ResourceNotFoundException
  2129  //   Indicates that a resource was not found.
  2130  //
  2131  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeCommands
  2132  func (c *OpsWorks) DescribeCommands(input *DescribeCommandsInput) (*DescribeCommandsOutput, error) {
  2133  	req, out := c.DescribeCommandsRequest(input)
  2134  	return out, req.Send()
  2135  }
  2136  
  2137  // DescribeCommandsWithContext is the same as DescribeCommands with the addition of
  2138  // the ability to pass a context and additional request options.
  2139  //
  2140  // See DescribeCommands for details on how to use this API operation.
  2141  //
  2142  // The context must be non-nil and will be used for request cancellation. If
  2143  // the context is nil a panic will occur. In the future the SDK may create
  2144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2145  // for more information on using Contexts.
  2146  func (c *OpsWorks) DescribeCommandsWithContext(ctx aws.Context, input *DescribeCommandsInput, opts ...request.Option) (*DescribeCommandsOutput, error) {
  2147  	req, out := c.DescribeCommandsRequest(input)
  2148  	req.SetContext(ctx)
  2149  	req.ApplyOptions(opts...)
  2150  	return out, req.Send()
  2151  }
  2152  
  2153  const opDescribeDeployments = "DescribeDeployments"
  2154  
  2155  // DescribeDeploymentsRequest generates a "aws/request.Request" representing the
  2156  // client's request for the DescribeDeployments operation. The "output" return
  2157  // value will be populated with the request's response once the request completes
  2158  // successfully.
  2159  //
  2160  // Use "Send" method on the returned Request to send the API call to the service.
  2161  // the "output" return value is not valid until after Send returns without error.
  2162  //
  2163  // See DescribeDeployments for more information on using the DescribeDeployments
  2164  // API call, and error handling.
  2165  //
  2166  // This method is useful when you want to inject custom logic or configuration
  2167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2168  //
  2169  //
  2170  //    // Example sending a request using the DescribeDeploymentsRequest method.
  2171  //    req, resp := client.DescribeDeploymentsRequest(params)
  2172  //
  2173  //    err := req.Send()
  2174  //    if err == nil { // resp is now filled
  2175  //        fmt.Println(resp)
  2176  //    }
  2177  //
  2178  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeDeployments
  2179  func (c *OpsWorks) DescribeDeploymentsRequest(input *DescribeDeploymentsInput) (req *request.Request, output *DescribeDeploymentsOutput) {
  2180  	op := &request.Operation{
  2181  		Name:       opDescribeDeployments,
  2182  		HTTPMethod: "POST",
  2183  		HTTPPath:   "/",
  2184  	}
  2185  
  2186  	if input == nil {
  2187  		input = &DescribeDeploymentsInput{}
  2188  	}
  2189  
  2190  	output = &DescribeDeploymentsOutput{}
  2191  	req = c.newRequest(op, input, output)
  2192  	return
  2193  }
  2194  
  2195  // DescribeDeployments API operation for AWS OpsWorks.
  2196  //
  2197  // Requests a description of a specified set of deployments.
  2198  //
  2199  // This call accepts only one resource-identifying parameter.
  2200  //
  2201  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2202  // or Manage permissions level for the stack, or an attached policy that explicitly
  2203  // grants permissions. For more information about user permissions, see Managing
  2204  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2205  //
  2206  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2207  // with awserr.Error's Code and Message methods to get detailed information about
  2208  // the error.
  2209  //
  2210  // See the AWS API reference guide for AWS OpsWorks's
  2211  // API operation DescribeDeployments for usage and error information.
  2212  //
  2213  // Returned Error Types:
  2214  //   * ValidationException
  2215  //   Indicates that a request was not valid.
  2216  //
  2217  //   * ResourceNotFoundException
  2218  //   Indicates that a resource was not found.
  2219  //
  2220  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeDeployments
  2221  func (c *OpsWorks) DescribeDeployments(input *DescribeDeploymentsInput) (*DescribeDeploymentsOutput, error) {
  2222  	req, out := c.DescribeDeploymentsRequest(input)
  2223  	return out, req.Send()
  2224  }
  2225  
  2226  // DescribeDeploymentsWithContext is the same as DescribeDeployments with the addition of
  2227  // the ability to pass a context and additional request options.
  2228  //
  2229  // See DescribeDeployments for details on how to use this API operation.
  2230  //
  2231  // The context must be non-nil and will be used for request cancellation. If
  2232  // the context is nil a panic will occur. In the future the SDK may create
  2233  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2234  // for more information on using Contexts.
  2235  func (c *OpsWorks) DescribeDeploymentsWithContext(ctx aws.Context, input *DescribeDeploymentsInput, opts ...request.Option) (*DescribeDeploymentsOutput, error) {
  2236  	req, out := c.DescribeDeploymentsRequest(input)
  2237  	req.SetContext(ctx)
  2238  	req.ApplyOptions(opts...)
  2239  	return out, req.Send()
  2240  }
  2241  
  2242  const opDescribeEcsClusters = "DescribeEcsClusters"
  2243  
  2244  // DescribeEcsClustersRequest generates a "aws/request.Request" representing the
  2245  // client's request for the DescribeEcsClusters operation. The "output" return
  2246  // value will be populated with the request's response once the request completes
  2247  // successfully.
  2248  //
  2249  // Use "Send" method on the returned Request to send the API call to the service.
  2250  // the "output" return value is not valid until after Send returns without error.
  2251  //
  2252  // See DescribeEcsClusters for more information on using the DescribeEcsClusters
  2253  // API call, and error handling.
  2254  //
  2255  // This method is useful when you want to inject custom logic or configuration
  2256  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2257  //
  2258  //
  2259  //    // Example sending a request using the DescribeEcsClustersRequest method.
  2260  //    req, resp := client.DescribeEcsClustersRequest(params)
  2261  //
  2262  //    err := req.Send()
  2263  //    if err == nil { // resp is now filled
  2264  //        fmt.Println(resp)
  2265  //    }
  2266  //
  2267  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeEcsClusters
  2268  func (c *OpsWorks) DescribeEcsClustersRequest(input *DescribeEcsClustersInput) (req *request.Request, output *DescribeEcsClustersOutput) {
  2269  	op := &request.Operation{
  2270  		Name:       opDescribeEcsClusters,
  2271  		HTTPMethod: "POST",
  2272  		HTTPPath:   "/",
  2273  		Paginator: &request.Paginator{
  2274  			InputTokens:     []string{"NextToken"},
  2275  			OutputTokens:    []string{"NextToken"},
  2276  			LimitToken:      "MaxResults",
  2277  			TruncationToken: "",
  2278  		},
  2279  	}
  2280  
  2281  	if input == nil {
  2282  		input = &DescribeEcsClustersInput{}
  2283  	}
  2284  
  2285  	output = &DescribeEcsClustersOutput{}
  2286  	req = c.newRequest(op, input, output)
  2287  	return
  2288  }
  2289  
  2290  // DescribeEcsClusters API operation for AWS OpsWorks.
  2291  //
  2292  // Describes Amazon ECS clusters that are registered with a stack. If you specify
  2293  // only a stack ID, you can use the MaxResults and NextToken parameters to paginate
  2294  // the response. However, AWS OpsWorks Stacks currently supports only one cluster
  2295  // per layer, so the result set has a maximum of one element.
  2296  //
  2297  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2298  // or Manage permissions level for the stack or an attached policy that explicitly
  2299  // grants permission. For more information about user permissions, see Managing
  2300  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2301  //
  2302  // This call accepts only one resource-identifying parameter.
  2303  //
  2304  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2305  // with awserr.Error's Code and Message methods to get detailed information about
  2306  // the error.
  2307  //
  2308  // See the AWS API reference guide for AWS OpsWorks's
  2309  // API operation DescribeEcsClusters for usage and error information.
  2310  //
  2311  // Returned Error Types:
  2312  //   * ValidationException
  2313  //   Indicates that a request was not valid.
  2314  //
  2315  //   * ResourceNotFoundException
  2316  //   Indicates that a resource was not found.
  2317  //
  2318  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeEcsClusters
  2319  func (c *OpsWorks) DescribeEcsClusters(input *DescribeEcsClustersInput) (*DescribeEcsClustersOutput, error) {
  2320  	req, out := c.DescribeEcsClustersRequest(input)
  2321  	return out, req.Send()
  2322  }
  2323  
  2324  // DescribeEcsClustersWithContext is the same as DescribeEcsClusters with the addition of
  2325  // the ability to pass a context and additional request options.
  2326  //
  2327  // See DescribeEcsClusters for details on how to use this API operation.
  2328  //
  2329  // The context must be non-nil and will be used for request cancellation. If
  2330  // the context is nil a panic will occur. In the future the SDK may create
  2331  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2332  // for more information on using Contexts.
  2333  func (c *OpsWorks) DescribeEcsClustersWithContext(ctx aws.Context, input *DescribeEcsClustersInput, opts ...request.Option) (*DescribeEcsClustersOutput, error) {
  2334  	req, out := c.DescribeEcsClustersRequest(input)
  2335  	req.SetContext(ctx)
  2336  	req.ApplyOptions(opts...)
  2337  	return out, req.Send()
  2338  }
  2339  
  2340  // DescribeEcsClustersPages iterates over the pages of a DescribeEcsClusters operation,
  2341  // calling the "fn" function with the response data for each page. To stop
  2342  // iterating, return false from the fn function.
  2343  //
  2344  // See DescribeEcsClusters method for more information on how to use this operation.
  2345  //
  2346  // Note: This operation can generate multiple requests to a service.
  2347  //
  2348  //    // Example iterating over at most 3 pages of a DescribeEcsClusters operation.
  2349  //    pageNum := 0
  2350  //    err := client.DescribeEcsClustersPages(params,
  2351  //        func(page *opsworks.DescribeEcsClustersOutput, lastPage bool) bool {
  2352  //            pageNum++
  2353  //            fmt.Println(page)
  2354  //            return pageNum <= 3
  2355  //        })
  2356  //
  2357  func (c *OpsWorks) DescribeEcsClustersPages(input *DescribeEcsClustersInput, fn func(*DescribeEcsClustersOutput, bool) bool) error {
  2358  	return c.DescribeEcsClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  2359  }
  2360  
  2361  // DescribeEcsClustersPagesWithContext same as DescribeEcsClustersPages except
  2362  // it takes a Context and allows setting request options on the pages.
  2363  //
  2364  // The context must be non-nil and will be used for request cancellation. If
  2365  // the context is nil a panic will occur. In the future the SDK may create
  2366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2367  // for more information on using Contexts.
  2368  func (c *OpsWorks) DescribeEcsClustersPagesWithContext(ctx aws.Context, input *DescribeEcsClustersInput, fn func(*DescribeEcsClustersOutput, bool) bool, opts ...request.Option) error {
  2369  	p := request.Pagination{
  2370  		NewRequest: func() (*request.Request, error) {
  2371  			var inCpy *DescribeEcsClustersInput
  2372  			if input != nil {
  2373  				tmp := *input
  2374  				inCpy = &tmp
  2375  			}
  2376  			req, _ := c.DescribeEcsClustersRequest(inCpy)
  2377  			req.SetContext(ctx)
  2378  			req.ApplyOptions(opts...)
  2379  			return req, nil
  2380  		},
  2381  	}
  2382  
  2383  	for p.Next() {
  2384  		if !fn(p.Page().(*DescribeEcsClustersOutput), !p.HasNextPage()) {
  2385  			break
  2386  		}
  2387  	}
  2388  
  2389  	return p.Err()
  2390  }
  2391  
  2392  const opDescribeElasticIps = "DescribeElasticIps"
  2393  
  2394  // DescribeElasticIpsRequest generates a "aws/request.Request" representing the
  2395  // client's request for the DescribeElasticIps operation. The "output" return
  2396  // value will be populated with the request's response once the request completes
  2397  // successfully.
  2398  //
  2399  // Use "Send" method on the returned Request to send the API call to the service.
  2400  // the "output" return value is not valid until after Send returns without error.
  2401  //
  2402  // See DescribeElasticIps for more information on using the DescribeElasticIps
  2403  // API call, and error handling.
  2404  //
  2405  // This method is useful when you want to inject custom logic or configuration
  2406  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2407  //
  2408  //
  2409  //    // Example sending a request using the DescribeElasticIpsRequest method.
  2410  //    req, resp := client.DescribeElasticIpsRequest(params)
  2411  //
  2412  //    err := req.Send()
  2413  //    if err == nil { // resp is now filled
  2414  //        fmt.Println(resp)
  2415  //    }
  2416  //
  2417  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticIps
  2418  func (c *OpsWorks) DescribeElasticIpsRequest(input *DescribeElasticIpsInput) (req *request.Request, output *DescribeElasticIpsOutput) {
  2419  	op := &request.Operation{
  2420  		Name:       opDescribeElasticIps,
  2421  		HTTPMethod: "POST",
  2422  		HTTPPath:   "/",
  2423  	}
  2424  
  2425  	if input == nil {
  2426  		input = &DescribeElasticIpsInput{}
  2427  	}
  2428  
  2429  	output = &DescribeElasticIpsOutput{}
  2430  	req = c.newRequest(op, input, output)
  2431  	return
  2432  }
  2433  
  2434  // DescribeElasticIps API operation for AWS OpsWorks.
  2435  //
  2436  // Describes Elastic IP addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
  2437  //
  2438  // This call accepts only one resource-identifying parameter.
  2439  //
  2440  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2441  // or Manage permissions level for the stack, or an attached policy that explicitly
  2442  // grants permissions. For more information about user permissions, see Managing
  2443  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2444  //
  2445  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2446  // with awserr.Error's Code and Message methods to get detailed information about
  2447  // the error.
  2448  //
  2449  // See the AWS API reference guide for AWS OpsWorks's
  2450  // API operation DescribeElasticIps for usage and error information.
  2451  //
  2452  // Returned Error Types:
  2453  //   * ValidationException
  2454  //   Indicates that a request was not valid.
  2455  //
  2456  //   * ResourceNotFoundException
  2457  //   Indicates that a resource was not found.
  2458  //
  2459  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticIps
  2460  func (c *OpsWorks) DescribeElasticIps(input *DescribeElasticIpsInput) (*DescribeElasticIpsOutput, error) {
  2461  	req, out := c.DescribeElasticIpsRequest(input)
  2462  	return out, req.Send()
  2463  }
  2464  
  2465  // DescribeElasticIpsWithContext is the same as DescribeElasticIps with the addition of
  2466  // the ability to pass a context and additional request options.
  2467  //
  2468  // See DescribeElasticIps for details on how to use this API operation.
  2469  //
  2470  // The context must be non-nil and will be used for request cancellation. If
  2471  // the context is nil a panic will occur. In the future the SDK may create
  2472  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2473  // for more information on using Contexts.
  2474  func (c *OpsWorks) DescribeElasticIpsWithContext(ctx aws.Context, input *DescribeElasticIpsInput, opts ...request.Option) (*DescribeElasticIpsOutput, error) {
  2475  	req, out := c.DescribeElasticIpsRequest(input)
  2476  	req.SetContext(ctx)
  2477  	req.ApplyOptions(opts...)
  2478  	return out, req.Send()
  2479  }
  2480  
  2481  const opDescribeElasticLoadBalancers = "DescribeElasticLoadBalancers"
  2482  
  2483  // DescribeElasticLoadBalancersRequest generates a "aws/request.Request" representing the
  2484  // client's request for the DescribeElasticLoadBalancers operation. The "output" return
  2485  // value will be populated with the request's response once the request completes
  2486  // successfully.
  2487  //
  2488  // Use "Send" method on the returned Request to send the API call to the service.
  2489  // the "output" return value is not valid until after Send returns without error.
  2490  //
  2491  // See DescribeElasticLoadBalancers for more information on using the DescribeElasticLoadBalancers
  2492  // API call, and error handling.
  2493  //
  2494  // This method is useful when you want to inject custom logic or configuration
  2495  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2496  //
  2497  //
  2498  //    // Example sending a request using the DescribeElasticLoadBalancersRequest method.
  2499  //    req, resp := client.DescribeElasticLoadBalancersRequest(params)
  2500  //
  2501  //    err := req.Send()
  2502  //    if err == nil { // resp is now filled
  2503  //        fmt.Println(resp)
  2504  //    }
  2505  //
  2506  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticLoadBalancers
  2507  func (c *OpsWorks) DescribeElasticLoadBalancersRequest(input *DescribeElasticLoadBalancersInput) (req *request.Request, output *DescribeElasticLoadBalancersOutput) {
  2508  	op := &request.Operation{
  2509  		Name:       opDescribeElasticLoadBalancers,
  2510  		HTTPMethod: "POST",
  2511  		HTTPPath:   "/",
  2512  	}
  2513  
  2514  	if input == nil {
  2515  		input = &DescribeElasticLoadBalancersInput{}
  2516  	}
  2517  
  2518  	output = &DescribeElasticLoadBalancersOutput{}
  2519  	req = c.newRequest(op, input, output)
  2520  	return
  2521  }
  2522  
  2523  // DescribeElasticLoadBalancers API operation for AWS OpsWorks.
  2524  //
  2525  // Describes a stack's Elastic Load Balancing instances.
  2526  //
  2527  // This call accepts only one resource-identifying parameter.
  2528  //
  2529  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2530  // or Manage permissions level for the stack, or an attached policy that explicitly
  2531  // grants permissions. For more information about user permissions, see Managing
  2532  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2533  //
  2534  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2535  // with awserr.Error's Code and Message methods to get detailed information about
  2536  // the error.
  2537  //
  2538  // See the AWS API reference guide for AWS OpsWorks's
  2539  // API operation DescribeElasticLoadBalancers for usage and error information.
  2540  //
  2541  // Returned Error Types:
  2542  //   * ValidationException
  2543  //   Indicates that a request was not valid.
  2544  //
  2545  //   * ResourceNotFoundException
  2546  //   Indicates that a resource was not found.
  2547  //
  2548  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticLoadBalancers
  2549  func (c *OpsWorks) DescribeElasticLoadBalancers(input *DescribeElasticLoadBalancersInput) (*DescribeElasticLoadBalancersOutput, error) {
  2550  	req, out := c.DescribeElasticLoadBalancersRequest(input)
  2551  	return out, req.Send()
  2552  }
  2553  
  2554  // DescribeElasticLoadBalancersWithContext is the same as DescribeElasticLoadBalancers with the addition of
  2555  // the ability to pass a context and additional request options.
  2556  //
  2557  // See DescribeElasticLoadBalancers for details on how to use this API operation.
  2558  //
  2559  // The context must be non-nil and will be used for request cancellation. If
  2560  // the context is nil a panic will occur. In the future the SDK may create
  2561  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2562  // for more information on using Contexts.
  2563  func (c *OpsWorks) DescribeElasticLoadBalancersWithContext(ctx aws.Context, input *DescribeElasticLoadBalancersInput, opts ...request.Option) (*DescribeElasticLoadBalancersOutput, error) {
  2564  	req, out := c.DescribeElasticLoadBalancersRequest(input)
  2565  	req.SetContext(ctx)
  2566  	req.ApplyOptions(opts...)
  2567  	return out, req.Send()
  2568  }
  2569  
  2570  const opDescribeInstances = "DescribeInstances"
  2571  
  2572  // DescribeInstancesRequest generates a "aws/request.Request" representing the
  2573  // client's request for the DescribeInstances operation. The "output" return
  2574  // value will be populated with the request's response once the request completes
  2575  // successfully.
  2576  //
  2577  // Use "Send" method on the returned Request to send the API call to the service.
  2578  // the "output" return value is not valid until after Send returns without error.
  2579  //
  2580  // See DescribeInstances for more information on using the DescribeInstances
  2581  // API call, and error handling.
  2582  //
  2583  // This method is useful when you want to inject custom logic or configuration
  2584  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2585  //
  2586  //
  2587  //    // Example sending a request using the DescribeInstancesRequest method.
  2588  //    req, resp := client.DescribeInstancesRequest(params)
  2589  //
  2590  //    err := req.Send()
  2591  //    if err == nil { // resp is now filled
  2592  //        fmt.Println(resp)
  2593  //    }
  2594  //
  2595  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeInstances
  2596  func (c *OpsWorks) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  2597  	op := &request.Operation{
  2598  		Name:       opDescribeInstances,
  2599  		HTTPMethod: "POST",
  2600  		HTTPPath:   "/",
  2601  	}
  2602  
  2603  	if input == nil {
  2604  		input = &DescribeInstancesInput{}
  2605  	}
  2606  
  2607  	output = &DescribeInstancesOutput{}
  2608  	req = c.newRequest(op, input, output)
  2609  	return
  2610  }
  2611  
  2612  // DescribeInstances API operation for AWS OpsWorks.
  2613  //
  2614  // Requests a description of a set of instances.
  2615  //
  2616  // This call accepts only one resource-identifying parameter.
  2617  //
  2618  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2619  // or Manage permissions level for the stack, or an attached policy that explicitly
  2620  // grants permissions. For more information about user permissions, see Managing
  2621  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2622  //
  2623  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2624  // with awserr.Error's Code and Message methods to get detailed information about
  2625  // the error.
  2626  //
  2627  // See the AWS API reference guide for AWS OpsWorks's
  2628  // API operation DescribeInstances for usage and error information.
  2629  //
  2630  // Returned Error Types:
  2631  //   * ValidationException
  2632  //   Indicates that a request was not valid.
  2633  //
  2634  //   * ResourceNotFoundException
  2635  //   Indicates that a resource was not found.
  2636  //
  2637  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeInstances
  2638  func (c *OpsWorks) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  2639  	req, out := c.DescribeInstancesRequest(input)
  2640  	return out, req.Send()
  2641  }
  2642  
  2643  // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  2644  // the ability to pass a context and additional request options.
  2645  //
  2646  // See DescribeInstances for details on how to use this API operation.
  2647  //
  2648  // The context must be non-nil and will be used for request cancellation. If
  2649  // the context is nil a panic will occur. In the future the SDK may create
  2650  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2651  // for more information on using Contexts.
  2652  func (c *OpsWorks) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  2653  	req, out := c.DescribeInstancesRequest(input)
  2654  	req.SetContext(ctx)
  2655  	req.ApplyOptions(opts...)
  2656  	return out, req.Send()
  2657  }
  2658  
  2659  const opDescribeLayers = "DescribeLayers"
  2660  
  2661  // DescribeLayersRequest generates a "aws/request.Request" representing the
  2662  // client's request for the DescribeLayers operation. The "output" return
  2663  // value will be populated with the request's response once the request completes
  2664  // successfully.
  2665  //
  2666  // Use "Send" method on the returned Request to send the API call to the service.
  2667  // the "output" return value is not valid until after Send returns without error.
  2668  //
  2669  // See DescribeLayers for more information on using the DescribeLayers
  2670  // API call, and error handling.
  2671  //
  2672  // This method is useful when you want to inject custom logic or configuration
  2673  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2674  //
  2675  //
  2676  //    // Example sending a request using the DescribeLayersRequest method.
  2677  //    req, resp := client.DescribeLayersRequest(params)
  2678  //
  2679  //    err := req.Send()
  2680  //    if err == nil { // resp is now filled
  2681  //        fmt.Println(resp)
  2682  //    }
  2683  //
  2684  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLayers
  2685  func (c *OpsWorks) DescribeLayersRequest(input *DescribeLayersInput) (req *request.Request, output *DescribeLayersOutput) {
  2686  	op := &request.Operation{
  2687  		Name:       opDescribeLayers,
  2688  		HTTPMethod: "POST",
  2689  		HTTPPath:   "/",
  2690  	}
  2691  
  2692  	if input == nil {
  2693  		input = &DescribeLayersInput{}
  2694  	}
  2695  
  2696  	output = &DescribeLayersOutput{}
  2697  	req = c.newRequest(op, input, output)
  2698  	return
  2699  }
  2700  
  2701  // DescribeLayers API operation for AWS OpsWorks.
  2702  //
  2703  // Requests a description of one or more layers in a specified stack.
  2704  //
  2705  // This call accepts only one resource-identifying parameter.
  2706  //
  2707  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2708  // or Manage permissions level for the stack, or an attached policy that explicitly
  2709  // grants permissions. For more information about user permissions, see Managing
  2710  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2711  //
  2712  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2713  // with awserr.Error's Code and Message methods to get detailed information about
  2714  // the error.
  2715  //
  2716  // See the AWS API reference guide for AWS OpsWorks's
  2717  // API operation DescribeLayers for usage and error information.
  2718  //
  2719  // Returned Error Types:
  2720  //   * ValidationException
  2721  //   Indicates that a request was not valid.
  2722  //
  2723  //   * ResourceNotFoundException
  2724  //   Indicates that a resource was not found.
  2725  //
  2726  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLayers
  2727  func (c *OpsWorks) DescribeLayers(input *DescribeLayersInput) (*DescribeLayersOutput, error) {
  2728  	req, out := c.DescribeLayersRequest(input)
  2729  	return out, req.Send()
  2730  }
  2731  
  2732  // DescribeLayersWithContext is the same as DescribeLayers with the addition of
  2733  // the ability to pass a context and additional request options.
  2734  //
  2735  // See DescribeLayers for details on how to use this API operation.
  2736  //
  2737  // The context must be non-nil and will be used for request cancellation. If
  2738  // the context is nil a panic will occur. In the future the SDK may create
  2739  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2740  // for more information on using Contexts.
  2741  func (c *OpsWorks) DescribeLayersWithContext(ctx aws.Context, input *DescribeLayersInput, opts ...request.Option) (*DescribeLayersOutput, error) {
  2742  	req, out := c.DescribeLayersRequest(input)
  2743  	req.SetContext(ctx)
  2744  	req.ApplyOptions(opts...)
  2745  	return out, req.Send()
  2746  }
  2747  
  2748  const opDescribeLoadBasedAutoScaling = "DescribeLoadBasedAutoScaling"
  2749  
  2750  // DescribeLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the
  2751  // client's request for the DescribeLoadBasedAutoScaling operation. The "output" return
  2752  // value will be populated with the request's response once the request completes
  2753  // successfully.
  2754  //
  2755  // Use "Send" method on the returned Request to send the API call to the service.
  2756  // the "output" return value is not valid until after Send returns without error.
  2757  //
  2758  // See DescribeLoadBasedAutoScaling for more information on using the DescribeLoadBasedAutoScaling
  2759  // API call, and error handling.
  2760  //
  2761  // This method is useful when you want to inject custom logic or configuration
  2762  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2763  //
  2764  //
  2765  //    // Example sending a request using the DescribeLoadBasedAutoScalingRequest method.
  2766  //    req, resp := client.DescribeLoadBasedAutoScalingRequest(params)
  2767  //
  2768  //    err := req.Send()
  2769  //    if err == nil { // resp is now filled
  2770  //        fmt.Println(resp)
  2771  //    }
  2772  //
  2773  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLoadBasedAutoScaling
  2774  func (c *OpsWorks) DescribeLoadBasedAutoScalingRequest(input *DescribeLoadBasedAutoScalingInput) (req *request.Request, output *DescribeLoadBasedAutoScalingOutput) {
  2775  	op := &request.Operation{
  2776  		Name:       opDescribeLoadBasedAutoScaling,
  2777  		HTTPMethod: "POST",
  2778  		HTTPPath:   "/",
  2779  	}
  2780  
  2781  	if input == nil {
  2782  		input = &DescribeLoadBasedAutoScalingInput{}
  2783  	}
  2784  
  2785  	output = &DescribeLoadBasedAutoScalingOutput{}
  2786  	req = c.newRequest(op, input, output)
  2787  	return
  2788  }
  2789  
  2790  // DescribeLoadBasedAutoScaling API operation for AWS OpsWorks.
  2791  //
  2792  // Describes load-based auto scaling configurations for specified layers.
  2793  //
  2794  // You must specify at least one of the parameters.
  2795  //
  2796  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  2797  // or Manage permissions level for the stack, or an attached policy that explicitly
  2798  // grants permissions. For more information about user permissions, see Managing
  2799  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2800  //
  2801  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2802  // with awserr.Error's Code and Message methods to get detailed information about
  2803  // the error.
  2804  //
  2805  // See the AWS API reference guide for AWS OpsWorks's
  2806  // API operation DescribeLoadBasedAutoScaling for usage and error information.
  2807  //
  2808  // Returned Error Types:
  2809  //   * ValidationException
  2810  //   Indicates that a request was not valid.
  2811  //
  2812  //   * ResourceNotFoundException
  2813  //   Indicates that a resource was not found.
  2814  //
  2815  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLoadBasedAutoScaling
  2816  func (c *OpsWorks) DescribeLoadBasedAutoScaling(input *DescribeLoadBasedAutoScalingInput) (*DescribeLoadBasedAutoScalingOutput, error) {
  2817  	req, out := c.DescribeLoadBasedAutoScalingRequest(input)
  2818  	return out, req.Send()
  2819  }
  2820  
  2821  // DescribeLoadBasedAutoScalingWithContext is the same as DescribeLoadBasedAutoScaling with the addition of
  2822  // the ability to pass a context and additional request options.
  2823  //
  2824  // See DescribeLoadBasedAutoScaling for details on how to use this API operation.
  2825  //
  2826  // The context must be non-nil and will be used for request cancellation. If
  2827  // the context is nil a panic will occur. In the future the SDK may create
  2828  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2829  // for more information on using Contexts.
  2830  func (c *OpsWorks) DescribeLoadBasedAutoScalingWithContext(ctx aws.Context, input *DescribeLoadBasedAutoScalingInput, opts ...request.Option) (*DescribeLoadBasedAutoScalingOutput, error) {
  2831  	req, out := c.DescribeLoadBasedAutoScalingRequest(input)
  2832  	req.SetContext(ctx)
  2833  	req.ApplyOptions(opts...)
  2834  	return out, req.Send()
  2835  }
  2836  
  2837  const opDescribeMyUserProfile = "DescribeMyUserProfile"
  2838  
  2839  // DescribeMyUserProfileRequest generates a "aws/request.Request" representing the
  2840  // client's request for the DescribeMyUserProfile operation. The "output" return
  2841  // value will be populated with the request's response once the request completes
  2842  // successfully.
  2843  //
  2844  // Use "Send" method on the returned Request to send the API call to the service.
  2845  // the "output" return value is not valid until after Send returns without error.
  2846  //
  2847  // See DescribeMyUserProfile for more information on using the DescribeMyUserProfile
  2848  // API call, and error handling.
  2849  //
  2850  // This method is useful when you want to inject custom logic or configuration
  2851  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2852  //
  2853  //
  2854  //    // Example sending a request using the DescribeMyUserProfileRequest method.
  2855  //    req, resp := client.DescribeMyUserProfileRequest(params)
  2856  //
  2857  //    err := req.Send()
  2858  //    if err == nil { // resp is now filled
  2859  //        fmt.Println(resp)
  2860  //    }
  2861  //
  2862  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeMyUserProfile
  2863  func (c *OpsWorks) DescribeMyUserProfileRequest(input *DescribeMyUserProfileInput) (req *request.Request, output *DescribeMyUserProfileOutput) {
  2864  	op := &request.Operation{
  2865  		Name:       opDescribeMyUserProfile,
  2866  		HTTPMethod: "POST",
  2867  		HTTPPath:   "/",
  2868  	}
  2869  
  2870  	if input == nil {
  2871  		input = &DescribeMyUserProfileInput{}
  2872  	}
  2873  
  2874  	output = &DescribeMyUserProfileOutput{}
  2875  	req = c.newRequest(op, input, output)
  2876  	return
  2877  }
  2878  
  2879  // DescribeMyUserProfile API operation for AWS OpsWorks.
  2880  //
  2881  // Describes a user's SSH information.
  2882  //
  2883  // Required Permissions: To use this action, an IAM user must have self-management
  2884  // enabled or an attached policy that explicitly grants permissions. For more
  2885  // information about user permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  2886  //
  2887  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2888  // with awserr.Error's Code and Message methods to get detailed information about
  2889  // the error.
  2890  //
  2891  // See the AWS API reference guide for AWS OpsWorks's
  2892  // API operation DescribeMyUserProfile for usage and error information.
  2893  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeMyUserProfile
  2894  func (c *OpsWorks) DescribeMyUserProfile(input *DescribeMyUserProfileInput) (*DescribeMyUserProfileOutput, error) {
  2895  	req, out := c.DescribeMyUserProfileRequest(input)
  2896  	return out, req.Send()
  2897  }
  2898  
  2899  // DescribeMyUserProfileWithContext is the same as DescribeMyUserProfile with the addition of
  2900  // the ability to pass a context and additional request options.
  2901  //
  2902  // See DescribeMyUserProfile for details on how to use this API operation.
  2903  //
  2904  // The context must be non-nil and will be used for request cancellation. If
  2905  // the context is nil a panic will occur. In the future the SDK may create
  2906  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2907  // for more information on using Contexts.
  2908  func (c *OpsWorks) DescribeMyUserProfileWithContext(ctx aws.Context, input *DescribeMyUserProfileInput, opts ...request.Option) (*DescribeMyUserProfileOutput, error) {
  2909  	req, out := c.DescribeMyUserProfileRequest(input)
  2910  	req.SetContext(ctx)
  2911  	req.ApplyOptions(opts...)
  2912  	return out, req.Send()
  2913  }
  2914  
  2915  const opDescribeOperatingSystems = "DescribeOperatingSystems"
  2916  
  2917  // DescribeOperatingSystemsRequest generates a "aws/request.Request" representing the
  2918  // client's request for the DescribeOperatingSystems operation. The "output" return
  2919  // value will be populated with the request's response once the request completes
  2920  // successfully.
  2921  //
  2922  // Use "Send" method on the returned Request to send the API call to the service.
  2923  // the "output" return value is not valid until after Send returns without error.
  2924  //
  2925  // See DescribeOperatingSystems for more information on using the DescribeOperatingSystems
  2926  // API call, and error handling.
  2927  //
  2928  // This method is useful when you want to inject custom logic or configuration
  2929  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2930  //
  2931  //
  2932  //    // Example sending a request using the DescribeOperatingSystemsRequest method.
  2933  //    req, resp := client.DescribeOperatingSystemsRequest(params)
  2934  //
  2935  //    err := req.Send()
  2936  //    if err == nil { // resp is now filled
  2937  //        fmt.Println(resp)
  2938  //    }
  2939  //
  2940  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeOperatingSystems
  2941  func (c *OpsWorks) DescribeOperatingSystemsRequest(input *DescribeOperatingSystemsInput) (req *request.Request, output *DescribeOperatingSystemsOutput) {
  2942  	op := &request.Operation{
  2943  		Name:       opDescribeOperatingSystems,
  2944  		HTTPMethod: "POST",
  2945  		HTTPPath:   "/",
  2946  	}
  2947  
  2948  	if input == nil {
  2949  		input = &DescribeOperatingSystemsInput{}
  2950  	}
  2951  
  2952  	output = &DescribeOperatingSystemsOutput{}
  2953  	req = c.newRequest(op, input, output)
  2954  	return
  2955  }
  2956  
  2957  // DescribeOperatingSystems API operation for AWS OpsWorks.
  2958  //
  2959  // Describes the operating systems that are supported by AWS OpsWorks Stacks.
  2960  //
  2961  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2962  // with awserr.Error's Code and Message methods to get detailed information about
  2963  // the error.
  2964  //
  2965  // See the AWS API reference guide for AWS OpsWorks's
  2966  // API operation DescribeOperatingSystems for usage and error information.
  2967  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeOperatingSystems
  2968  func (c *OpsWorks) DescribeOperatingSystems(input *DescribeOperatingSystemsInput) (*DescribeOperatingSystemsOutput, error) {
  2969  	req, out := c.DescribeOperatingSystemsRequest(input)
  2970  	return out, req.Send()
  2971  }
  2972  
  2973  // DescribeOperatingSystemsWithContext is the same as DescribeOperatingSystems with the addition of
  2974  // the ability to pass a context and additional request options.
  2975  //
  2976  // See DescribeOperatingSystems for details on how to use this API operation.
  2977  //
  2978  // The context must be non-nil and will be used for request cancellation. If
  2979  // the context is nil a panic will occur. In the future the SDK may create
  2980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2981  // for more information on using Contexts.
  2982  func (c *OpsWorks) DescribeOperatingSystemsWithContext(ctx aws.Context, input *DescribeOperatingSystemsInput, opts ...request.Option) (*DescribeOperatingSystemsOutput, error) {
  2983  	req, out := c.DescribeOperatingSystemsRequest(input)
  2984  	req.SetContext(ctx)
  2985  	req.ApplyOptions(opts...)
  2986  	return out, req.Send()
  2987  }
  2988  
  2989  const opDescribePermissions = "DescribePermissions"
  2990  
  2991  // DescribePermissionsRequest generates a "aws/request.Request" representing the
  2992  // client's request for the DescribePermissions operation. The "output" return
  2993  // value will be populated with the request's response once the request completes
  2994  // successfully.
  2995  //
  2996  // Use "Send" method on the returned Request to send the API call to the service.
  2997  // the "output" return value is not valid until after Send returns without error.
  2998  //
  2999  // See DescribePermissions for more information on using the DescribePermissions
  3000  // API call, and error handling.
  3001  //
  3002  // This method is useful when you want to inject custom logic or configuration
  3003  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3004  //
  3005  //
  3006  //    // Example sending a request using the DescribePermissionsRequest method.
  3007  //    req, resp := client.DescribePermissionsRequest(params)
  3008  //
  3009  //    err := req.Send()
  3010  //    if err == nil { // resp is now filled
  3011  //        fmt.Println(resp)
  3012  //    }
  3013  //
  3014  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribePermissions
  3015  func (c *OpsWorks) DescribePermissionsRequest(input *DescribePermissionsInput) (req *request.Request, output *DescribePermissionsOutput) {
  3016  	op := &request.Operation{
  3017  		Name:       opDescribePermissions,
  3018  		HTTPMethod: "POST",
  3019  		HTTPPath:   "/",
  3020  	}
  3021  
  3022  	if input == nil {
  3023  		input = &DescribePermissionsInput{}
  3024  	}
  3025  
  3026  	output = &DescribePermissionsOutput{}
  3027  	req = c.newRequest(op, input, output)
  3028  	return
  3029  }
  3030  
  3031  // DescribePermissions API operation for AWS OpsWorks.
  3032  //
  3033  // Describes the permissions for a specified stack.
  3034  //
  3035  // Required Permissions: To use this action, an IAM user must have a Manage
  3036  // permissions level for the stack, or an attached policy that explicitly grants
  3037  // permissions. For more information on user permissions, see Managing User
  3038  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3039  //
  3040  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3041  // with awserr.Error's Code and Message methods to get detailed information about
  3042  // the error.
  3043  //
  3044  // See the AWS API reference guide for AWS OpsWorks's
  3045  // API operation DescribePermissions for usage and error information.
  3046  //
  3047  // Returned Error Types:
  3048  //   * ValidationException
  3049  //   Indicates that a request was not valid.
  3050  //
  3051  //   * ResourceNotFoundException
  3052  //   Indicates that a resource was not found.
  3053  //
  3054  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribePermissions
  3055  func (c *OpsWorks) DescribePermissions(input *DescribePermissionsInput) (*DescribePermissionsOutput, error) {
  3056  	req, out := c.DescribePermissionsRequest(input)
  3057  	return out, req.Send()
  3058  }
  3059  
  3060  // DescribePermissionsWithContext is the same as DescribePermissions with the addition of
  3061  // the ability to pass a context and additional request options.
  3062  //
  3063  // See DescribePermissions for details on how to use this API operation.
  3064  //
  3065  // The context must be non-nil and will be used for request cancellation. If
  3066  // the context is nil a panic will occur. In the future the SDK may create
  3067  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3068  // for more information on using Contexts.
  3069  func (c *OpsWorks) DescribePermissionsWithContext(ctx aws.Context, input *DescribePermissionsInput, opts ...request.Option) (*DescribePermissionsOutput, error) {
  3070  	req, out := c.DescribePermissionsRequest(input)
  3071  	req.SetContext(ctx)
  3072  	req.ApplyOptions(opts...)
  3073  	return out, req.Send()
  3074  }
  3075  
  3076  const opDescribeRaidArrays = "DescribeRaidArrays"
  3077  
  3078  // DescribeRaidArraysRequest generates a "aws/request.Request" representing the
  3079  // client's request for the DescribeRaidArrays operation. The "output" return
  3080  // value will be populated with the request's response once the request completes
  3081  // successfully.
  3082  //
  3083  // Use "Send" method on the returned Request to send the API call to the service.
  3084  // the "output" return value is not valid until after Send returns without error.
  3085  //
  3086  // See DescribeRaidArrays for more information on using the DescribeRaidArrays
  3087  // API call, and error handling.
  3088  //
  3089  // This method is useful when you want to inject custom logic or configuration
  3090  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3091  //
  3092  //
  3093  //    // Example sending a request using the DescribeRaidArraysRequest method.
  3094  //    req, resp := client.DescribeRaidArraysRequest(params)
  3095  //
  3096  //    err := req.Send()
  3097  //    if err == nil { // resp is now filled
  3098  //        fmt.Println(resp)
  3099  //    }
  3100  //
  3101  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRaidArrays
  3102  func (c *OpsWorks) DescribeRaidArraysRequest(input *DescribeRaidArraysInput) (req *request.Request, output *DescribeRaidArraysOutput) {
  3103  	op := &request.Operation{
  3104  		Name:       opDescribeRaidArrays,
  3105  		HTTPMethod: "POST",
  3106  		HTTPPath:   "/",
  3107  	}
  3108  
  3109  	if input == nil {
  3110  		input = &DescribeRaidArraysInput{}
  3111  	}
  3112  
  3113  	output = &DescribeRaidArraysOutput{}
  3114  	req = c.newRequest(op, input, output)
  3115  	return
  3116  }
  3117  
  3118  // DescribeRaidArrays API operation for AWS OpsWorks.
  3119  //
  3120  // Describe an instance's RAID arrays.
  3121  //
  3122  // This call accepts only one resource-identifying parameter.
  3123  //
  3124  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3125  // or Manage permissions level for the stack, or an attached policy that explicitly
  3126  // grants permissions. For more information about user permissions, see Managing
  3127  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3128  //
  3129  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3130  // with awserr.Error's Code and Message methods to get detailed information about
  3131  // the error.
  3132  //
  3133  // See the AWS API reference guide for AWS OpsWorks's
  3134  // API operation DescribeRaidArrays for usage and error information.
  3135  //
  3136  // Returned Error Types:
  3137  //   * ValidationException
  3138  //   Indicates that a request was not valid.
  3139  //
  3140  //   * ResourceNotFoundException
  3141  //   Indicates that a resource was not found.
  3142  //
  3143  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRaidArrays
  3144  func (c *OpsWorks) DescribeRaidArrays(input *DescribeRaidArraysInput) (*DescribeRaidArraysOutput, error) {
  3145  	req, out := c.DescribeRaidArraysRequest(input)
  3146  	return out, req.Send()
  3147  }
  3148  
  3149  // DescribeRaidArraysWithContext is the same as DescribeRaidArrays with the addition of
  3150  // the ability to pass a context and additional request options.
  3151  //
  3152  // See DescribeRaidArrays for details on how to use this API operation.
  3153  //
  3154  // The context must be non-nil and will be used for request cancellation. If
  3155  // the context is nil a panic will occur. In the future the SDK may create
  3156  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3157  // for more information on using Contexts.
  3158  func (c *OpsWorks) DescribeRaidArraysWithContext(ctx aws.Context, input *DescribeRaidArraysInput, opts ...request.Option) (*DescribeRaidArraysOutput, error) {
  3159  	req, out := c.DescribeRaidArraysRequest(input)
  3160  	req.SetContext(ctx)
  3161  	req.ApplyOptions(opts...)
  3162  	return out, req.Send()
  3163  }
  3164  
  3165  const opDescribeRdsDbInstances = "DescribeRdsDbInstances"
  3166  
  3167  // DescribeRdsDbInstancesRequest generates a "aws/request.Request" representing the
  3168  // client's request for the DescribeRdsDbInstances operation. The "output" return
  3169  // value will be populated with the request's response once the request completes
  3170  // successfully.
  3171  //
  3172  // Use "Send" method on the returned Request to send the API call to the service.
  3173  // the "output" return value is not valid until after Send returns without error.
  3174  //
  3175  // See DescribeRdsDbInstances for more information on using the DescribeRdsDbInstances
  3176  // API call, and error handling.
  3177  //
  3178  // This method is useful when you want to inject custom logic or configuration
  3179  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3180  //
  3181  //
  3182  //    // Example sending a request using the DescribeRdsDbInstancesRequest method.
  3183  //    req, resp := client.DescribeRdsDbInstancesRequest(params)
  3184  //
  3185  //    err := req.Send()
  3186  //    if err == nil { // resp is now filled
  3187  //        fmt.Println(resp)
  3188  //    }
  3189  //
  3190  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRdsDbInstances
  3191  func (c *OpsWorks) DescribeRdsDbInstancesRequest(input *DescribeRdsDbInstancesInput) (req *request.Request, output *DescribeRdsDbInstancesOutput) {
  3192  	op := &request.Operation{
  3193  		Name:       opDescribeRdsDbInstances,
  3194  		HTTPMethod: "POST",
  3195  		HTTPPath:   "/",
  3196  	}
  3197  
  3198  	if input == nil {
  3199  		input = &DescribeRdsDbInstancesInput{}
  3200  	}
  3201  
  3202  	output = &DescribeRdsDbInstancesOutput{}
  3203  	req = c.newRequest(op, input, output)
  3204  	return
  3205  }
  3206  
  3207  // DescribeRdsDbInstances API operation for AWS OpsWorks.
  3208  //
  3209  // Describes Amazon RDS instances.
  3210  //
  3211  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3212  // or Manage permissions level for the stack, or an attached policy that explicitly
  3213  // grants permissions. For more information about user permissions, see Managing
  3214  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3215  //
  3216  // This call accepts only one resource-identifying parameter.
  3217  //
  3218  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3219  // with awserr.Error's Code and Message methods to get detailed information about
  3220  // the error.
  3221  //
  3222  // See the AWS API reference guide for AWS OpsWorks's
  3223  // API operation DescribeRdsDbInstances for usage and error information.
  3224  //
  3225  // Returned Error Types:
  3226  //   * ValidationException
  3227  //   Indicates that a request was not valid.
  3228  //
  3229  //   * ResourceNotFoundException
  3230  //   Indicates that a resource was not found.
  3231  //
  3232  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRdsDbInstances
  3233  func (c *OpsWorks) DescribeRdsDbInstances(input *DescribeRdsDbInstancesInput) (*DescribeRdsDbInstancesOutput, error) {
  3234  	req, out := c.DescribeRdsDbInstancesRequest(input)
  3235  	return out, req.Send()
  3236  }
  3237  
  3238  // DescribeRdsDbInstancesWithContext is the same as DescribeRdsDbInstances with the addition of
  3239  // the ability to pass a context and additional request options.
  3240  //
  3241  // See DescribeRdsDbInstances for details on how to use this API operation.
  3242  //
  3243  // The context must be non-nil and will be used for request cancellation. If
  3244  // the context is nil a panic will occur. In the future the SDK may create
  3245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3246  // for more information on using Contexts.
  3247  func (c *OpsWorks) DescribeRdsDbInstancesWithContext(ctx aws.Context, input *DescribeRdsDbInstancesInput, opts ...request.Option) (*DescribeRdsDbInstancesOutput, error) {
  3248  	req, out := c.DescribeRdsDbInstancesRequest(input)
  3249  	req.SetContext(ctx)
  3250  	req.ApplyOptions(opts...)
  3251  	return out, req.Send()
  3252  }
  3253  
  3254  const opDescribeServiceErrors = "DescribeServiceErrors"
  3255  
  3256  // DescribeServiceErrorsRequest generates a "aws/request.Request" representing the
  3257  // client's request for the DescribeServiceErrors operation. The "output" return
  3258  // value will be populated with the request's response once the request completes
  3259  // successfully.
  3260  //
  3261  // Use "Send" method on the returned Request to send the API call to the service.
  3262  // the "output" return value is not valid until after Send returns without error.
  3263  //
  3264  // See DescribeServiceErrors for more information on using the DescribeServiceErrors
  3265  // API call, and error handling.
  3266  //
  3267  // This method is useful when you want to inject custom logic or configuration
  3268  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3269  //
  3270  //
  3271  //    // Example sending a request using the DescribeServiceErrorsRequest method.
  3272  //    req, resp := client.DescribeServiceErrorsRequest(params)
  3273  //
  3274  //    err := req.Send()
  3275  //    if err == nil { // resp is now filled
  3276  //        fmt.Println(resp)
  3277  //    }
  3278  //
  3279  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeServiceErrors
  3280  func (c *OpsWorks) DescribeServiceErrorsRequest(input *DescribeServiceErrorsInput) (req *request.Request, output *DescribeServiceErrorsOutput) {
  3281  	op := &request.Operation{
  3282  		Name:       opDescribeServiceErrors,
  3283  		HTTPMethod: "POST",
  3284  		HTTPPath:   "/",
  3285  	}
  3286  
  3287  	if input == nil {
  3288  		input = &DescribeServiceErrorsInput{}
  3289  	}
  3290  
  3291  	output = &DescribeServiceErrorsOutput{}
  3292  	req = c.newRequest(op, input, output)
  3293  	return
  3294  }
  3295  
  3296  // DescribeServiceErrors API operation for AWS OpsWorks.
  3297  //
  3298  // Describes AWS OpsWorks Stacks service errors.
  3299  //
  3300  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3301  // or Manage permissions level for the stack, or an attached policy that explicitly
  3302  // grants permissions. For more information about user permissions, see Managing
  3303  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3304  //
  3305  // This call accepts only one resource-identifying parameter.
  3306  //
  3307  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3308  // with awserr.Error's Code and Message methods to get detailed information about
  3309  // the error.
  3310  //
  3311  // See the AWS API reference guide for AWS OpsWorks's
  3312  // API operation DescribeServiceErrors for usage and error information.
  3313  //
  3314  // Returned Error Types:
  3315  //   * ValidationException
  3316  //   Indicates that a request was not valid.
  3317  //
  3318  //   * ResourceNotFoundException
  3319  //   Indicates that a resource was not found.
  3320  //
  3321  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeServiceErrors
  3322  func (c *OpsWorks) DescribeServiceErrors(input *DescribeServiceErrorsInput) (*DescribeServiceErrorsOutput, error) {
  3323  	req, out := c.DescribeServiceErrorsRequest(input)
  3324  	return out, req.Send()
  3325  }
  3326  
  3327  // DescribeServiceErrorsWithContext is the same as DescribeServiceErrors with the addition of
  3328  // the ability to pass a context and additional request options.
  3329  //
  3330  // See DescribeServiceErrors for details on how to use this API operation.
  3331  //
  3332  // The context must be non-nil and will be used for request cancellation. If
  3333  // the context is nil a panic will occur. In the future the SDK may create
  3334  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3335  // for more information on using Contexts.
  3336  func (c *OpsWorks) DescribeServiceErrorsWithContext(ctx aws.Context, input *DescribeServiceErrorsInput, opts ...request.Option) (*DescribeServiceErrorsOutput, error) {
  3337  	req, out := c.DescribeServiceErrorsRequest(input)
  3338  	req.SetContext(ctx)
  3339  	req.ApplyOptions(opts...)
  3340  	return out, req.Send()
  3341  }
  3342  
  3343  const opDescribeStackProvisioningParameters = "DescribeStackProvisioningParameters"
  3344  
  3345  // DescribeStackProvisioningParametersRequest generates a "aws/request.Request" representing the
  3346  // client's request for the DescribeStackProvisioningParameters operation. The "output" return
  3347  // value will be populated with the request's response once the request completes
  3348  // successfully.
  3349  //
  3350  // Use "Send" method on the returned Request to send the API call to the service.
  3351  // the "output" return value is not valid until after Send returns without error.
  3352  //
  3353  // See DescribeStackProvisioningParameters for more information on using the DescribeStackProvisioningParameters
  3354  // API call, and error handling.
  3355  //
  3356  // This method is useful when you want to inject custom logic or configuration
  3357  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3358  //
  3359  //
  3360  //    // Example sending a request using the DescribeStackProvisioningParametersRequest method.
  3361  //    req, resp := client.DescribeStackProvisioningParametersRequest(params)
  3362  //
  3363  //    err := req.Send()
  3364  //    if err == nil { // resp is now filled
  3365  //        fmt.Println(resp)
  3366  //    }
  3367  //
  3368  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackProvisioningParameters
  3369  func (c *OpsWorks) DescribeStackProvisioningParametersRequest(input *DescribeStackProvisioningParametersInput) (req *request.Request, output *DescribeStackProvisioningParametersOutput) {
  3370  	op := &request.Operation{
  3371  		Name:       opDescribeStackProvisioningParameters,
  3372  		HTTPMethod: "POST",
  3373  		HTTPPath:   "/",
  3374  	}
  3375  
  3376  	if input == nil {
  3377  		input = &DescribeStackProvisioningParametersInput{}
  3378  	}
  3379  
  3380  	output = &DescribeStackProvisioningParametersOutput{}
  3381  	req = c.newRequest(op, input, output)
  3382  	return
  3383  }
  3384  
  3385  // DescribeStackProvisioningParameters API operation for AWS OpsWorks.
  3386  //
  3387  // Requests a description of a stack's provisioning parameters.
  3388  //
  3389  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3390  // or Manage permissions level for the stack or an attached policy that explicitly
  3391  // grants permissions. For more information about user permissions, see Managing
  3392  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3393  //
  3394  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3395  // with awserr.Error's Code and Message methods to get detailed information about
  3396  // the error.
  3397  //
  3398  // See the AWS API reference guide for AWS OpsWorks's
  3399  // API operation DescribeStackProvisioningParameters for usage and error information.
  3400  //
  3401  // Returned Error Types:
  3402  //   * ValidationException
  3403  //   Indicates that a request was not valid.
  3404  //
  3405  //   * ResourceNotFoundException
  3406  //   Indicates that a resource was not found.
  3407  //
  3408  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackProvisioningParameters
  3409  func (c *OpsWorks) DescribeStackProvisioningParameters(input *DescribeStackProvisioningParametersInput) (*DescribeStackProvisioningParametersOutput, error) {
  3410  	req, out := c.DescribeStackProvisioningParametersRequest(input)
  3411  	return out, req.Send()
  3412  }
  3413  
  3414  // DescribeStackProvisioningParametersWithContext is the same as DescribeStackProvisioningParameters with the addition of
  3415  // the ability to pass a context and additional request options.
  3416  //
  3417  // See DescribeStackProvisioningParameters for details on how to use this API operation.
  3418  //
  3419  // The context must be non-nil and will be used for request cancellation. If
  3420  // the context is nil a panic will occur. In the future the SDK may create
  3421  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3422  // for more information on using Contexts.
  3423  func (c *OpsWorks) DescribeStackProvisioningParametersWithContext(ctx aws.Context, input *DescribeStackProvisioningParametersInput, opts ...request.Option) (*DescribeStackProvisioningParametersOutput, error) {
  3424  	req, out := c.DescribeStackProvisioningParametersRequest(input)
  3425  	req.SetContext(ctx)
  3426  	req.ApplyOptions(opts...)
  3427  	return out, req.Send()
  3428  }
  3429  
  3430  const opDescribeStackSummary = "DescribeStackSummary"
  3431  
  3432  // DescribeStackSummaryRequest generates a "aws/request.Request" representing the
  3433  // client's request for the DescribeStackSummary operation. The "output" return
  3434  // value will be populated with the request's response once the request completes
  3435  // successfully.
  3436  //
  3437  // Use "Send" method on the returned Request to send the API call to the service.
  3438  // the "output" return value is not valid until after Send returns without error.
  3439  //
  3440  // See DescribeStackSummary for more information on using the DescribeStackSummary
  3441  // API call, and error handling.
  3442  //
  3443  // This method is useful when you want to inject custom logic or configuration
  3444  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3445  //
  3446  //
  3447  //    // Example sending a request using the DescribeStackSummaryRequest method.
  3448  //    req, resp := client.DescribeStackSummaryRequest(params)
  3449  //
  3450  //    err := req.Send()
  3451  //    if err == nil { // resp is now filled
  3452  //        fmt.Println(resp)
  3453  //    }
  3454  //
  3455  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackSummary
  3456  func (c *OpsWorks) DescribeStackSummaryRequest(input *DescribeStackSummaryInput) (req *request.Request, output *DescribeStackSummaryOutput) {
  3457  	op := &request.Operation{
  3458  		Name:       opDescribeStackSummary,
  3459  		HTTPMethod: "POST",
  3460  		HTTPPath:   "/",
  3461  	}
  3462  
  3463  	if input == nil {
  3464  		input = &DescribeStackSummaryInput{}
  3465  	}
  3466  
  3467  	output = &DescribeStackSummaryOutput{}
  3468  	req = c.newRequest(op, input, output)
  3469  	return
  3470  }
  3471  
  3472  // DescribeStackSummary API operation for AWS OpsWorks.
  3473  //
  3474  // Describes the number of layers and apps in a specified stack, and the number
  3475  // of instances in each state, such as running_setup or online.
  3476  //
  3477  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3478  // or Manage permissions level for the stack, or an attached policy that explicitly
  3479  // grants permissions. For more information about user permissions, see Managing
  3480  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3481  //
  3482  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3483  // with awserr.Error's Code and Message methods to get detailed information about
  3484  // the error.
  3485  //
  3486  // See the AWS API reference guide for AWS OpsWorks's
  3487  // API operation DescribeStackSummary for usage and error information.
  3488  //
  3489  // Returned Error Types:
  3490  //   * ValidationException
  3491  //   Indicates that a request was not valid.
  3492  //
  3493  //   * ResourceNotFoundException
  3494  //   Indicates that a resource was not found.
  3495  //
  3496  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackSummary
  3497  func (c *OpsWorks) DescribeStackSummary(input *DescribeStackSummaryInput) (*DescribeStackSummaryOutput, error) {
  3498  	req, out := c.DescribeStackSummaryRequest(input)
  3499  	return out, req.Send()
  3500  }
  3501  
  3502  // DescribeStackSummaryWithContext is the same as DescribeStackSummary with the addition of
  3503  // the ability to pass a context and additional request options.
  3504  //
  3505  // See DescribeStackSummary for details on how to use this API operation.
  3506  //
  3507  // The context must be non-nil and will be used for request cancellation. If
  3508  // the context is nil a panic will occur. In the future the SDK may create
  3509  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3510  // for more information on using Contexts.
  3511  func (c *OpsWorks) DescribeStackSummaryWithContext(ctx aws.Context, input *DescribeStackSummaryInput, opts ...request.Option) (*DescribeStackSummaryOutput, error) {
  3512  	req, out := c.DescribeStackSummaryRequest(input)
  3513  	req.SetContext(ctx)
  3514  	req.ApplyOptions(opts...)
  3515  	return out, req.Send()
  3516  }
  3517  
  3518  const opDescribeStacks = "DescribeStacks"
  3519  
  3520  // DescribeStacksRequest generates a "aws/request.Request" representing the
  3521  // client's request for the DescribeStacks operation. The "output" return
  3522  // value will be populated with the request's response once the request completes
  3523  // successfully.
  3524  //
  3525  // Use "Send" method on the returned Request to send the API call to the service.
  3526  // the "output" return value is not valid until after Send returns without error.
  3527  //
  3528  // See DescribeStacks for more information on using the DescribeStacks
  3529  // API call, and error handling.
  3530  //
  3531  // This method is useful when you want to inject custom logic or configuration
  3532  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3533  //
  3534  //
  3535  //    // Example sending a request using the DescribeStacksRequest method.
  3536  //    req, resp := client.DescribeStacksRequest(params)
  3537  //
  3538  //    err := req.Send()
  3539  //    if err == nil { // resp is now filled
  3540  //        fmt.Println(resp)
  3541  //    }
  3542  //
  3543  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStacks
  3544  func (c *OpsWorks) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
  3545  	op := &request.Operation{
  3546  		Name:       opDescribeStacks,
  3547  		HTTPMethod: "POST",
  3548  		HTTPPath:   "/",
  3549  	}
  3550  
  3551  	if input == nil {
  3552  		input = &DescribeStacksInput{}
  3553  	}
  3554  
  3555  	output = &DescribeStacksOutput{}
  3556  	req = c.newRequest(op, input, output)
  3557  	return
  3558  }
  3559  
  3560  // DescribeStacks API operation for AWS OpsWorks.
  3561  //
  3562  // Requests a description of one or more stacks.
  3563  //
  3564  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3565  // or Manage permissions level for the stack, or an attached policy that explicitly
  3566  // grants permissions. For more information about user permissions, see Managing
  3567  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  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 AWS OpsWorks's
  3574  // API operation DescribeStacks for usage and error information.
  3575  //
  3576  // Returned Error Types:
  3577  //   * ValidationException
  3578  //   Indicates that a request was not valid.
  3579  //
  3580  //   * ResourceNotFoundException
  3581  //   Indicates that a resource was not found.
  3582  //
  3583  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStacks
  3584  func (c *OpsWorks) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
  3585  	req, out := c.DescribeStacksRequest(input)
  3586  	return out, req.Send()
  3587  }
  3588  
  3589  // DescribeStacksWithContext is the same as DescribeStacks with the addition of
  3590  // the ability to pass a context and additional request options.
  3591  //
  3592  // See DescribeStacks for details on how to use this API operation.
  3593  //
  3594  // The context must be non-nil and will be used for request cancellation. If
  3595  // the context is nil a panic will occur. In the future the SDK may create
  3596  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3597  // for more information on using Contexts.
  3598  func (c *OpsWorks) DescribeStacksWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.Option) (*DescribeStacksOutput, error) {
  3599  	req, out := c.DescribeStacksRequest(input)
  3600  	req.SetContext(ctx)
  3601  	req.ApplyOptions(opts...)
  3602  	return out, req.Send()
  3603  }
  3604  
  3605  const opDescribeTimeBasedAutoScaling = "DescribeTimeBasedAutoScaling"
  3606  
  3607  // DescribeTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the
  3608  // client's request for the DescribeTimeBasedAutoScaling operation. The "output" return
  3609  // value will be populated with the request's response once the request completes
  3610  // successfully.
  3611  //
  3612  // Use "Send" method on the returned Request to send the API call to the service.
  3613  // the "output" return value is not valid until after Send returns without error.
  3614  //
  3615  // See DescribeTimeBasedAutoScaling for more information on using the DescribeTimeBasedAutoScaling
  3616  // API call, and error handling.
  3617  //
  3618  // This method is useful when you want to inject custom logic or configuration
  3619  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3620  //
  3621  //
  3622  //    // Example sending a request using the DescribeTimeBasedAutoScalingRequest method.
  3623  //    req, resp := client.DescribeTimeBasedAutoScalingRequest(params)
  3624  //
  3625  //    err := req.Send()
  3626  //    if err == nil { // resp is now filled
  3627  //        fmt.Println(resp)
  3628  //    }
  3629  //
  3630  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeTimeBasedAutoScaling
  3631  func (c *OpsWorks) DescribeTimeBasedAutoScalingRequest(input *DescribeTimeBasedAutoScalingInput) (req *request.Request, output *DescribeTimeBasedAutoScalingOutput) {
  3632  	op := &request.Operation{
  3633  		Name:       opDescribeTimeBasedAutoScaling,
  3634  		HTTPMethod: "POST",
  3635  		HTTPPath:   "/",
  3636  	}
  3637  
  3638  	if input == nil {
  3639  		input = &DescribeTimeBasedAutoScalingInput{}
  3640  	}
  3641  
  3642  	output = &DescribeTimeBasedAutoScalingOutput{}
  3643  	req = c.newRequest(op, input, output)
  3644  	return
  3645  }
  3646  
  3647  // DescribeTimeBasedAutoScaling API operation for AWS OpsWorks.
  3648  //
  3649  // Describes time-based auto scaling configurations for specified instances.
  3650  //
  3651  // You must specify at least one of the parameters.
  3652  //
  3653  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3654  // or Manage permissions level for the stack, or an attached policy that explicitly
  3655  // grants permissions. For more information about user permissions, see Managing
  3656  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3657  //
  3658  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3659  // with awserr.Error's Code and Message methods to get detailed information about
  3660  // the error.
  3661  //
  3662  // See the AWS API reference guide for AWS OpsWorks's
  3663  // API operation DescribeTimeBasedAutoScaling for usage and error information.
  3664  //
  3665  // Returned Error Types:
  3666  //   * ValidationException
  3667  //   Indicates that a request was not valid.
  3668  //
  3669  //   * ResourceNotFoundException
  3670  //   Indicates that a resource was not found.
  3671  //
  3672  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeTimeBasedAutoScaling
  3673  func (c *OpsWorks) DescribeTimeBasedAutoScaling(input *DescribeTimeBasedAutoScalingInput) (*DescribeTimeBasedAutoScalingOutput, error) {
  3674  	req, out := c.DescribeTimeBasedAutoScalingRequest(input)
  3675  	return out, req.Send()
  3676  }
  3677  
  3678  // DescribeTimeBasedAutoScalingWithContext is the same as DescribeTimeBasedAutoScaling with the addition of
  3679  // the ability to pass a context and additional request options.
  3680  //
  3681  // See DescribeTimeBasedAutoScaling for details on how to use this API operation.
  3682  //
  3683  // The context must be non-nil and will be used for request cancellation. If
  3684  // the context is nil a panic will occur. In the future the SDK may create
  3685  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3686  // for more information on using Contexts.
  3687  func (c *OpsWorks) DescribeTimeBasedAutoScalingWithContext(ctx aws.Context, input *DescribeTimeBasedAutoScalingInput, opts ...request.Option) (*DescribeTimeBasedAutoScalingOutput, error) {
  3688  	req, out := c.DescribeTimeBasedAutoScalingRequest(input)
  3689  	req.SetContext(ctx)
  3690  	req.ApplyOptions(opts...)
  3691  	return out, req.Send()
  3692  }
  3693  
  3694  const opDescribeUserProfiles = "DescribeUserProfiles"
  3695  
  3696  // DescribeUserProfilesRequest generates a "aws/request.Request" representing the
  3697  // client's request for the DescribeUserProfiles operation. The "output" return
  3698  // value will be populated with the request's response once the request completes
  3699  // successfully.
  3700  //
  3701  // Use "Send" method on the returned Request to send the API call to the service.
  3702  // the "output" return value is not valid until after Send returns without error.
  3703  //
  3704  // See DescribeUserProfiles for more information on using the DescribeUserProfiles
  3705  // API call, and error handling.
  3706  //
  3707  // This method is useful when you want to inject custom logic or configuration
  3708  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3709  //
  3710  //
  3711  //    // Example sending a request using the DescribeUserProfilesRequest method.
  3712  //    req, resp := client.DescribeUserProfilesRequest(params)
  3713  //
  3714  //    err := req.Send()
  3715  //    if err == nil { // resp is now filled
  3716  //        fmt.Println(resp)
  3717  //    }
  3718  //
  3719  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeUserProfiles
  3720  func (c *OpsWorks) DescribeUserProfilesRequest(input *DescribeUserProfilesInput) (req *request.Request, output *DescribeUserProfilesOutput) {
  3721  	op := &request.Operation{
  3722  		Name:       opDescribeUserProfiles,
  3723  		HTTPMethod: "POST",
  3724  		HTTPPath:   "/",
  3725  	}
  3726  
  3727  	if input == nil {
  3728  		input = &DescribeUserProfilesInput{}
  3729  	}
  3730  
  3731  	output = &DescribeUserProfilesOutput{}
  3732  	req = c.newRequest(op, input, output)
  3733  	return
  3734  }
  3735  
  3736  // DescribeUserProfiles API operation for AWS OpsWorks.
  3737  //
  3738  // Describe specified users.
  3739  //
  3740  // Required Permissions: To use this action, an IAM user must have an attached
  3741  // policy that explicitly grants permissions. For more information about user
  3742  // permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3743  //
  3744  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3745  // with awserr.Error's Code and Message methods to get detailed information about
  3746  // the error.
  3747  //
  3748  // See the AWS API reference guide for AWS OpsWorks's
  3749  // API operation DescribeUserProfiles for usage and error information.
  3750  //
  3751  // Returned Error Types:
  3752  //   * ValidationException
  3753  //   Indicates that a request was not valid.
  3754  //
  3755  //   * ResourceNotFoundException
  3756  //   Indicates that a resource was not found.
  3757  //
  3758  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeUserProfiles
  3759  func (c *OpsWorks) DescribeUserProfiles(input *DescribeUserProfilesInput) (*DescribeUserProfilesOutput, error) {
  3760  	req, out := c.DescribeUserProfilesRequest(input)
  3761  	return out, req.Send()
  3762  }
  3763  
  3764  // DescribeUserProfilesWithContext is the same as DescribeUserProfiles with the addition of
  3765  // the ability to pass a context and additional request options.
  3766  //
  3767  // See DescribeUserProfiles for details on how to use this API operation.
  3768  //
  3769  // The context must be non-nil and will be used for request cancellation. If
  3770  // the context is nil a panic will occur. In the future the SDK may create
  3771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3772  // for more information on using Contexts.
  3773  func (c *OpsWorks) DescribeUserProfilesWithContext(ctx aws.Context, input *DescribeUserProfilesInput, opts ...request.Option) (*DescribeUserProfilesOutput, error) {
  3774  	req, out := c.DescribeUserProfilesRequest(input)
  3775  	req.SetContext(ctx)
  3776  	req.ApplyOptions(opts...)
  3777  	return out, req.Send()
  3778  }
  3779  
  3780  const opDescribeVolumes = "DescribeVolumes"
  3781  
  3782  // DescribeVolumesRequest generates a "aws/request.Request" representing the
  3783  // client's request for the DescribeVolumes operation. The "output" return
  3784  // value will be populated with the request's response once the request completes
  3785  // successfully.
  3786  //
  3787  // Use "Send" method on the returned Request to send the API call to the service.
  3788  // the "output" return value is not valid until after Send returns without error.
  3789  //
  3790  // See DescribeVolumes for more information on using the DescribeVolumes
  3791  // API call, and error handling.
  3792  //
  3793  // This method is useful when you want to inject custom logic or configuration
  3794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3795  //
  3796  //
  3797  //    // Example sending a request using the DescribeVolumesRequest method.
  3798  //    req, resp := client.DescribeVolumesRequest(params)
  3799  //
  3800  //    err := req.Send()
  3801  //    if err == nil { // resp is now filled
  3802  //        fmt.Println(resp)
  3803  //    }
  3804  //
  3805  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeVolumes
  3806  func (c *OpsWorks) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  3807  	op := &request.Operation{
  3808  		Name:       opDescribeVolumes,
  3809  		HTTPMethod: "POST",
  3810  		HTTPPath:   "/",
  3811  	}
  3812  
  3813  	if input == nil {
  3814  		input = &DescribeVolumesInput{}
  3815  	}
  3816  
  3817  	output = &DescribeVolumesOutput{}
  3818  	req = c.newRequest(op, input, output)
  3819  	return
  3820  }
  3821  
  3822  // DescribeVolumes API operation for AWS OpsWorks.
  3823  //
  3824  // Describes an instance's Amazon EBS volumes.
  3825  //
  3826  // This call accepts only one resource-identifying parameter.
  3827  //
  3828  // Required Permissions: To use this action, an IAM user must have a Show, Deploy,
  3829  // or Manage permissions level for the stack, or an attached policy that explicitly
  3830  // grants permissions. For more information about user permissions, see Managing
  3831  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3832  //
  3833  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3834  // with awserr.Error's Code and Message methods to get detailed information about
  3835  // the error.
  3836  //
  3837  // See the AWS API reference guide for AWS OpsWorks's
  3838  // API operation DescribeVolumes for usage and error information.
  3839  //
  3840  // Returned Error Types:
  3841  //   * ValidationException
  3842  //   Indicates that a request was not valid.
  3843  //
  3844  //   * ResourceNotFoundException
  3845  //   Indicates that a resource was not found.
  3846  //
  3847  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeVolumes
  3848  func (c *OpsWorks) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  3849  	req, out := c.DescribeVolumesRequest(input)
  3850  	return out, req.Send()
  3851  }
  3852  
  3853  // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  3854  // the ability to pass a context and additional request options.
  3855  //
  3856  // See DescribeVolumes for details on how to use this API operation.
  3857  //
  3858  // The context must be non-nil and will be used for request cancellation. If
  3859  // the context is nil a panic will occur. In the future the SDK may create
  3860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3861  // for more information on using Contexts.
  3862  func (c *OpsWorks) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  3863  	req, out := c.DescribeVolumesRequest(input)
  3864  	req.SetContext(ctx)
  3865  	req.ApplyOptions(opts...)
  3866  	return out, req.Send()
  3867  }
  3868  
  3869  const opDetachElasticLoadBalancer = "DetachElasticLoadBalancer"
  3870  
  3871  // DetachElasticLoadBalancerRequest generates a "aws/request.Request" representing the
  3872  // client's request for the DetachElasticLoadBalancer operation. The "output" return
  3873  // value will be populated with the request's response once the request completes
  3874  // successfully.
  3875  //
  3876  // Use "Send" method on the returned Request to send the API call to the service.
  3877  // the "output" return value is not valid until after Send returns without error.
  3878  //
  3879  // See DetachElasticLoadBalancer for more information on using the DetachElasticLoadBalancer
  3880  // API call, and error handling.
  3881  //
  3882  // This method is useful when you want to inject custom logic or configuration
  3883  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3884  //
  3885  //
  3886  //    // Example sending a request using the DetachElasticLoadBalancerRequest method.
  3887  //    req, resp := client.DetachElasticLoadBalancerRequest(params)
  3888  //
  3889  //    err := req.Send()
  3890  //    if err == nil { // resp is now filled
  3891  //        fmt.Println(resp)
  3892  //    }
  3893  //
  3894  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DetachElasticLoadBalancer
  3895  func (c *OpsWorks) DetachElasticLoadBalancerRequest(input *DetachElasticLoadBalancerInput) (req *request.Request, output *DetachElasticLoadBalancerOutput) {
  3896  	op := &request.Operation{
  3897  		Name:       opDetachElasticLoadBalancer,
  3898  		HTTPMethod: "POST",
  3899  		HTTPPath:   "/",
  3900  	}
  3901  
  3902  	if input == nil {
  3903  		input = &DetachElasticLoadBalancerInput{}
  3904  	}
  3905  
  3906  	output = &DetachElasticLoadBalancerOutput{}
  3907  	req = c.newRequest(op, input, output)
  3908  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3909  	return
  3910  }
  3911  
  3912  // DetachElasticLoadBalancer API operation for AWS OpsWorks.
  3913  //
  3914  // Detaches a specified Elastic Load Balancing instance from its layer.
  3915  //
  3916  // Required Permissions: To use this action, an IAM user must have a Manage
  3917  // permissions level for the stack, or an attached policy that explicitly grants
  3918  // permissions. For more information on user permissions, see Managing User
  3919  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  3920  //
  3921  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3922  // with awserr.Error's Code and Message methods to get detailed information about
  3923  // the error.
  3924  //
  3925  // See the AWS API reference guide for AWS OpsWorks's
  3926  // API operation DetachElasticLoadBalancer for usage and error information.
  3927  //
  3928  // Returned Error Types:
  3929  //   * ResourceNotFoundException
  3930  //   Indicates that a resource was not found.
  3931  //
  3932  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DetachElasticLoadBalancer
  3933  func (c *OpsWorks) DetachElasticLoadBalancer(input *DetachElasticLoadBalancerInput) (*DetachElasticLoadBalancerOutput, error) {
  3934  	req, out := c.DetachElasticLoadBalancerRequest(input)
  3935  	return out, req.Send()
  3936  }
  3937  
  3938  // DetachElasticLoadBalancerWithContext is the same as DetachElasticLoadBalancer with the addition of
  3939  // the ability to pass a context and additional request options.
  3940  //
  3941  // See DetachElasticLoadBalancer for details on how to use this API operation.
  3942  //
  3943  // The context must be non-nil and will be used for request cancellation. If
  3944  // the context is nil a panic will occur. In the future the SDK may create
  3945  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3946  // for more information on using Contexts.
  3947  func (c *OpsWorks) DetachElasticLoadBalancerWithContext(ctx aws.Context, input *DetachElasticLoadBalancerInput, opts ...request.Option) (*DetachElasticLoadBalancerOutput, error) {
  3948  	req, out := c.DetachElasticLoadBalancerRequest(input)
  3949  	req.SetContext(ctx)
  3950  	req.ApplyOptions(opts...)
  3951  	return out, req.Send()
  3952  }
  3953  
  3954  const opDisassociateElasticIp = "DisassociateElasticIp"
  3955  
  3956  // DisassociateElasticIpRequest generates a "aws/request.Request" representing the
  3957  // client's request for the DisassociateElasticIp operation. The "output" return
  3958  // value will be populated with the request's response once the request completes
  3959  // successfully.
  3960  //
  3961  // Use "Send" method on the returned Request to send the API call to the service.
  3962  // the "output" return value is not valid until after Send returns without error.
  3963  //
  3964  // See DisassociateElasticIp for more information on using the DisassociateElasticIp
  3965  // API call, and error handling.
  3966  //
  3967  // This method is useful when you want to inject custom logic or configuration
  3968  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3969  //
  3970  //
  3971  //    // Example sending a request using the DisassociateElasticIpRequest method.
  3972  //    req, resp := client.DisassociateElasticIpRequest(params)
  3973  //
  3974  //    err := req.Send()
  3975  //    if err == nil { // resp is now filled
  3976  //        fmt.Println(resp)
  3977  //    }
  3978  //
  3979  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DisassociateElasticIp
  3980  func (c *OpsWorks) DisassociateElasticIpRequest(input *DisassociateElasticIpInput) (req *request.Request, output *DisassociateElasticIpOutput) {
  3981  	op := &request.Operation{
  3982  		Name:       opDisassociateElasticIp,
  3983  		HTTPMethod: "POST",
  3984  		HTTPPath:   "/",
  3985  	}
  3986  
  3987  	if input == nil {
  3988  		input = &DisassociateElasticIpInput{}
  3989  	}
  3990  
  3991  	output = &DisassociateElasticIpOutput{}
  3992  	req = c.newRequest(op, input, output)
  3993  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3994  	return
  3995  }
  3996  
  3997  // DisassociateElasticIp API operation for AWS OpsWorks.
  3998  //
  3999  // Disassociates an Elastic IP address from its instance. The address remains
  4000  // registered with the stack. For more information, see Resource Management
  4001  // (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  4002  //
  4003  // Required Permissions: To use this action, an IAM user must have a Manage
  4004  // permissions level for the stack, or an attached policy that explicitly grants
  4005  // permissions. For more information on user permissions, see Managing User
  4006  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4007  //
  4008  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4009  // with awserr.Error's Code and Message methods to get detailed information about
  4010  // the error.
  4011  //
  4012  // See the AWS API reference guide for AWS OpsWorks's
  4013  // API operation DisassociateElasticIp for usage and error information.
  4014  //
  4015  // Returned Error Types:
  4016  //   * ValidationException
  4017  //   Indicates that a request was not valid.
  4018  //
  4019  //   * ResourceNotFoundException
  4020  //   Indicates that a resource was not found.
  4021  //
  4022  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DisassociateElasticIp
  4023  func (c *OpsWorks) DisassociateElasticIp(input *DisassociateElasticIpInput) (*DisassociateElasticIpOutput, error) {
  4024  	req, out := c.DisassociateElasticIpRequest(input)
  4025  	return out, req.Send()
  4026  }
  4027  
  4028  // DisassociateElasticIpWithContext is the same as DisassociateElasticIp with the addition of
  4029  // the ability to pass a context and additional request options.
  4030  //
  4031  // See DisassociateElasticIp for details on how to use this API operation.
  4032  //
  4033  // The context must be non-nil and will be used for request cancellation. If
  4034  // the context is nil a panic will occur. In the future the SDK may create
  4035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4036  // for more information on using Contexts.
  4037  func (c *OpsWorks) DisassociateElasticIpWithContext(ctx aws.Context, input *DisassociateElasticIpInput, opts ...request.Option) (*DisassociateElasticIpOutput, error) {
  4038  	req, out := c.DisassociateElasticIpRequest(input)
  4039  	req.SetContext(ctx)
  4040  	req.ApplyOptions(opts...)
  4041  	return out, req.Send()
  4042  }
  4043  
  4044  const opGetHostnameSuggestion = "GetHostnameSuggestion"
  4045  
  4046  // GetHostnameSuggestionRequest generates a "aws/request.Request" representing the
  4047  // client's request for the GetHostnameSuggestion operation. The "output" return
  4048  // value will be populated with the request's response once the request completes
  4049  // successfully.
  4050  //
  4051  // Use "Send" method on the returned Request to send the API call to the service.
  4052  // the "output" return value is not valid until after Send returns without error.
  4053  //
  4054  // See GetHostnameSuggestion for more information on using the GetHostnameSuggestion
  4055  // API call, and error handling.
  4056  //
  4057  // This method is useful when you want to inject custom logic or configuration
  4058  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4059  //
  4060  //
  4061  //    // Example sending a request using the GetHostnameSuggestionRequest method.
  4062  //    req, resp := client.GetHostnameSuggestionRequest(params)
  4063  //
  4064  //    err := req.Send()
  4065  //    if err == nil { // resp is now filled
  4066  //        fmt.Println(resp)
  4067  //    }
  4068  //
  4069  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GetHostnameSuggestion
  4070  func (c *OpsWorks) GetHostnameSuggestionRequest(input *GetHostnameSuggestionInput) (req *request.Request, output *GetHostnameSuggestionOutput) {
  4071  	op := &request.Operation{
  4072  		Name:       opGetHostnameSuggestion,
  4073  		HTTPMethod: "POST",
  4074  		HTTPPath:   "/",
  4075  	}
  4076  
  4077  	if input == nil {
  4078  		input = &GetHostnameSuggestionInput{}
  4079  	}
  4080  
  4081  	output = &GetHostnameSuggestionOutput{}
  4082  	req = c.newRequest(op, input, output)
  4083  	return
  4084  }
  4085  
  4086  // GetHostnameSuggestion API operation for AWS OpsWorks.
  4087  //
  4088  // Gets a generated host name for the specified layer, based on the current
  4089  // host name theme.
  4090  //
  4091  // Required Permissions: To use this action, an IAM user must have a Manage
  4092  // permissions level for the stack, or an attached policy that explicitly grants
  4093  // permissions. For more information on user permissions, see Managing User
  4094  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4095  //
  4096  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4097  // with awserr.Error's Code and Message methods to get detailed information about
  4098  // the error.
  4099  //
  4100  // See the AWS API reference guide for AWS OpsWorks's
  4101  // API operation GetHostnameSuggestion for usage and error information.
  4102  //
  4103  // Returned Error Types:
  4104  //   * ValidationException
  4105  //   Indicates that a request was not valid.
  4106  //
  4107  //   * ResourceNotFoundException
  4108  //   Indicates that a resource was not found.
  4109  //
  4110  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GetHostnameSuggestion
  4111  func (c *OpsWorks) GetHostnameSuggestion(input *GetHostnameSuggestionInput) (*GetHostnameSuggestionOutput, error) {
  4112  	req, out := c.GetHostnameSuggestionRequest(input)
  4113  	return out, req.Send()
  4114  }
  4115  
  4116  // GetHostnameSuggestionWithContext is the same as GetHostnameSuggestion with the addition of
  4117  // the ability to pass a context and additional request options.
  4118  //
  4119  // See GetHostnameSuggestion for details on how to use this API operation.
  4120  //
  4121  // The context must be non-nil and will be used for request cancellation. If
  4122  // the context is nil a panic will occur. In the future the SDK may create
  4123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4124  // for more information on using Contexts.
  4125  func (c *OpsWorks) GetHostnameSuggestionWithContext(ctx aws.Context, input *GetHostnameSuggestionInput, opts ...request.Option) (*GetHostnameSuggestionOutput, error) {
  4126  	req, out := c.GetHostnameSuggestionRequest(input)
  4127  	req.SetContext(ctx)
  4128  	req.ApplyOptions(opts...)
  4129  	return out, req.Send()
  4130  }
  4131  
  4132  const opGrantAccess = "GrantAccess"
  4133  
  4134  // GrantAccessRequest generates a "aws/request.Request" representing the
  4135  // client's request for the GrantAccess operation. The "output" return
  4136  // value will be populated with the request's response once the request completes
  4137  // successfully.
  4138  //
  4139  // Use "Send" method on the returned Request to send the API call to the service.
  4140  // the "output" return value is not valid until after Send returns without error.
  4141  //
  4142  // See GrantAccess for more information on using the GrantAccess
  4143  // API call, and error handling.
  4144  //
  4145  // This method is useful when you want to inject custom logic or configuration
  4146  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4147  //
  4148  //
  4149  //    // Example sending a request using the GrantAccessRequest method.
  4150  //    req, resp := client.GrantAccessRequest(params)
  4151  //
  4152  //    err := req.Send()
  4153  //    if err == nil { // resp is now filled
  4154  //        fmt.Println(resp)
  4155  //    }
  4156  //
  4157  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GrantAccess
  4158  func (c *OpsWorks) GrantAccessRequest(input *GrantAccessInput) (req *request.Request, output *GrantAccessOutput) {
  4159  	op := &request.Operation{
  4160  		Name:       opGrantAccess,
  4161  		HTTPMethod: "POST",
  4162  		HTTPPath:   "/",
  4163  	}
  4164  
  4165  	if input == nil {
  4166  		input = &GrantAccessInput{}
  4167  	}
  4168  
  4169  	output = &GrantAccessOutput{}
  4170  	req = c.newRequest(op, input, output)
  4171  	return
  4172  }
  4173  
  4174  // GrantAccess API operation for AWS OpsWorks.
  4175  //
  4176  //
  4177  // This action can be used only with Windows stacks.
  4178  //
  4179  // Grants RDP access to a Windows instance for a specified time period.
  4180  //
  4181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4182  // with awserr.Error's Code and Message methods to get detailed information about
  4183  // the error.
  4184  //
  4185  // See the AWS API reference guide for AWS OpsWorks's
  4186  // API operation GrantAccess for usage and error information.
  4187  //
  4188  // Returned Error Types:
  4189  //   * ValidationException
  4190  //   Indicates that a request was not valid.
  4191  //
  4192  //   * ResourceNotFoundException
  4193  //   Indicates that a resource was not found.
  4194  //
  4195  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GrantAccess
  4196  func (c *OpsWorks) GrantAccess(input *GrantAccessInput) (*GrantAccessOutput, error) {
  4197  	req, out := c.GrantAccessRequest(input)
  4198  	return out, req.Send()
  4199  }
  4200  
  4201  // GrantAccessWithContext is the same as GrantAccess with the addition of
  4202  // the ability to pass a context and additional request options.
  4203  //
  4204  // See GrantAccess for details on how to use this API operation.
  4205  //
  4206  // The context must be non-nil and will be used for request cancellation. If
  4207  // the context is nil a panic will occur. In the future the SDK may create
  4208  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4209  // for more information on using Contexts.
  4210  func (c *OpsWorks) GrantAccessWithContext(ctx aws.Context, input *GrantAccessInput, opts ...request.Option) (*GrantAccessOutput, error) {
  4211  	req, out := c.GrantAccessRequest(input)
  4212  	req.SetContext(ctx)
  4213  	req.ApplyOptions(opts...)
  4214  	return out, req.Send()
  4215  }
  4216  
  4217  const opListTags = "ListTags"
  4218  
  4219  // ListTagsRequest generates a "aws/request.Request" representing the
  4220  // client's request for the ListTags operation. The "output" return
  4221  // value will be populated with the request's response once the request completes
  4222  // successfully.
  4223  //
  4224  // Use "Send" method on the returned Request to send the API call to the service.
  4225  // the "output" return value is not valid until after Send returns without error.
  4226  //
  4227  // See ListTags for more information on using the ListTags
  4228  // API call, and error handling.
  4229  //
  4230  // This method is useful when you want to inject custom logic or configuration
  4231  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4232  //
  4233  //
  4234  //    // Example sending a request using the ListTagsRequest method.
  4235  //    req, resp := client.ListTagsRequest(params)
  4236  //
  4237  //    err := req.Send()
  4238  //    if err == nil { // resp is now filled
  4239  //        fmt.Println(resp)
  4240  //    }
  4241  //
  4242  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/ListTags
  4243  func (c *OpsWorks) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
  4244  	op := &request.Operation{
  4245  		Name:       opListTags,
  4246  		HTTPMethod: "POST",
  4247  		HTTPPath:   "/",
  4248  	}
  4249  
  4250  	if input == nil {
  4251  		input = &ListTagsInput{}
  4252  	}
  4253  
  4254  	output = &ListTagsOutput{}
  4255  	req = c.newRequest(op, input, output)
  4256  	return
  4257  }
  4258  
  4259  // ListTags API operation for AWS OpsWorks.
  4260  //
  4261  // Returns a list of tags that are applied to the specified stack or layer.
  4262  //
  4263  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4264  // with awserr.Error's Code and Message methods to get detailed information about
  4265  // the error.
  4266  //
  4267  // See the AWS API reference guide for AWS OpsWorks's
  4268  // API operation ListTags for usage and error information.
  4269  //
  4270  // Returned Error Types:
  4271  //   * ValidationException
  4272  //   Indicates that a request was not valid.
  4273  //
  4274  //   * ResourceNotFoundException
  4275  //   Indicates that a resource was not found.
  4276  //
  4277  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/ListTags
  4278  func (c *OpsWorks) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
  4279  	req, out := c.ListTagsRequest(input)
  4280  	return out, req.Send()
  4281  }
  4282  
  4283  // ListTagsWithContext is the same as ListTags with the addition of
  4284  // the ability to pass a context and additional request options.
  4285  //
  4286  // See ListTags for details on how to use this API operation.
  4287  //
  4288  // The context must be non-nil and will be used for request cancellation. If
  4289  // the context is nil a panic will occur. In the future the SDK may create
  4290  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4291  // for more information on using Contexts.
  4292  func (c *OpsWorks) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
  4293  	req, out := c.ListTagsRequest(input)
  4294  	req.SetContext(ctx)
  4295  	req.ApplyOptions(opts...)
  4296  	return out, req.Send()
  4297  }
  4298  
  4299  const opRebootInstance = "RebootInstance"
  4300  
  4301  // RebootInstanceRequest generates a "aws/request.Request" representing the
  4302  // client's request for the RebootInstance operation. The "output" return
  4303  // value will be populated with the request's response once the request completes
  4304  // successfully.
  4305  //
  4306  // Use "Send" method on the returned Request to send the API call to the service.
  4307  // the "output" return value is not valid until after Send returns without error.
  4308  //
  4309  // See RebootInstance for more information on using the RebootInstance
  4310  // API call, and error handling.
  4311  //
  4312  // This method is useful when you want to inject custom logic or configuration
  4313  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4314  //
  4315  //
  4316  //    // Example sending a request using the RebootInstanceRequest method.
  4317  //    req, resp := client.RebootInstanceRequest(params)
  4318  //
  4319  //    err := req.Send()
  4320  //    if err == nil { // resp is now filled
  4321  //        fmt.Println(resp)
  4322  //    }
  4323  //
  4324  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RebootInstance
  4325  func (c *OpsWorks) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
  4326  	op := &request.Operation{
  4327  		Name:       opRebootInstance,
  4328  		HTTPMethod: "POST",
  4329  		HTTPPath:   "/",
  4330  	}
  4331  
  4332  	if input == nil {
  4333  		input = &RebootInstanceInput{}
  4334  	}
  4335  
  4336  	output = &RebootInstanceOutput{}
  4337  	req = c.newRequest(op, input, output)
  4338  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4339  	return
  4340  }
  4341  
  4342  // RebootInstance API operation for AWS OpsWorks.
  4343  //
  4344  // Reboots a specified instance. For more information, see Starting, Stopping,
  4345  // and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
  4346  //
  4347  // Required Permissions: To use this action, an IAM user must have a Manage
  4348  // permissions level for the stack, or an attached policy that explicitly grants
  4349  // permissions. For more information on user permissions, see Managing User
  4350  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4351  //
  4352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4353  // with awserr.Error's Code and Message methods to get detailed information about
  4354  // the error.
  4355  //
  4356  // See the AWS API reference guide for AWS OpsWorks's
  4357  // API operation RebootInstance for usage and error information.
  4358  //
  4359  // Returned Error Types:
  4360  //   * ValidationException
  4361  //   Indicates that a request was not valid.
  4362  //
  4363  //   * ResourceNotFoundException
  4364  //   Indicates that a resource was not found.
  4365  //
  4366  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RebootInstance
  4367  func (c *OpsWorks) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
  4368  	req, out := c.RebootInstanceRequest(input)
  4369  	return out, req.Send()
  4370  }
  4371  
  4372  // RebootInstanceWithContext is the same as RebootInstance with the addition of
  4373  // the ability to pass a context and additional request options.
  4374  //
  4375  // See RebootInstance for details on how to use this API operation.
  4376  //
  4377  // The context must be non-nil and will be used for request cancellation. If
  4378  // the context is nil a panic will occur. In the future the SDK may create
  4379  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4380  // for more information on using Contexts.
  4381  func (c *OpsWorks) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
  4382  	req, out := c.RebootInstanceRequest(input)
  4383  	req.SetContext(ctx)
  4384  	req.ApplyOptions(opts...)
  4385  	return out, req.Send()
  4386  }
  4387  
  4388  const opRegisterEcsCluster = "RegisterEcsCluster"
  4389  
  4390  // RegisterEcsClusterRequest generates a "aws/request.Request" representing the
  4391  // client's request for the RegisterEcsCluster operation. The "output" return
  4392  // value will be populated with the request's response once the request completes
  4393  // successfully.
  4394  //
  4395  // Use "Send" method on the returned Request to send the API call to the service.
  4396  // the "output" return value is not valid until after Send returns without error.
  4397  //
  4398  // See RegisterEcsCluster for more information on using the RegisterEcsCluster
  4399  // API call, and error handling.
  4400  //
  4401  // This method is useful when you want to inject custom logic or configuration
  4402  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4403  //
  4404  //
  4405  //    // Example sending a request using the RegisterEcsClusterRequest method.
  4406  //    req, resp := client.RegisterEcsClusterRequest(params)
  4407  //
  4408  //    err := req.Send()
  4409  //    if err == nil { // resp is now filled
  4410  //        fmt.Println(resp)
  4411  //    }
  4412  //
  4413  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterEcsCluster
  4414  func (c *OpsWorks) RegisterEcsClusterRequest(input *RegisterEcsClusterInput) (req *request.Request, output *RegisterEcsClusterOutput) {
  4415  	op := &request.Operation{
  4416  		Name:       opRegisterEcsCluster,
  4417  		HTTPMethod: "POST",
  4418  		HTTPPath:   "/",
  4419  	}
  4420  
  4421  	if input == nil {
  4422  		input = &RegisterEcsClusterInput{}
  4423  	}
  4424  
  4425  	output = &RegisterEcsClusterOutput{}
  4426  	req = c.newRequest(op, input, output)
  4427  	return
  4428  }
  4429  
  4430  // RegisterEcsCluster API operation for AWS OpsWorks.
  4431  //
  4432  // Registers a specified Amazon ECS cluster with a stack. You can register only
  4433  // one cluster with a stack. A cluster can be registered with only one stack.
  4434  // For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html).
  4435  //
  4436  // Required Permissions: To use this action, an IAM user must have a Manage
  4437  // permissions level for the stack or an attached policy that explicitly grants
  4438  // permissions. For more information on user permissions, see Managing User
  4439  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4440  //
  4441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4442  // with awserr.Error's Code and Message methods to get detailed information about
  4443  // the error.
  4444  //
  4445  // See the AWS API reference guide for AWS OpsWorks's
  4446  // API operation RegisterEcsCluster for usage and error information.
  4447  //
  4448  // Returned Error Types:
  4449  //   * ValidationException
  4450  //   Indicates that a request was not valid.
  4451  //
  4452  //   * ResourceNotFoundException
  4453  //   Indicates that a resource was not found.
  4454  //
  4455  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterEcsCluster
  4456  func (c *OpsWorks) RegisterEcsCluster(input *RegisterEcsClusterInput) (*RegisterEcsClusterOutput, error) {
  4457  	req, out := c.RegisterEcsClusterRequest(input)
  4458  	return out, req.Send()
  4459  }
  4460  
  4461  // RegisterEcsClusterWithContext is the same as RegisterEcsCluster with the addition of
  4462  // the ability to pass a context and additional request options.
  4463  //
  4464  // See RegisterEcsCluster for details on how to use this API operation.
  4465  //
  4466  // The context must be non-nil and will be used for request cancellation. If
  4467  // the context is nil a panic will occur. In the future the SDK may create
  4468  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4469  // for more information on using Contexts.
  4470  func (c *OpsWorks) RegisterEcsClusterWithContext(ctx aws.Context, input *RegisterEcsClusterInput, opts ...request.Option) (*RegisterEcsClusterOutput, error) {
  4471  	req, out := c.RegisterEcsClusterRequest(input)
  4472  	req.SetContext(ctx)
  4473  	req.ApplyOptions(opts...)
  4474  	return out, req.Send()
  4475  }
  4476  
  4477  const opRegisterElasticIp = "RegisterElasticIp"
  4478  
  4479  // RegisterElasticIpRequest generates a "aws/request.Request" representing the
  4480  // client's request for the RegisterElasticIp operation. The "output" return
  4481  // value will be populated with the request's response once the request completes
  4482  // successfully.
  4483  //
  4484  // Use "Send" method on the returned Request to send the API call to the service.
  4485  // the "output" return value is not valid until after Send returns without error.
  4486  //
  4487  // See RegisterElasticIp for more information on using the RegisterElasticIp
  4488  // API call, and error handling.
  4489  //
  4490  // This method is useful when you want to inject custom logic or configuration
  4491  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4492  //
  4493  //
  4494  //    // Example sending a request using the RegisterElasticIpRequest method.
  4495  //    req, resp := client.RegisterElasticIpRequest(params)
  4496  //
  4497  //    err := req.Send()
  4498  //    if err == nil { // resp is now filled
  4499  //        fmt.Println(resp)
  4500  //    }
  4501  //
  4502  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterElasticIp
  4503  func (c *OpsWorks) RegisterElasticIpRequest(input *RegisterElasticIpInput) (req *request.Request, output *RegisterElasticIpOutput) {
  4504  	op := &request.Operation{
  4505  		Name:       opRegisterElasticIp,
  4506  		HTTPMethod: "POST",
  4507  		HTTPPath:   "/",
  4508  	}
  4509  
  4510  	if input == nil {
  4511  		input = &RegisterElasticIpInput{}
  4512  	}
  4513  
  4514  	output = &RegisterElasticIpOutput{}
  4515  	req = c.newRequest(op, input, output)
  4516  	return
  4517  }
  4518  
  4519  // RegisterElasticIp API operation for AWS OpsWorks.
  4520  //
  4521  // Registers an Elastic IP address with a specified stack. An address can be
  4522  // registered with only one stack at a time. If the address is already registered,
  4523  // you must first deregister it by calling DeregisterElasticIp. For more information,
  4524  // see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  4525  //
  4526  // Required Permissions: To use this action, an IAM user must have a Manage
  4527  // permissions level for the stack, or an attached policy that explicitly grants
  4528  // permissions. For more information on user permissions, see Managing User
  4529  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4530  //
  4531  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4532  // with awserr.Error's Code and Message methods to get detailed information about
  4533  // the error.
  4534  //
  4535  // See the AWS API reference guide for AWS OpsWorks's
  4536  // API operation RegisterElasticIp for usage and error information.
  4537  //
  4538  // Returned Error Types:
  4539  //   * ValidationException
  4540  //   Indicates that a request was not valid.
  4541  //
  4542  //   * ResourceNotFoundException
  4543  //   Indicates that a resource was not found.
  4544  //
  4545  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterElasticIp
  4546  func (c *OpsWorks) RegisterElasticIp(input *RegisterElasticIpInput) (*RegisterElasticIpOutput, error) {
  4547  	req, out := c.RegisterElasticIpRequest(input)
  4548  	return out, req.Send()
  4549  }
  4550  
  4551  // RegisterElasticIpWithContext is the same as RegisterElasticIp with the addition of
  4552  // the ability to pass a context and additional request options.
  4553  //
  4554  // See RegisterElasticIp for details on how to use this API operation.
  4555  //
  4556  // The context must be non-nil and will be used for request cancellation. If
  4557  // the context is nil a panic will occur. In the future the SDK may create
  4558  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4559  // for more information on using Contexts.
  4560  func (c *OpsWorks) RegisterElasticIpWithContext(ctx aws.Context, input *RegisterElasticIpInput, opts ...request.Option) (*RegisterElasticIpOutput, error) {
  4561  	req, out := c.RegisterElasticIpRequest(input)
  4562  	req.SetContext(ctx)
  4563  	req.ApplyOptions(opts...)
  4564  	return out, req.Send()
  4565  }
  4566  
  4567  const opRegisterInstance = "RegisterInstance"
  4568  
  4569  // RegisterInstanceRequest generates a "aws/request.Request" representing the
  4570  // client's request for the RegisterInstance operation. The "output" return
  4571  // value will be populated with the request's response once the request completes
  4572  // successfully.
  4573  //
  4574  // Use "Send" method on the returned Request to send the API call to the service.
  4575  // the "output" return value is not valid until after Send returns without error.
  4576  //
  4577  // See RegisterInstance for more information on using the RegisterInstance
  4578  // API call, and error handling.
  4579  //
  4580  // This method is useful when you want to inject custom logic or configuration
  4581  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4582  //
  4583  //
  4584  //    // Example sending a request using the RegisterInstanceRequest method.
  4585  //    req, resp := client.RegisterInstanceRequest(params)
  4586  //
  4587  //    err := req.Send()
  4588  //    if err == nil { // resp is now filled
  4589  //        fmt.Println(resp)
  4590  //    }
  4591  //
  4592  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterInstance
  4593  func (c *OpsWorks) RegisterInstanceRequest(input *RegisterInstanceInput) (req *request.Request, output *RegisterInstanceOutput) {
  4594  	op := &request.Operation{
  4595  		Name:       opRegisterInstance,
  4596  		HTTPMethod: "POST",
  4597  		HTTPPath:   "/",
  4598  	}
  4599  
  4600  	if input == nil {
  4601  		input = &RegisterInstanceInput{}
  4602  	}
  4603  
  4604  	output = &RegisterInstanceOutput{}
  4605  	req = c.newRequest(op, input, output)
  4606  	return
  4607  }
  4608  
  4609  // RegisterInstance API operation for AWS OpsWorks.
  4610  //
  4611  // Registers instances that were created outside of AWS OpsWorks Stacks with
  4612  // a specified stack.
  4613  //
  4614  // We do not recommend using this action to register instances. The complete
  4615  // registration operation includes two tasks: installing the AWS OpsWorks Stacks
  4616  // agent on the instance, and registering the instance with the stack. RegisterInstance
  4617  // handles only the second step. You should instead use the AWS CLI register
  4618  // command, which performs the entire registration operation. For more information,
  4619  // see Registering an Instance with an AWS OpsWorks Stacks Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register.html).
  4620  //
  4621  // Registered instances have the same requirements as instances that are created
  4622  // by using the CreateInstance API. For example, registered instances must be
  4623  // running a supported Linux-based operating system, and they must have a supported
  4624  // instance type. For more information about requirements for instances that
  4625  // you want to register, see Preparing the Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register-registering-preparer.html).
  4626  //
  4627  // Required Permissions: To use this action, an IAM user must have a Manage
  4628  // permissions level for the stack or an attached policy that explicitly grants
  4629  // permissions. For more information on user permissions, see Managing User
  4630  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4631  //
  4632  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4633  // with awserr.Error's Code and Message methods to get detailed information about
  4634  // the error.
  4635  //
  4636  // See the AWS API reference guide for AWS OpsWorks's
  4637  // API operation RegisterInstance for usage and error information.
  4638  //
  4639  // Returned Error Types:
  4640  //   * ValidationException
  4641  //   Indicates that a request was not valid.
  4642  //
  4643  //   * ResourceNotFoundException
  4644  //   Indicates that a resource was not found.
  4645  //
  4646  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterInstance
  4647  func (c *OpsWorks) RegisterInstance(input *RegisterInstanceInput) (*RegisterInstanceOutput, error) {
  4648  	req, out := c.RegisterInstanceRequest(input)
  4649  	return out, req.Send()
  4650  }
  4651  
  4652  // RegisterInstanceWithContext is the same as RegisterInstance with the addition of
  4653  // the ability to pass a context and additional request options.
  4654  //
  4655  // See RegisterInstance for details on how to use this API operation.
  4656  //
  4657  // The context must be non-nil and will be used for request cancellation. If
  4658  // the context is nil a panic will occur. In the future the SDK may create
  4659  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4660  // for more information on using Contexts.
  4661  func (c *OpsWorks) RegisterInstanceWithContext(ctx aws.Context, input *RegisterInstanceInput, opts ...request.Option) (*RegisterInstanceOutput, error) {
  4662  	req, out := c.RegisterInstanceRequest(input)
  4663  	req.SetContext(ctx)
  4664  	req.ApplyOptions(opts...)
  4665  	return out, req.Send()
  4666  }
  4667  
  4668  const opRegisterRdsDbInstance = "RegisterRdsDbInstance"
  4669  
  4670  // RegisterRdsDbInstanceRequest generates a "aws/request.Request" representing the
  4671  // client's request for the RegisterRdsDbInstance operation. The "output" return
  4672  // value will be populated with the request's response once the request completes
  4673  // successfully.
  4674  //
  4675  // Use "Send" method on the returned Request to send the API call to the service.
  4676  // the "output" return value is not valid until after Send returns without error.
  4677  //
  4678  // See RegisterRdsDbInstance for more information on using the RegisterRdsDbInstance
  4679  // API call, and error handling.
  4680  //
  4681  // This method is useful when you want to inject custom logic or configuration
  4682  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4683  //
  4684  //
  4685  //    // Example sending a request using the RegisterRdsDbInstanceRequest method.
  4686  //    req, resp := client.RegisterRdsDbInstanceRequest(params)
  4687  //
  4688  //    err := req.Send()
  4689  //    if err == nil { // resp is now filled
  4690  //        fmt.Println(resp)
  4691  //    }
  4692  //
  4693  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterRdsDbInstance
  4694  func (c *OpsWorks) RegisterRdsDbInstanceRequest(input *RegisterRdsDbInstanceInput) (req *request.Request, output *RegisterRdsDbInstanceOutput) {
  4695  	op := &request.Operation{
  4696  		Name:       opRegisterRdsDbInstance,
  4697  		HTTPMethod: "POST",
  4698  		HTTPPath:   "/",
  4699  	}
  4700  
  4701  	if input == nil {
  4702  		input = &RegisterRdsDbInstanceInput{}
  4703  	}
  4704  
  4705  	output = &RegisterRdsDbInstanceOutput{}
  4706  	req = c.newRequest(op, input, output)
  4707  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4708  	return
  4709  }
  4710  
  4711  // RegisterRdsDbInstance API operation for AWS OpsWorks.
  4712  //
  4713  // Registers an Amazon RDS instance with a stack.
  4714  //
  4715  // Required Permissions: To use this action, an IAM user must have a Manage
  4716  // permissions level for the stack, or an attached policy that explicitly grants
  4717  // permissions. For more information on user permissions, see Managing User
  4718  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4719  //
  4720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4721  // with awserr.Error's Code and Message methods to get detailed information about
  4722  // the error.
  4723  //
  4724  // See the AWS API reference guide for AWS OpsWorks's
  4725  // API operation RegisterRdsDbInstance for usage and error information.
  4726  //
  4727  // Returned Error Types:
  4728  //   * ValidationException
  4729  //   Indicates that a request was not valid.
  4730  //
  4731  //   * ResourceNotFoundException
  4732  //   Indicates that a resource was not found.
  4733  //
  4734  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterRdsDbInstance
  4735  func (c *OpsWorks) RegisterRdsDbInstance(input *RegisterRdsDbInstanceInput) (*RegisterRdsDbInstanceOutput, error) {
  4736  	req, out := c.RegisterRdsDbInstanceRequest(input)
  4737  	return out, req.Send()
  4738  }
  4739  
  4740  // RegisterRdsDbInstanceWithContext is the same as RegisterRdsDbInstance with the addition of
  4741  // the ability to pass a context and additional request options.
  4742  //
  4743  // See RegisterRdsDbInstance for details on how to use this API operation.
  4744  //
  4745  // The context must be non-nil and will be used for request cancellation. If
  4746  // the context is nil a panic will occur. In the future the SDK may create
  4747  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4748  // for more information on using Contexts.
  4749  func (c *OpsWorks) RegisterRdsDbInstanceWithContext(ctx aws.Context, input *RegisterRdsDbInstanceInput, opts ...request.Option) (*RegisterRdsDbInstanceOutput, error) {
  4750  	req, out := c.RegisterRdsDbInstanceRequest(input)
  4751  	req.SetContext(ctx)
  4752  	req.ApplyOptions(opts...)
  4753  	return out, req.Send()
  4754  }
  4755  
  4756  const opRegisterVolume = "RegisterVolume"
  4757  
  4758  // RegisterVolumeRequest generates a "aws/request.Request" representing the
  4759  // client's request for the RegisterVolume operation. The "output" return
  4760  // value will be populated with the request's response once the request completes
  4761  // successfully.
  4762  //
  4763  // Use "Send" method on the returned Request to send the API call to the service.
  4764  // the "output" return value is not valid until after Send returns without error.
  4765  //
  4766  // See RegisterVolume for more information on using the RegisterVolume
  4767  // API call, and error handling.
  4768  //
  4769  // This method is useful when you want to inject custom logic or configuration
  4770  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4771  //
  4772  //
  4773  //    // Example sending a request using the RegisterVolumeRequest method.
  4774  //    req, resp := client.RegisterVolumeRequest(params)
  4775  //
  4776  //    err := req.Send()
  4777  //    if err == nil { // resp is now filled
  4778  //        fmt.Println(resp)
  4779  //    }
  4780  //
  4781  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterVolume
  4782  func (c *OpsWorks) RegisterVolumeRequest(input *RegisterVolumeInput) (req *request.Request, output *RegisterVolumeOutput) {
  4783  	op := &request.Operation{
  4784  		Name:       opRegisterVolume,
  4785  		HTTPMethod: "POST",
  4786  		HTTPPath:   "/",
  4787  	}
  4788  
  4789  	if input == nil {
  4790  		input = &RegisterVolumeInput{}
  4791  	}
  4792  
  4793  	output = &RegisterVolumeOutput{}
  4794  	req = c.newRequest(op, input, output)
  4795  	return
  4796  }
  4797  
  4798  // RegisterVolume API operation for AWS OpsWorks.
  4799  //
  4800  // Registers an Amazon EBS volume with a specified stack. A volume can be registered
  4801  // with only one stack at a time. If the volume is already registered, you must
  4802  // first deregister it by calling DeregisterVolume. For more information, see
  4803  // Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  4804  //
  4805  // Required Permissions: To use this action, an IAM user must have a Manage
  4806  // permissions level for the stack, or an attached policy that explicitly grants
  4807  // permissions. For more information on user permissions, see Managing User
  4808  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4809  //
  4810  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4811  // with awserr.Error's Code and Message methods to get detailed information about
  4812  // the error.
  4813  //
  4814  // See the AWS API reference guide for AWS OpsWorks's
  4815  // API operation RegisterVolume for usage and error information.
  4816  //
  4817  // Returned Error Types:
  4818  //   * ValidationException
  4819  //   Indicates that a request was not valid.
  4820  //
  4821  //   * ResourceNotFoundException
  4822  //   Indicates that a resource was not found.
  4823  //
  4824  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterVolume
  4825  func (c *OpsWorks) RegisterVolume(input *RegisterVolumeInput) (*RegisterVolumeOutput, error) {
  4826  	req, out := c.RegisterVolumeRequest(input)
  4827  	return out, req.Send()
  4828  }
  4829  
  4830  // RegisterVolumeWithContext is the same as RegisterVolume with the addition of
  4831  // the ability to pass a context and additional request options.
  4832  //
  4833  // See RegisterVolume for details on how to use this API operation.
  4834  //
  4835  // The context must be non-nil and will be used for request cancellation. If
  4836  // the context is nil a panic will occur. In the future the SDK may create
  4837  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4838  // for more information on using Contexts.
  4839  func (c *OpsWorks) RegisterVolumeWithContext(ctx aws.Context, input *RegisterVolumeInput, opts ...request.Option) (*RegisterVolumeOutput, error) {
  4840  	req, out := c.RegisterVolumeRequest(input)
  4841  	req.SetContext(ctx)
  4842  	req.ApplyOptions(opts...)
  4843  	return out, req.Send()
  4844  }
  4845  
  4846  const opSetLoadBasedAutoScaling = "SetLoadBasedAutoScaling"
  4847  
  4848  // SetLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the
  4849  // client's request for the SetLoadBasedAutoScaling operation. The "output" return
  4850  // value will be populated with the request's response once the request completes
  4851  // successfully.
  4852  //
  4853  // Use "Send" method on the returned Request to send the API call to the service.
  4854  // the "output" return value is not valid until after Send returns without error.
  4855  //
  4856  // See SetLoadBasedAutoScaling for more information on using the SetLoadBasedAutoScaling
  4857  // API call, and error handling.
  4858  //
  4859  // This method is useful when you want to inject custom logic or configuration
  4860  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4861  //
  4862  //
  4863  //    // Example sending a request using the SetLoadBasedAutoScalingRequest method.
  4864  //    req, resp := client.SetLoadBasedAutoScalingRequest(params)
  4865  //
  4866  //    err := req.Send()
  4867  //    if err == nil { // resp is now filled
  4868  //        fmt.Println(resp)
  4869  //    }
  4870  //
  4871  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetLoadBasedAutoScaling
  4872  func (c *OpsWorks) SetLoadBasedAutoScalingRequest(input *SetLoadBasedAutoScalingInput) (req *request.Request, output *SetLoadBasedAutoScalingOutput) {
  4873  	op := &request.Operation{
  4874  		Name:       opSetLoadBasedAutoScaling,
  4875  		HTTPMethod: "POST",
  4876  		HTTPPath:   "/",
  4877  	}
  4878  
  4879  	if input == nil {
  4880  		input = &SetLoadBasedAutoScalingInput{}
  4881  	}
  4882  
  4883  	output = &SetLoadBasedAutoScalingOutput{}
  4884  	req = c.newRequest(op, input, output)
  4885  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4886  	return
  4887  }
  4888  
  4889  // SetLoadBasedAutoScaling API operation for AWS OpsWorks.
  4890  //
  4891  // Specify the load-based auto scaling configuration for a specified layer.
  4892  // For more information, see Managing Load with Time-based and Load-based Instances
  4893  // (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html).
  4894  //
  4895  // To use load-based auto scaling, you must create a set of load-based auto
  4896  // scaling instances. Load-based auto scaling operates only on the instances
  4897  // from that set, so you must ensure that you have created enough instances
  4898  // to handle the maximum anticipated load.
  4899  //
  4900  // Required Permissions: To use this action, an IAM user must have a Manage
  4901  // permissions level for the stack, or an attached policy that explicitly grants
  4902  // permissions. For more information on user permissions, see Managing User
  4903  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4904  //
  4905  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4906  // with awserr.Error's Code and Message methods to get detailed information about
  4907  // the error.
  4908  //
  4909  // See the AWS API reference guide for AWS OpsWorks's
  4910  // API operation SetLoadBasedAutoScaling for usage and error information.
  4911  //
  4912  // Returned Error Types:
  4913  //   * ValidationException
  4914  //   Indicates that a request was not valid.
  4915  //
  4916  //   * ResourceNotFoundException
  4917  //   Indicates that a resource was not found.
  4918  //
  4919  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetLoadBasedAutoScaling
  4920  func (c *OpsWorks) SetLoadBasedAutoScaling(input *SetLoadBasedAutoScalingInput) (*SetLoadBasedAutoScalingOutput, error) {
  4921  	req, out := c.SetLoadBasedAutoScalingRequest(input)
  4922  	return out, req.Send()
  4923  }
  4924  
  4925  // SetLoadBasedAutoScalingWithContext is the same as SetLoadBasedAutoScaling with the addition of
  4926  // the ability to pass a context and additional request options.
  4927  //
  4928  // See SetLoadBasedAutoScaling for details on how to use this API operation.
  4929  //
  4930  // The context must be non-nil and will be used for request cancellation. If
  4931  // the context is nil a panic will occur. In the future the SDK may create
  4932  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4933  // for more information on using Contexts.
  4934  func (c *OpsWorks) SetLoadBasedAutoScalingWithContext(ctx aws.Context, input *SetLoadBasedAutoScalingInput, opts ...request.Option) (*SetLoadBasedAutoScalingOutput, error) {
  4935  	req, out := c.SetLoadBasedAutoScalingRequest(input)
  4936  	req.SetContext(ctx)
  4937  	req.ApplyOptions(opts...)
  4938  	return out, req.Send()
  4939  }
  4940  
  4941  const opSetPermission = "SetPermission"
  4942  
  4943  // SetPermissionRequest generates a "aws/request.Request" representing the
  4944  // client's request for the SetPermission operation. The "output" return
  4945  // value will be populated with the request's response once the request completes
  4946  // successfully.
  4947  //
  4948  // Use "Send" method on the returned Request to send the API call to the service.
  4949  // the "output" return value is not valid until after Send returns without error.
  4950  //
  4951  // See SetPermission for more information on using the SetPermission
  4952  // API call, and error handling.
  4953  //
  4954  // This method is useful when you want to inject custom logic or configuration
  4955  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4956  //
  4957  //
  4958  //    // Example sending a request using the SetPermissionRequest method.
  4959  //    req, resp := client.SetPermissionRequest(params)
  4960  //
  4961  //    err := req.Send()
  4962  //    if err == nil { // resp is now filled
  4963  //        fmt.Println(resp)
  4964  //    }
  4965  //
  4966  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetPermission
  4967  func (c *OpsWorks) SetPermissionRequest(input *SetPermissionInput) (req *request.Request, output *SetPermissionOutput) {
  4968  	op := &request.Operation{
  4969  		Name:       opSetPermission,
  4970  		HTTPMethod: "POST",
  4971  		HTTPPath:   "/",
  4972  	}
  4973  
  4974  	if input == nil {
  4975  		input = &SetPermissionInput{}
  4976  	}
  4977  
  4978  	output = &SetPermissionOutput{}
  4979  	req = c.newRequest(op, input, output)
  4980  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4981  	return
  4982  }
  4983  
  4984  // SetPermission API operation for AWS OpsWorks.
  4985  //
  4986  // Specifies a user's permissions. For more information, see Security and Permissions
  4987  // (https://docs.aws.amazon.com/opsworks/latest/userguide/workingsecurity.html).
  4988  //
  4989  // Required Permissions: To use this action, an IAM user must have a Manage
  4990  // permissions level for the stack, or an attached policy that explicitly grants
  4991  // permissions. For more information on user permissions, see Managing User
  4992  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  4993  //
  4994  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4995  // with awserr.Error's Code and Message methods to get detailed information about
  4996  // the error.
  4997  //
  4998  // See the AWS API reference guide for AWS OpsWorks's
  4999  // API operation SetPermission for usage and error information.
  5000  //
  5001  // Returned Error Types:
  5002  //   * ValidationException
  5003  //   Indicates that a request was not valid.
  5004  //
  5005  //   * ResourceNotFoundException
  5006  //   Indicates that a resource was not found.
  5007  //
  5008  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetPermission
  5009  func (c *OpsWorks) SetPermission(input *SetPermissionInput) (*SetPermissionOutput, error) {
  5010  	req, out := c.SetPermissionRequest(input)
  5011  	return out, req.Send()
  5012  }
  5013  
  5014  // SetPermissionWithContext is the same as SetPermission with the addition of
  5015  // the ability to pass a context and additional request options.
  5016  //
  5017  // See SetPermission for details on how to use this API operation.
  5018  //
  5019  // The context must be non-nil and will be used for request cancellation. If
  5020  // the context is nil a panic will occur. In the future the SDK may create
  5021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5022  // for more information on using Contexts.
  5023  func (c *OpsWorks) SetPermissionWithContext(ctx aws.Context, input *SetPermissionInput, opts ...request.Option) (*SetPermissionOutput, error) {
  5024  	req, out := c.SetPermissionRequest(input)
  5025  	req.SetContext(ctx)
  5026  	req.ApplyOptions(opts...)
  5027  	return out, req.Send()
  5028  }
  5029  
  5030  const opSetTimeBasedAutoScaling = "SetTimeBasedAutoScaling"
  5031  
  5032  // SetTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the
  5033  // client's request for the SetTimeBasedAutoScaling operation. The "output" return
  5034  // value will be populated with the request's response once the request completes
  5035  // successfully.
  5036  //
  5037  // Use "Send" method on the returned Request to send the API call to the service.
  5038  // the "output" return value is not valid until after Send returns without error.
  5039  //
  5040  // See SetTimeBasedAutoScaling for more information on using the SetTimeBasedAutoScaling
  5041  // API call, and error handling.
  5042  //
  5043  // This method is useful when you want to inject custom logic or configuration
  5044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5045  //
  5046  //
  5047  //    // Example sending a request using the SetTimeBasedAutoScalingRequest method.
  5048  //    req, resp := client.SetTimeBasedAutoScalingRequest(params)
  5049  //
  5050  //    err := req.Send()
  5051  //    if err == nil { // resp is now filled
  5052  //        fmt.Println(resp)
  5053  //    }
  5054  //
  5055  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetTimeBasedAutoScaling
  5056  func (c *OpsWorks) SetTimeBasedAutoScalingRequest(input *SetTimeBasedAutoScalingInput) (req *request.Request, output *SetTimeBasedAutoScalingOutput) {
  5057  	op := &request.Operation{
  5058  		Name:       opSetTimeBasedAutoScaling,
  5059  		HTTPMethod: "POST",
  5060  		HTTPPath:   "/",
  5061  	}
  5062  
  5063  	if input == nil {
  5064  		input = &SetTimeBasedAutoScalingInput{}
  5065  	}
  5066  
  5067  	output = &SetTimeBasedAutoScalingOutput{}
  5068  	req = c.newRequest(op, input, output)
  5069  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5070  	return
  5071  }
  5072  
  5073  // SetTimeBasedAutoScaling API operation for AWS OpsWorks.
  5074  //
  5075  // Specify the time-based auto scaling configuration for a specified instance.
  5076  // For more information, see Managing Load with Time-based and Load-based Instances
  5077  // (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html).
  5078  //
  5079  // Required Permissions: To use this action, an IAM user must have a Manage
  5080  // permissions level for the stack, or an attached policy that explicitly grants
  5081  // permissions. For more information on user permissions, see Managing User
  5082  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5083  //
  5084  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5085  // with awserr.Error's Code and Message methods to get detailed information about
  5086  // the error.
  5087  //
  5088  // See the AWS API reference guide for AWS OpsWorks's
  5089  // API operation SetTimeBasedAutoScaling for usage and error information.
  5090  //
  5091  // Returned Error Types:
  5092  //   * ValidationException
  5093  //   Indicates that a request was not valid.
  5094  //
  5095  //   * ResourceNotFoundException
  5096  //   Indicates that a resource was not found.
  5097  //
  5098  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetTimeBasedAutoScaling
  5099  func (c *OpsWorks) SetTimeBasedAutoScaling(input *SetTimeBasedAutoScalingInput) (*SetTimeBasedAutoScalingOutput, error) {
  5100  	req, out := c.SetTimeBasedAutoScalingRequest(input)
  5101  	return out, req.Send()
  5102  }
  5103  
  5104  // SetTimeBasedAutoScalingWithContext is the same as SetTimeBasedAutoScaling with the addition of
  5105  // the ability to pass a context and additional request options.
  5106  //
  5107  // See SetTimeBasedAutoScaling for details on how to use this API operation.
  5108  //
  5109  // The context must be non-nil and will be used for request cancellation. If
  5110  // the context is nil a panic will occur. In the future the SDK may create
  5111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5112  // for more information on using Contexts.
  5113  func (c *OpsWorks) SetTimeBasedAutoScalingWithContext(ctx aws.Context, input *SetTimeBasedAutoScalingInput, opts ...request.Option) (*SetTimeBasedAutoScalingOutput, error) {
  5114  	req, out := c.SetTimeBasedAutoScalingRequest(input)
  5115  	req.SetContext(ctx)
  5116  	req.ApplyOptions(opts...)
  5117  	return out, req.Send()
  5118  }
  5119  
  5120  const opStartInstance = "StartInstance"
  5121  
  5122  // StartInstanceRequest generates a "aws/request.Request" representing the
  5123  // client's request for the StartInstance operation. The "output" return
  5124  // value will be populated with the request's response once the request completes
  5125  // successfully.
  5126  //
  5127  // Use "Send" method on the returned Request to send the API call to the service.
  5128  // the "output" return value is not valid until after Send returns without error.
  5129  //
  5130  // See StartInstance for more information on using the StartInstance
  5131  // API call, and error handling.
  5132  //
  5133  // This method is useful when you want to inject custom logic or configuration
  5134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5135  //
  5136  //
  5137  //    // Example sending a request using the StartInstanceRequest method.
  5138  //    req, resp := client.StartInstanceRequest(params)
  5139  //
  5140  //    err := req.Send()
  5141  //    if err == nil { // resp is now filled
  5142  //        fmt.Println(resp)
  5143  //    }
  5144  //
  5145  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartInstance
  5146  func (c *OpsWorks) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
  5147  	op := &request.Operation{
  5148  		Name:       opStartInstance,
  5149  		HTTPMethod: "POST",
  5150  		HTTPPath:   "/",
  5151  	}
  5152  
  5153  	if input == nil {
  5154  		input = &StartInstanceInput{}
  5155  	}
  5156  
  5157  	output = &StartInstanceOutput{}
  5158  	req = c.newRequest(op, input, output)
  5159  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5160  	return
  5161  }
  5162  
  5163  // StartInstance API operation for AWS OpsWorks.
  5164  //
  5165  // Starts a specified instance. For more information, see Starting, Stopping,
  5166  // and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
  5167  //
  5168  // Required Permissions: To use this action, an IAM user must have a Manage
  5169  // permissions level for the stack, or an attached policy that explicitly grants
  5170  // permissions. For more information on user permissions, see Managing User
  5171  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5172  //
  5173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5174  // with awserr.Error's Code and Message methods to get detailed information about
  5175  // the error.
  5176  //
  5177  // See the AWS API reference guide for AWS OpsWorks's
  5178  // API operation StartInstance for usage and error information.
  5179  //
  5180  // Returned Error Types:
  5181  //   * ValidationException
  5182  //   Indicates that a request was not valid.
  5183  //
  5184  //   * ResourceNotFoundException
  5185  //   Indicates that a resource was not found.
  5186  //
  5187  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartInstance
  5188  func (c *OpsWorks) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
  5189  	req, out := c.StartInstanceRequest(input)
  5190  	return out, req.Send()
  5191  }
  5192  
  5193  // StartInstanceWithContext is the same as StartInstance with the addition of
  5194  // the ability to pass a context and additional request options.
  5195  //
  5196  // See StartInstance 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 *OpsWorks) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
  5203  	req, out := c.StartInstanceRequest(input)
  5204  	req.SetContext(ctx)
  5205  	req.ApplyOptions(opts...)
  5206  	return out, req.Send()
  5207  }
  5208  
  5209  const opStartStack = "StartStack"
  5210  
  5211  // StartStackRequest generates a "aws/request.Request" representing the
  5212  // client's request for the StartStack 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 StartStack for more information on using the StartStack
  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 StartStackRequest method.
  5227  //    req, resp := client.StartStackRequest(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/opsworks-2013-02-18/StartStack
  5235  func (c *OpsWorks) StartStackRequest(input *StartStackInput) (req *request.Request, output *StartStackOutput) {
  5236  	op := &request.Operation{
  5237  		Name:       opStartStack,
  5238  		HTTPMethod: "POST",
  5239  		HTTPPath:   "/",
  5240  	}
  5241  
  5242  	if input == nil {
  5243  		input = &StartStackInput{}
  5244  	}
  5245  
  5246  	output = &StartStackOutput{}
  5247  	req = c.newRequest(op, input, output)
  5248  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5249  	return
  5250  }
  5251  
  5252  // StartStack API operation for AWS OpsWorks.
  5253  //
  5254  // Starts a stack's instances.
  5255  //
  5256  // Required Permissions: To use this action, an IAM user must have a Manage
  5257  // permissions level for the stack, or an attached policy that explicitly grants
  5258  // permissions. For more information on user permissions, see Managing User
  5259  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  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 AWS OpsWorks's
  5266  // API operation StartStack for usage and error information.
  5267  //
  5268  // Returned Error Types:
  5269  //   * ValidationException
  5270  //   Indicates that a request was not valid.
  5271  //
  5272  //   * ResourceNotFoundException
  5273  //   Indicates that a resource was not found.
  5274  //
  5275  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartStack
  5276  func (c *OpsWorks) StartStack(input *StartStackInput) (*StartStackOutput, error) {
  5277  	req, out := c.StartStackRequest(input)
  5278  	return out, req.Send()
  5279  }
  5280  
  5281  // StartStackWithContext is the same as StartStack with the addition of
  5282  // the ability to pass a context and additional request options.
  5283  //
  5284  // See StartStack for details on how to use this API operation.
  5285  //
  5286  // The context must be non-nil and will be used for request cancellation. If
  5287  // the context is nil a panic will occur. In the future the SDK may create
  5288  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5289  // for more information on using Contexts.
  5290  func (c *OpsWorks) StartStackWithContext(ctx aws.Context, input *StartStackInput, opts ...request.Option) (*StartStackOutput, error) {
  5291  	req, out := c.StartStackRequest(input)
  5292  	req.SetContext(ctx)
  5293  	req.ApplyOptions(opts...)
  5294  	return out, req.Send()
  5295  }
  5296  
  5297  const opStopInstance = "StopInstance"
  5298  
  5299  // StopInstanceRequest generates a "aws/request.Request" representing the
  5300  // client's request for the StopInstance operation. The "output" return
  5301  // value will be populated with the request's response once the request completes
  5302  // successfully.
  5303  //
  5304  // Use "Send" method on the returned Request to send the API call to the service.
  5305  // the "output" return value is not valid until after Send returns without error.
  5306  //
  5307  // See StopInstance for more information on using the StopInstance
  5308  // API call, and error handling.
  5309  //
  5310  // This method is useful when you want to inject custom logic or configuration
  5311  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5312  //
  5313  //
  5314  //    // Example sending a request using the StopInstanceRequest method.
  5315  //    req, resp := client.StopInstanceRequest(params)
  5316  //
  5317  //    err := req.Send()
  5318  //    if err == nil { // resp is now filled
  5319  //        fmt.Println(resp)
  5320  //    }
  5321  //
  5322  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopInstance
  5323  func (c *OpsWorks) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
  5324  	op := &request.Operation{
  5325  		Name:       opStopInstance,
  5326  		HTTPMethod: "POST",
  5327  		HTTPPath:   "/",
  5328  	}
  5329  
  5330  	if input == nil {
  5331  		input = &StopInstanceInput{}
  5332  	}
  5333  
  5334  	output = &StopInstanceOutput{}
  5335  	req = c.newRequest(op, input, output)
  5336  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5337  	return
  5338  }
  5339  
  5340  // StopInstance API operation for AWS OpsWorks.
  5341  //
  5342  // Stops a specified instance. When you stop a standard instance, the data disappears
  5343  // and must be reinstalled when you restart the instance. You can stop an Amazon
  5344  // EBS-backed instance without losing data. For more information, see Starting,
  5345  // Stopping, and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
  5346  //
  5347  // Required Permissions: To use this action, an IAM user must have a Manage
  5348  // permissions level for the stack, or an attached policy that explicitly grants
  5349  // permissions. For more information on user permissions, see Managing User
  5350  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5351  //
  5352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5353  // with awserr.Error's Code and Message methods to get detailed information about
  5354  // the error.
  5355  //
  5356  // See the AWS API reference guide for AWS OpsWorks's
  5357  // API operation StopInstance for usage and error information.
  5358  //
  5359  // Returned Error Types:
  5360  //   * ValidationException
  5361  //   Indicates that a request was not valid.
  5362  //
  5363  //   * ResourceNotFoundException
  5364  //   Indicates that a resource was not found.
  5365  //
  5366  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopInstance
  5367  func (c *OpsWorks) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
  5368  	req, out := c.StopInstanceRequest(input)
  5369  	return out, req.Send()
  5370  }
  5371  
  5372  // StopInstanceWithContext is the same as StopInstance with the addition of
  5373  // the ability to pass a context and additional request options.
  5374  //
  5375  // See StopInstance for details on how to use this API operation.
  5376  //
  5377  // The context must be non-nil and will be used for request cancellation. If
  5378  // the context is nil a panic will occur. In the future the SDK may create
  5379  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5380  // for more information on using Contexts.
  5381  func (c *OpsWorks) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
  5382  	req, out := c.StopInstanceRequest(input)
  5383  	req.SetContext(ctx)
  5384  	req.ApplyOptions(opts...)
  5385  	return out, req.Send()
  5386  }
  5387  
  5388  const opStopStack = "StopStack"
  5389  
  5390  // StopStackRequest generates a "aws/request.Request" representing the
  5391  // client's request for the StopStack operation. The "output" return
  5392  // value will be populated with the request's response once the request completes
  5393  // successfully.
  5394  //
  5395  // Use "Send" method on the returned Request to send the API call to the service.
  5396  // the "output" return value is not valid until after Send returns without error.
  5397  //
  5398  // See StopStack for more information on using the StopStack
  5399  // API call, and error handling.
  5400  //
  5401  // This method is useful when you want to inject custom logic or configuration
  5402  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5403  //
  5404  //
  5405  //    // Example sending a request using the StopStackRequest method.
  5406  //    req, resp := client.StopStackRequest(params)
  5407  //
  5408  //    err := req.Send()
  5409  //    if err == nil { // resp is now filled
  5410  //        fmt.Println(resp)
  5411  //    }
  5412  //
  5413  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopStack
  5414  func (c *OpsWorks) StopStackRequest(input *StopStackInput) (req *request.Request, output *StopStackOutput) {
  5415  	op := &request.Operation{
  5416  		Name:       opStopStack,
  5417  		HTTPMethod: "POST",
  5418  		HTTPPath:   "/",
  5419  	}
  5420  
  5421  	if input == nil {
  5422  		input = &StopStackInput{}
  5423  	}
  5424  
  5425  	output = &StopStackOutput{}
  5426  	req = c.newRequest(op, input, output)
  5427  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5428  	return
  5429  }
  5430  
  5431  // StopStack API operation for AWS OpsWorks.
  5432  //
  5433  // Stops a specified stack.
  5434  //
  5435  // Required Permissions: To use this action, an IAM user must have a Manage
  5436  // permissions level for the stack, or an attached policy that explicitly grants
  5437  // permissions. For more information on user permissions, see Managing User
  5438  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5439  //
  5440  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5441  // with awserr.Error's Code and Message methods to get detailed information about
  5442  // the error.
  5443  //
  5444  // See the AWS API reference guide for AWS OpsWorks's
  5445  // API operation StopStack for usage and error information.
  5446  //
  5447  // Returned Error Types:
  5448  //   * ValidationException
  5449  //   Indicates that a request was not valid.
  5450  //
  5451  //   * ResourceNotFoundException
  5452  //   Indicates that a resource was not found.
  5453  //
  5454  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopStack
  5455  func (c *OpsWorks) StopStack(input *StopStackInput) (*StopStackOutput, error) {
  5456  	req, out := c.StopStackRequest(input)
  5457  	return out, req.Send()
  5458  }
  5459  
  5460  // StopStackWithContext is the same as StopStack with the addition of
  5461  // the ability to pass a context and additional request options.
  5462  //
  5463  // See StopStack for details on how to use this API operation.
  5464  //
  5465  // The context must be non-nil and will be used for request cancellation. If
  5466  // the context is nil a panic will occur. In the future the SDK may create
  5467  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5468  // for more information on using Contexts.
  5469  func (c *OpsWorks) StopStackWithContext(ctx aws.Context, input *StopStackInput, opts ...request.Option) (*StopStackOutput, error) {
  5470  	req, out := c.StopStackRequest(input)
  5471  	req.SetContext(ctx)
  5472  	req.ApplyOptions(opts...)
  5473  	return out, req.Send()
  5474  }
  5475  
  5476  const opTagResource = "TagResource"
  5477  
  5478  // TagResourceRequest generates a "aws/request.Request" representing the
  5479  // client's request for the TagResource operation. The "output" return
  5480  // value will be populated with the request's response once the request completes
  5481  // successfully.
  5482  //
  5483  // Use "Send" method on the returned Request to send the API call to the service.
  5484  // the "output" return value is not valid until after Send returns without error.
  5485  //
  5486  // See TagResource for more information on using the TagResource
  5487  // API call, and error handling.
  5488  //
  5489  // This method is useful when you want to inject custom logic or configuration
  5490  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5491  //
  5492  //
  5493  //    // Example sending a request using the TagResourceRequest method.
  5494  //    req, resp := client.TagResourceRequest(params)
  5495  //
  5496  //    err := req.Send()
  5497  //    if err == nil { // resp is now filled
  5498  //        fmt.Println(resp)
  5499  //    }
  5500  //
  5501  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/TagResource
  5502  func (c *OpsWorks) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5503  	op := &request.Operation{
  5504  		Name:       opTagResource,
  5505  		HTTPMethod: "POST",
  5506  		HTTPPath:   "/",
  5507  	}
  5508  
  5509  	if input == nil {
  5510  		input = &TagResourceInput{}
  5511  	}
  5512  
  5513  	output = &TagResourceOutput{}
  5514  	req = c.newRequest(op, input, output)
  5515  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5516  	return
  5517  }
  5518  
  5519  // TagResource API operation for AWS OpsWorks.
  5520  //
  5521  // Apply cost-allocation tags to a specified stack or layer in AWS OpsWorks
  5522  // Stacks. For more information about how tagging works, see Tags (https://docs.aws.amazon.com/opsworks/latest/userguide/tagging.html)
  5523  // in the AWS OpsWorks User Guide.
  5524  //
  5525  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5526  // with awserr.Error's Code and Message methods to get detailed information about
  5527  // the error.
  5528  //
  5529  // See the AWS API reference guide for AWS OpsWorks's
  5530  // API operation TagResource for usage and error information.
  5531  //
  5532  // Returned Error Types:
  5533  //   * ValidationException
  5534  //   Indicates that a request was not valid.
  5535  //
  5536  //   * ResourceNotFoundException
  5537  //   Indicates that a resource was not found.
  5538  //
  5539  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/TagResource
  5540  func (c *OpsWorks) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5541  	req, out := c.TagResourceRequest(input)
  5542  	return out, req.Send()
  5543  }
  5544  
  5545  // TagResourceWithContext is the same as TagResource with the addition of
  5546  // the ability to pass a context and additional request options.
  5547  //
  5548  // See TagResource for details on how to use this API operation.
  5549  //
  5550  // The context must be non-nil and will be used for request cancellation. If
  5551  // the context is nil a panic will occur. In the future the SDK may create
  5552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5553  // for more information on using Contexts.
  5554  func (c *OpsWorks) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5555  	req, out := c.TagResourceRequest(input)
  5556  	req.SetContext(ctx)
  5557  	req.ApplyOptions(opts...)
  5558  	return out, req.Send()
  5559  }
  5560  
  5561  const opUnassignInstance = "UnassignInstance"
  5562  
  5563  // UnassignInstanceRequest generates a "aws/request.Request" representing the
  5564  // client's request for the UnassignInstance operation. The "output" return
  5565  // value will be populated with the request's response once the request completes
  5566  // successfully.
  5567  //
  5568  // Use "Send" method on the returned Request to send the API call to the service.
  5569  // the "output" return value is not valid until after Send returns without error.
  5570  //
  5571  // See UnassignInstance for more information on using the UnassignInstance
  5572  // API call, and error handling.
  5573  //
  5574  // This method is useful when you want to inject custom logic or configuration
  5575  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5576  //
  5577  //
  5578  //    // Example sending a request using the UnassignInstanceRequest method.
  5579  //    req, resp := client.UnassignInstanceRequest(params)
  5580  //
  5581  //    err := req.Send()
  5582  //    if err == nil { // resp is now filled
  5583  //        fmt.Println(resp)
  5584  //    }
  5585  //
  5586  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance
  5587  func (c *OpsWorks) UnassignInstanceRequest(input *UnassignInstanceInput) (req *request.Request, output *UnassignInstanceOutput) {
  5588  	op := &request.Operation{
  5589  		Name:       opUnassignInstance,
  5590  		HTTPMethod: "POST",
  5591  		HTTPPath:   "/",
  5592  	}
  5593  
  5594  	if input == nil {
  5595  		input = &UnassignInstanceInput{}
  5596  	}
  5597  
  5598  	output = &UnassignInstanceOutput{}
  5599  	req = c.newRequest(op, input, output)
  5600  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5601  	return
  5602  }
  5603  
  5604  // UnassignInstance API operation for AWS OpsWorks.
  5605  //
  5606  // Unassigns a registered instance from all layers that are using the instance.
  5607  // The instance remains in the stack as an unassigned instance, and can be assigned
  5608  // to another layer as needed. You cannot use this action with instances that
  5609  // were created with AWS OpsWorks Stacks.
  5610  //
  5611  // Required Permissions: To use this action, an IAM user must have a Manage
  5612  // permissions level for the stack or an attached policy that explicitly grants
  5613  // permissions. For more information about user permissions, see Managing User
  5614  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5615  //
  5616  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5617  // with awserr.Error's Code and Message methods to get detailed information about
  5618  // the error.
  5619  //
  5620  // See the AWS API reference guide for AWS OpsWorks's
  5621  // API operation UnassignInstance for usage and error information.
  5622  //
  5623  // Returned Error Types:
  5624  //   * ValidationException
  5625  //   Indicates that a request was not valid.
  5626  //
  5627  //   * ResourceNotFoundException
  5628  //   Indicates that a resource was not found.
  5629  //
  5630  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance
  5631  func (c *OpsWorks) UnassignInstance(input *UnassignInstanceInput) (*UnassignInstanceOutput, error) {
  5632  	req, out := c.UnassignInstanceRequest(input)
  5633  	return out, req.Send()
  5634  }
  5635  
  5636  // UnassignInstanceWithContext is the same as UnassignInstance with the addition of
  5637  // the ability to pass a context and additional request options.
  5638  //
  5639  // See UnassignInstance for details on how to use this API operation.
  5640  //
  5641  // The context must be non-nil and will be used for request cancellation. If
  5642  // the context is nil a panic will occur. In the future the SDK may create
  5643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5644  // for more information on using Contexts.
  5645  func (c *OpsWorks) UnassignInstanceWithContext(ctx aws.Context, input *UnassignInstanceInput, opts ...request.Option) (*UnassignInstanceOutput, error) {
  5646  	req, out := c.UnassignInstanceRequest(input)
  5647  	req.SetContext(ctx)
  5648  	req.ApplyOptions(opts...)
  5649  	return out, req.Send()
  5650  }
  5651  
  5652  const opUnassignVolume = "UnassignVolume"
  5653  
  5654  // UnassignVolumeRequest generates a "aws/request.Request" representing the
  5655  // client's request for the UnassignVolume operation. The "output" return
  5656  // value will be populated with the request's response once the request completes
  5657  // successfully.
  5658  //
  5659  // Use "Send" method on the returned Request to send the API call to the service.
  5660  // the "output" return value is not valid until after Send returns without error.
  5661  //
  5662  // See UnassignVolume for more information on using the UnassignVolume
  5663  // API call, and error handling.
  5664  //
  5665  // This method is useful when you want to inject custom logic or configuration
  5666  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5667  //
  5668  //
  5669  //    // Example sending a request using the UnassignVolumeRequest method.
  5670  //    req, resp := client.UnassignVolumeRequest(params)
  5671  //
  5672  //    err := req.Send()
  5673  //    if err == nil { // resp is now filled
  5674  //        fmt.Println(resp)
  5675  //    }
  5676  //
  5677  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignVolume
  5678  func (c *OpsWorks) UnassignVolumeRequest(input *UnassignVolumeInput) (req *request.Request, output *UnassignVolumeOutput) {
  5679  	op := &request.Operation{
  5680  		Name:       opUnassignVolume,
  5681  		HTTPMethod: "POST",
  5682  		HTTPPath:   "/",
  5683  	}
  5684  
  5685  	if input == nil {
  5686  		input = &UnassignVolumeInput{}
  5687  	}
  5688  
  5689  	output = &UnassignVolumeOutput{}
  5690  	req = c.newRequest(op, input, output)
  5691  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5692  	return
  5693  }
  5694  
  5695  // UnassignVolume API operation for AWS OpsWorks.
  5696  //
  5697  // Unassigns an assigned Amazon EBS volume. The volume remains registered with
  5698  // the stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  5699  //
  5700  // Required Permissions: To use this action, an IAM user must have a Manage
  5701  // permissions level for the stack, or an attached policy that explicitly grants
  5702  // permissions. For more information on user permissions, see Managing User
  5703  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5704  //
  5705  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5706  // with awserr.Error's Code and Message methods to get detailed information about
  5707  // the error.
  5708  //
  5709  // See the AWS API reference guide for AWS OpsWorks's
  5710  // API operation UnassignVolume for usage and error information.
  5711  //
  5712  // Returned Error Types:
  5713  //   * ValidationException
  5714  //   Indicates that a request was not valid.
  5715  //
  5716  //   * ResourceNotFoundException
  5717  //   Indicates that a resource was not found.
  5718  //
  5719  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignVolume
  5720  func (c *OpsWorks) UnassignVolume(input *UnassignVolumeInput) (*UnassignVolumeOutput, error) {
  5721  	req, out := c.UnassignVolumeRequest(input)
  5722  	return out, req.Send()
  5723  }
  5724  
  5725  // UnassignVolumeWithContext is the same as UnassignVolume with the addition of
  5726  // the ability to pass a context and additional request options.
  5727  //
  5728  // See UnassignVolume for details on how to use this API operation.
  5729  //
  5730  // The context must be non-nil and will be used for request cancellation. If
  5731  // the context is nil a panic will occur. In the future the SDK may create
  5732  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5733  // for more information on using Contexts.
  5734  func (c *OpsWorks) UnassignVolumeWithContext(ctx aws.Context, input *UnassignVolumeInput, opts ...request.Option) (*UnassignVolumeOutput, error) {
  5735  	req, out := c.UnassignVolumeRequest(input)
  5736  	req.SetContext(ctx)
  5737  	req.ApplyOptions(opts...)
  5738  	return out, req.Send()
  5739  }
  5740  
  5741  const opUntagResource = "UntagResource"
  5742  
  5743  // UntagResourceRequest generates a "aws/request.Request" representing the
  5744  // client's request for the UntagResource operation. The "output" return
  5745  // value will be populated with the request's response once the request completes
  5746  // successfully.
  5747  //
  5748  // Use "Send" method on the returned Request to send the API call to the service.
  5749  // the "output" return value is not valid until after Send returns without error.
  5750  //
  5751  // See UntagResource for more information on using the UntagResource
  5752  // API call, and error handling.
  5753  //
  5754  // This method is useful when you want to inject custom logic or configuration
  5755  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5756  //
  5757  //
  5758  //    // Example sending a request using the UntagResourceRequest method.
  5759  //    req, resp := client.UntagResourceRequest(params)
  5760  //
  5761  //    err := req.Send()
  5762  //    if err == nil { // resp is now filled
  5763  //        fmt.Println(resp)
  5764  //    }
  5765  //
  5766  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UntagResource
  5767  func (c *OpsWorks) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5768  	op := &request.Operation{
  5769  		Name:       opUntagResource,
  5770  		HTTPMethod: "POST",
  5771  		HTTPPath:   "/",
  5772  	}
  5773  
  5774  	if input == nil {
  5775  		input = &UntagResourceInput{}
  5776  	}
  5777  
  5778  	output = &UntagResourceOutput{}
  5779  	req = c.newRequest(op, input, output)
  5780  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5781  	return
  5782  }
  5783  
  5784  // UntagResource API operation for AWS OpsWorks.
  5785  //
  5786  // Removes tags from a specified stack or layer.
  5787  //
  5788  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5789  // with awserr.Error's Code and Message methods to get detailed information about
  5790  // the error.
  5791  //
  5792  // See the AWS API reference guide for AWS OpsWorks's
  5793  // API operation UntagResource for usage and error information.
  5794  //
  5795  // Returned Error Types:
  5796  //   * ValidationException
  5797  //   Indicates that a request was not valid.
  5798  //
  5799  //   * ResourceNotFoundException
  5800  //   Indicates that a resource was not found.
  5801  //
  5802  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UntagResource
  5803  func (c *OpsWorks) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5804  	req, out := c.UntagResourceRequest(input)
  5805  	return out, req.Send()
  5806  }
  5807  
  5808  // UntagResourceWithContext is the same as UntagResource with the addition of
  5809  // the ability to pass a context and additional request options.
  5810  //
  5811  // See UntagResource for details on how to use this API operation.
  5812  //
  5813  // The context must be non-nil and will be used for request cancellation. If
  5814  // the context is nil a panic will occur. In the future the SDK may create
  5815  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5816  // for more information on using Contexts.
  5817  func (c *OpsWorks) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  5818  	req, out := c.UntagResourceRequest(input)
  5819  	req.SetContext(ctx)
  5820  	req.ApplyOptions(opts...)
  5821  	return out, req.Send()
  5822  }
  5823  
  5824  const opUpdateApp = "UpdateApp"
  5825  
  5826  // UpdateAppRequest generates a "aws/request.Request" representing the
  5827  // client's request for the UpdateApp operation. The "output" return
  5828  // value will be populated with the request's response once the request completes
  5829  // successfully.
  5830  //
  5831  // Use "Send" method on the returned Request to send the API call to the service.
  5832  // the "output" return value is not valid until after Send returns without error.
  5833  //
  5834  // See UpdateApp for more information on using the UpdateApp
  5835  // API call, and error handling.
  5836  //
  5837  // This method is useful when you want to inject custom logic or configuration
  5838  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5839  //
  5840  //
  5841  //    // Example sending a request using the UpdateAppRequest method.
  5842  //    req, resp := client.UpdateAppRequest(params)
  5843  //
  5844  //    err := req.Send()
  5845  //    if err == nil { // resp is now filled
  5846  //        fmt.Println(resp)
  5847  //    }
  5848  //
  5849  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateApp
  5850  func (c *OpsWorks) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) {
  5851  	op := &request.Operation{
  5852  		Name:       opUpdateApp,
  5853  		HTTPMethod: "POST",
  5854  		HTTPPath:   "/",
  5855  	}
  5856  
  5857  	if input == nil {
  5858  		input = &UpdateAppInput{}
  5859  	}
  5860  
  5861  	output = &UpdateAppOutput{}
  5862  	req = c.newRequest(op, input, output)
  5863  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5864  	return
  5865  }
  5866  
  5867  // UpdateApp API operation for AWS OpsWorks.
  5868  //
  5869  // Updates a specified app.
  5870  //
  5871  // Required Permissions: To use this action, an IAM user must have a Deploy
  5872  // or Manage permissions level for the stack, or an attached policy that explicitly
  5873  // grants permissions. For more information on user permissions, see Managing
  5874  // User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5875  //
  5876  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5877  // with awserr.Error's Code and Message methods to get detailed information about
  5878  // the error.
  5879  //
  5880  // See the AWS API reference guide for AWS OpsWorks's
  5881  // API operation UpdateApp for usage and error information.
  5882  //
  5883  // Returned Error Types:
  5884  //   * ValidationException
  5885  //   Indicates that a request was not valid.
  5886  //
  5887  //   * ResourceNotFoundException
  5888  //   Indicates that a resource was not found.
  5889  //
  5890  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateApp
  5891  func (c *OpsWorks) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) {
  5892  	req, out := c.UpdateAppRequest(input)
  5893  	return out, req.Send()
  5894  }
  5895  
  5896  // UpdateAppWithContext is the same as UpdateApp with the addition of
  5897  // the ability to pass a context and additional request options.
  5898  //
  5899  // See UpdateApp for details on how to use this API operation.
  5900  //
  5901  // The context must be non-nil and will be used for request cancellation. If
  5902  // the context is nil a panic will occur. In the future the SDK may create
  5903  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5904  // for more information on using Contexts.
  5905  func (c *OpsWorks) UpdateAppWithContext(ctx aws.Context, input *UpdateAppInput, opts ...request.Option) (*UpdateAppOutput, error) {
  5906  	req, out := c.UpdateAppRequest(input)
  5907  	req.SetContext(ctx)
  5908  	req.ApplyOptions(opts...)
  5909  	return out, req.Send()
  5910  }
  5911  
  5912  const opUpdateElasticIp = "UpdateElasticIp"
  5913  
  5914  // UpdateElasticIpRequest generates a "aws/request.Request" representing the
  5915  // client's request for the UpdateElasticIp operation. The "output" return
  5916  // value will be populated with the request's response once the request completes
  5917  // successfully.
  5918  //
  5919  // Use "Send" method on the returned Request to send the API call to the service.
  5920  // the "output" return value is not valid until after Send returns without error.
  5921  //
  5922  // See UpdateElasticIp for more information on using the UpdateElasticIp
  5923  // API call, and error handling.
  5924  //
  5925  // This method is useful when you want to inject custom logic or configuration
  5926  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5927  //
  5928  //
  5929  //    // Example sending a request using the UpdateElasticIpRequest method.
  5930  //    req, resp := client.UpdateElasticIpRequest(params)
  5931  //
  5932  //    err := req.Send()
  5933  //    if err == nil { // resp is now filled
  5934  //        fmt.Println(resp)
  5935  //    }
  5936  //
  5937  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateElasticIp
  5938  func (c *OpsWorks) UpdateElasticIpRequest(input *UpdateElasticIpInput) (req *request.Request, output *UpdateElasticIpOutput) {
  5939  	op := &request.Operation{
  5940  		Name:       opUpdateElasticIp,
  5941  		HTTPMethod: "POST",
  5942  		HTTPPath:   "/",
  5943  	}
  5944  
  5945  	if input == nil {
  5946  		input = &UpdateElasticIpInput{}
  5947  	}
  5948  
  5949  	output = &UpdateElasticIpOutput{}
  5950  	req = c.newRequest(op, input, output)
  5951  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5952  	return
  5953  }
  5954  
  5955  // UpdateElasticIp API operation for AWS OpsWorks.
  5956  //
  5957  // Updates a registered Elastic IP address's name. For more information, see
  5958  // Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  5959  //
  5960  // Required Permissions: To use this action, an IAM user must have a Manage
  5961  // permissions level for the stack, or an attached policy that explicitly grants
  5962  // permissions. For more information on user permissions, see Managing User
  5963  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  5964  //
  5965  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5966  // with awserr.Error's Code and Message methods to get detailed information about
  5967  // the error.
  5968  //
  5969  // See the AWS API reference guide for AWS OpsWorks's
  5970  // API operation UpdateElasticIp for usage and error information.
  5971  //
  5972  // Returned Error Types:
  5973  //   * ValidationException
  5974  //   Indicates that a request was not valid.
  5975  //
  5976  //   * ResourceNotFoundException
  5977  //   Indicates that a resource was not found.
  5978  //
  5979  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateElasticIp
  5980  func (c *OpsWorks) UpdateElasticIp(input *UpdateElasticIpInput) (*UpdateElasticIpOutput, error) {
  5981  	req, out := c.UpdateElasticIpRequest(input)
  5982  	return out, req.Send()
  5983  }
  5984  
  5985  // UpdateElasticIpWithContext is the same as UpdateElasticIp with the addition of
  5986  // the ability to pass a context and additional request options.
  5987  //
  5988  // See UpdateElasticIp for details on how to use this API operation.
  5989  //
  5990  // The context must be non-nil and will be used for request cancellation. If
  5991  // the context is nil a panic will occur. In the future the SDK may create
  5992  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5993  // for more information on using Contexts.
  5994  func (c *OpsWorks) UpdateElasticIpWithContext(ctx aws.Context, input *UpdateElasticIpInput, opts ...request.Option) (*UpdateElasticIpOutput, error) {
  5995  	req, out := c.UpdateElasticIpRequest(input)
  5996  	req.SetContext(ctx)
  5997  	req.ApplyOptions(opts...)
  5998  	return out, req.Send()
  5999  }
  6000  
  6001  const opUpdateInstance = "UpdateInstance"
  6002  
  6003  // UpdateInstanceRequest generates a "aws/request.Request" representing the
  6004  // client's request for the UpdateInstance operation. The "output" return
  6005  // value will be populated with the request's response once the request completes
  6006  // successfully.
  6007  //
  6008  // Use "Send" method on the returned Request to send the API call to the service.
  6009  // the "output" return value is not valid until after Send returns without error.
  6010  //
  6011  // See UpdateInstance for more information on using the UpdateInstance
  6012  // API call, and error handling.
  6013  //
  6014  // This method is useful when you want to inject custom logic or configuration
  6015  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6016  //
  6017  //
  6018  //    // Example sending a request using the UpdateInstanceRequest method.
  6019  //    req, resp := client.UpdateInstanceRequest(params)
  6020  //
  6021  //    err := req.Send()
  6022  //    if err == nil { // resp is now filled
  6023  //        fmt.Println(resp)
  6024  //    }
  6025  //
  6026  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateInstance
  6027  func (c *OpsWorks) UpdateInstanceRequest(input *UpdateInstanceInput) (req *request.Request, output *UpdateInstanceOutput) {
  6028  	op := &request.Operation{
  6029  		Name:       opUpdateInstance,
  6030  		HTTPMethod: "POST",
  6031  		HTTPPath:   "/",
  6032  	}
  6033  
  6034  	if input == nil {
  6035  		input = &UpdateInstanceInput{}
  6036  	}
  6037  
  6038  	output = &UpdateInstanceOutput{}
  6039  	req = c.newRequest(op, input, output)
  6040  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6041  	return
  6042  }
  6043  
  6044  // UpdateInstance API operation for AWS OpsWorks.
  6045  //
  6046  // Updates a specified instance.
  6047  //
  6048  // Required Permissions: To use this action, an IAM user must have a Manage
  6049  // permissions level for the stack, or an attached policy that explicitly grants
  6050  // permissions. For more information on user permissions, see Managing User
  6051  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6052  //
  6053  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6054  // with awserr.Error's Code and Message methods to get detailed information about
  6055  // the error.
  6056  //
  6057  // See the AWS API reference guide for AWS OpsWorks's
  6058  // API operation UpdateInstance for usage and error information.
  6059  //
  6060  // Returned Error Types:
  6061  //   * ValidationException
  6062  //   Indicates that a request was not valid.
  6063  //
  6064  //   * ResourceNotFoundException
  6065  //   Indicates that a resource was not found.
  6066  //
  6067  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateInstance
  6068  func (c *OpsWorks) UpdateInstance(input *UpdateInstanceInput) (*UpdateInstanceOutput, error) {
  6069  	req, out := c.UpdateInstanceRequest(input)
  6070  	return out, req.Send()
  6071  }
  6072  
  6073  // UpdateInstanceWithContext is the same as UpdateInstance with the addition of
  6074  // the ability to pass a context and additional request options.
  6075  //
  6076  // See UpdateInstance for details on how to use this API operation.
  6077  //
  6078  // The context must be non-nil and will be used for request cancellation. If
  6079  // the context is nil a panic will occur. In the future the SDK may create
  6080  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6081  // for more information on using Contexts.
  6082  func (c *OpsWorks) UpdateInstanceWithContext(ctx aws.Context, input *UpdateInstanceInput, opts ...request.Option) (*UpdateInstanceOutput, error) {
  6083  	req, out := c.UpdateInstanceRequest(input)
  6084  	req.SetContext(ctx)
  6085  	req.ApplyOptions(opts...)
  6086  	return out, req.Send()
  6087  }
  6088  
  6089  const opUpdateLayer = "UpdateLayer"
  6090  
  6091  // UpdateLayerRequest generates a "aws/request.Request" representing the
  6092  // client's request for the UpdateLayer operation. The "output" return
  6093  // value will be populated with the request's response once the request completes
  6094  // successfully.
  6095  //
  6096  // Use "Send" method on the returned Request to send the API call to the service.
  6097  // the "output" return value is not valid until after Send returns without error.
  6098  //
  6099  // See UpdateLayer for more information on using the UpdateLayer
  6100  // API call, and error handling.
  6101  //
  6102  // This method is useful when you want to inject custom logic or configuration
  6103  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6104  //
  6105  //
  6106  //    // Example sending a request using the UpdateLayerRequest method.
  6107  //    req, resp := client.UpdateLayerRequest(params)
  6108  //
  6109  //    err := req.Send()
  6110  //    if err == nil { // resp is now filled
  6111  //        fmt.Println(resp)
  6112  //    }
  6113  //
  6114  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer
  6115  func (c *OpsWorks) UpdateLayerRequest(input *UpdateLayerInput) (req *request.Request, output *UpdateLayerOutput) {
  6116  	op := &request.Operation{
  6117  		Name:       opUpdateLayer,
  6118  		HTTPMethod: "POST",
  6119  		HTTPPath:   "/",
  6120  	}
  6121  
  6122  	if input == nil {
  6123  		input = &UpdateLayerInput{}
  6124  	}
  6125  
  6126  	output = &UpdateLayerOutput{}
  6127  	req = c.newRequest(op, input, output)
  6128  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6129  	return
  6130  }
  6131  
  6132  // UpdateLayer API operation for AWS OpsWorks.
  6133  //
  6134  // Updates a specified layer.
  6135  //
  6136  // Required Permissions: To use this action, an IAM user must have a Manage
  6137  // permissions level for the stack, or an attached policy that explicitly grants
  6138  // permissions. For more information on user permissions, see Managing User
  6139  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6140  //
  6141  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6142  // with awserr.Error's Code and Message methods to get detailed information about
  6143  // the error.
  6144  //
  6145  // See the AWS API reference guide for AWS OpsWorks's
  6146  // API operation UpdateLayer for usage and error information.
  6147  //
  6148  // Returned Error Types:
  6149  //   * ValidationException
  6150  //   Indicates that a request was not valid.
  6151  //
  6152  //   * ResourceNotFoundException
  6153  //   Indicates that a resource was not found.
  6154  //
  6155  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer
  6156  func (c *OpsWorks) UpdateLayer(input *UpdateLayerInput) (*UpdateLayerOutput, error) {
  6157  	req, out := c.UpdateLayerRequest(input)
  6158  	return out, req.Send()
  6159  }
  6160  
  6161  // UpdateLayerWithContext is the same as UpdateLayer with the addition of
  6162  // the ability to pass a context and additional request options.
  6163  //
  6164  // See UpdateLayer for details on how to use this API operation.
  6165  //
  6166  // The context must be non-nil and will be used for request cancellation. If
  6167  // the context is nil a panic will occur. In the future the SDK may create
  6168  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6169  // for more information on using Contexts.
  6170  func (c *OpsWorks) UpdateLayerWithContext(ctx aws.Context, input *UpdateLayerInput, opts ...request.Option) (*UpdateLayerOutput, error) {
  6171  	req, out := c.UpdateLayerRequest(input)
  6172  	req.SetContext(ctx)
  6173  	req.ApplyOptions(opts...)
  6174  	return out, req.Send()
  6175  }
  6176  
  6177  const opUpdateMyUserProfile = "UpdateMyUserProfile"
  6178  
  6179  // UpdateMyUserProfileRequest generates a "aws/request.Request" representing the
  6180  // client's request for the UpdateMyUserProfile operation. The "output" return
  6181  // value will be populated with the request's response once the request completes
  6182  // successfully.
  6183  //
  6184  // Use "Send" method on the returned Request to send the API call to the service.
  6185  // the "output" return value is not valid until after Send returns without error.
  6186  //
  6187  // See UpdateMyUserProfile for more information on using the UpdateMyUserProfile
  6188  // API call, and error handling.
  6189  //
  6190  // This method is useful when you want to inject custom logic or configuration
  6191  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6192  //
  6193  //
  6194  //    // Example sending a request using the UpdateMyUserProfileRequest method.
  6195  //    req, resp := client.UpdateMyUserProfileRequest(params)
  6196  //
  6197  //    err := req.Send()
  6198  //    if err == nil { // resp is now filled
  6199  //        fmt.Println(resp)
  6200  //    }
  6201  //
  6202  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateMyUserProfile
  6203  func (c *OpsWorks) UpdateMyUserProfileRequest(input *UpdateMyUserProfileInput) (req *request.Request, output *UpdateMyUserProfileOutput) {
  6204  	op := &request.Operation{
  6205  		Name:       opUpdateMyUserProfile,
  6206  		HTTPMethod: "POST",
  6207  		HTTPPath:   "/",
  6208  	}
  6209  
  6210  	if input == nil {
  6211  		input = &UpdateMyUserProfileInput{}
  6212  	}
  6213  
  6214  	output = &UpdateMyUserProfileOutput{}
  6215  	req = c.newRequest(op, input, output)
  6216  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6217  	return
  6218  }
  6219  
  6220  // UpdateMyUserProfile API operation for AWS OpsWorks.
  6221  //
  6222  // Updates a user's SSH public key.
  6223  //
  6224  // Required Permissions: To use this action, an IAM user must have self-management
  6225  // enabled or an attached policy that explicitly grants permissions. For more
  6226  // information about user permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6227  //
  6228  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6229  // with awserr.Error's Code and Message methods to get detailed information about
  6230  // the error.
  6231  //
  6232  // See the AWS API reference guide for AWS OpsWorks's
  6233  // API operation UpdateMyUserProfile for usage and error information.
  6234  //
  6235  // Returned Error Types:
  6236  //   * ValidationException
  6237  //   Indicates that a request was not valid.
  6238  //
  6239  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateMyUserProfile
  6240  func (c *OpsWorks) UpdateMyUserProfile(input *UpdateMyUserProfileInput) (*UpdateMyUserProfileOutput, error) {
  6241  	req, out := c.UpdateMyUserProfileRequest(input)
  6242  	return out, req.Send()
  6243  }
  6244  
  6245  // UpdateMyUserProfileWithContext is the same as UpdateMyUserProfile with the addition of
  6246  // the ability to pass a context and additional request options.
  6247  //
  6248  // See UpdateMyUserProfile for details on how to use this API operation.
  6249  //
  6250  // The context must be non-nil and will be used for request cancellation. If
  6251  // the context is nil a panic will occur. In the future the SDK may create
  6252  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6253  // for more information on using Contexts.
  6254  func (c *OpsWorks) UpdateMyUserProfileWithContext(ctx aws.Context, input *UpdateMyUserProfileInput, opts ...request.Option) (*UpdateMyUserProfileOutput, error) {
  6255  	req, out := c.UpdateMyUserProfileRequest(input)
  6256  	req.SetContext(ctx)
  6257  	req.ApplyOptions(opts...)
  6258  	return out, req.Send()
  6259  }
  6260  
  6261  const opUpdateRdsDbInstance = "UpdateRdsDbInstance"
  6262  
  6263  // UpdateRdsDbInstanceRequest generates a "aws/request.Request" representing the
  6264  // client's request for the UpdateRdsDbInstance operation. The "output" return
  6265  // value will be populated with the request's response once the request completes
  6266  // successfully.
  6267  //
  6268  // Use "Send" method on the returned Request to send the API call to the service.
  6269  // the "output" return value is not valid until after Send returns without error.
  6270  //
  6271  // See UpdateRdsDbInstance for more information on using the UpdateRdsDbInstance
  6272  // API call, and error handling.
  6273  //
  6274  // This method is useful when you want to inject custom logic or configuration
  6275  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6276  //
  6277  //
  6278  //    // Example sending a request using the UpdateRdsDbInstanceRequest method.
  6279  //    req, resp := client.UpdateRdsDbInstanceRequest(params)
  6280  //
  6281  //    err := req.Send()
  6282  //    if err == nil { // resp is now filled
  6283  //        fmt.Println(resp)
  6284  //    }
  6285  //
  6286  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateRdsDbInstance
  6287  func (c *OpsWorks) UpdateRdsDbInstanceRequest(input *UpdateRdsDbInstanceInput) (req *request.Request, output *UpdateRdsDbInstanceOutput) {
  6288  	op := &request.Operation{
  6289  		Name:       opUpdateRdsDbInstance,
  6290  		HTTPMethod: "POST",
  6291  		HTTPPath:   "/",
  6292  	}
  6293  
  6294  	if input == nil {
  6295  		input = &UpdateRdsDbInstanceInput{}
  6296  	}
  6297  
  6298  	output = &UpdateRdsDbInstanceOutput{}
  6299  	req = c.newRequest(op, input, output)
  6300  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6301  	return
  6302  }
  6303  
  6304  // UpdateRdsDbInstance API operation for AWS OpsWorks.
  6305  //
  6306  // Updates an Amazon RDS instance.
  6307  //
  6308  // Required Permissions: To use this action, an IAM user must have a Manage
  6309  // permissions level for the stack, or an attached policy that explicitly grants
  6310  // permissions. For more information on user permissions, see Managing User
  6311  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6312  //
  6313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6314  // with awserr.Error's Code and Message methods to get detailed information about
  6315  // the error.
  6316  //
  6317  // See the AWS API reference guide for AWS OpsWorks's
  6318  // API operation UpdateRdsDbInstance for usage and error information.
  6319  //
  6320  // Returned Error Types:
  6321  //   * ValidationException
  6322  //   Indicates that a request was not valid.
  6323  //
  6324  //   * ResourceNotFoundException
  6325  //   Indicates that a resource was not found.
  6326  //
  6327  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateRdsDbInstance
  6328  func (c *OpsWorks) UpdateRdsDbInstance(input *UpdateRdsDbInstanceInput) (*UpdateRdsDbInstanceOutput, error) {
  6329  	req, out := c.UpdateRdsDbInstanceRequest(input)
  6330  	return out, req.Send()
  6331  }
  6332  
  6333  // UpdateRdsDbInstanceWithContext is the same as UpdateRdsDbInstance with the addition of
  6334  // the ability to pass a context and additional request options.
  6335  //
  6336  // See UpdateRdsDbInstance for details on how to use this API operation.
  6337  //
  6338  // The context must be non-nil and will be used for request cancellation. If
  6339  // the context is nil a panic will occur. In the future the SDK may create
  6340  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6341  // for more information on using Contexts.
  6342  func (c *OpsWorks) UpdateRdsDbInstanceWithContext(ctx aws.Context, input *UpdateRdsDbInstanceInput, opts ...request.Option) (*UpdateRdsDbInstanceOutput, error) {
  6343  	req, out := c.UpdateRdsDbInstanceRequest(input)
  6344  	req.SetContext(ctx)
  6345  	req.ApplyOptions(opts...)
  6346  	return out, req.Send()
  6347  }
  6348  
  6349  const opUpdateStack = "UpdateStack"
  6350  
  6351  // UpdateStackRequest generates a "aws/request.Request" representing the
  6352  // client's request for the UpdateStack operation. The "output" return
  6353  // value will be populated with the request's response once the request completes
  6354  // successfully.
  6355  //
  6356  // Use "Send" method on the returned Request to send the API call to the service.
  6357  // the "output" return value is not valid until after Send returns without error.
  6358  //
  6359  // See UpdateStack for more information on using the UpdateStack
  6360  // API call, and error handling.
  6361  //
  6362  // This method is useful when you want to inject custom logic or configuration
  6363  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6364  //
  6365  //
  6366  //    // Example sending a request using the UpdateStackRequest method.
  6367  //    req, resp := client.UpdateStackRequest(params)
  6368  //
  6369  //    err := req.Send()
  6370  //    if err == nil { // resp is now filled
  6371  //        fmt.Println(resp)
  6372  //    }
  6373  //
  6374  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateStack
  6375  func (c *OpsWorks) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
  6376  	op := &request.Operation{
  6377  		Name:       opUpdateStack,
  6378  		HTTPMethod: "POST",
  6379  		HTTPPath:   "/",
  6380  	}
  6381  
  6382  	if input == nil {
  6383  		input = &UpdateStackInput{}
  6384  	}
  6385  
  6386  	output = &UpdateStackOutput{}
  6387  	req = c.newRequest(op, input, output)
  6388  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6389  	return
  6390  }
  6391  
  6392  // UpdateStack API operation for AWS OpsWorks.
  6393  //
  6394  // Updates a specified stack.
  6395  //
  6396  // Required Permissions: To use this action, an IAM user must have a Manage
  6397  // permissions level for the stack, or an attached policy that explicitly grants
  6398  // permissions. For more information on user permissions, see Managing User
  6399  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6400  //
  6401  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6402  // with awserr.Error's Code and Message methods to get detailed information about
  6403  // the error.
  6404  //
  6405  // See the AWS API reference guide for AWS OpsWorks's
  6406  // API operation UpdateStack for usage and error information.
  6407  //
  6408  // Returned Error Types:
  6409  //   * ValidationException
  6410  //   Indicates that a request was not valid.
  6411  //
  6412  //   * ResourceNotFoundException
  6413  //   Indicates that a resource was not found.
  6414  //
  6415  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateStack
  6416  func (c *OpsWorks) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
  6417  	req, out := c.UpdateStackRequest(input)
  6418  	return out, req.Send()
  6419  }
  6420  
  6421  // UpdateStackWithContext is the same as UpdateStack with the addition of
  6422  // the ability to pass a context and additional request options.
  6423  //
  6424  // See UpdateStack for details on how to use this API operation.
  6425  //
  6426  // The context must be non-nil and will be used for request cancellation. If
  6427  // the context is nil a panic will occur. In the future the SDK may create
  6428  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6429  // for more information on using Contexts.
  6430  func (c *OpsWorks) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) {
  6431  	req, out := c.UpdateStackRequest(input)
  6432  	req.SetContext(ctx)
  6433  	req.ApplyOptions(opts...)
  6434  	return out, req.Send()
  6435  }
  6436  
  6437  const opUpdateUserProfile = "UpdateUserProfile"
  6438  
  6439  // UpdateUserProfileRequest generates a "aws/request.Request" representing the
  6440  // client's request for the UpdateUserProfile operation. The "output" return
  6441  // value will be populated with the request's response once the request completes
  6442  // successfully.
  6443  //
  6444  // Use "Send" method on the returned Request to send the API call to the service.
  6445  // the "output" return value is not valid until after Send returns without error.
  6446  //
  6447  // See UpdateUserProfile for more information on using the UpdateUserProfile
  6448  // API call, and error handling.
  6449  //
  6450  // This method is useful when you want to inject custom logic or configuration
  6451  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6452  //
  6453  //
  6454  //    // Example sending a request using the UpdateUserProfileRequest method.
  6455  //    req, resp := client.UpdateUserProfileRequest(params)
  6456  //
  6457  //    err := req.Send()
  6458  //    if err == nil { // resp is now filled
  6459  //        fmt.Println(resp)
  6460  //    }
  6461  //
  6462  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateUserProfile
  6463  func (c *OpsWorks) UpdateUserProfileRequest(input *UpdateUserProfileInput) (req *request.Request, output *UpdateUserProfileOutput) {
  6464  	op := &request.Operation{
  6465  		Name:       opUpdateUserProfile,
  6466  		HTTPMethod: "POST",
  6467  		HTTPPath:   "/",
  6468  	}
  6469  
  6470  	if input == nil {
  6471  		input = &UpdateUserProfileInput{}
  6472  	}
  6473  
  6474  	output = &UpdateUserProfileOutput{}
  6475  	req = c.newRequest(op, input, output)
  6476  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6477  	return
  6478  }
  6479  
  6480  // UpdateUserProfile API operation for AWS OpsWorks.
  6481  //
  6482  // Updates a specified user profile.
  6483  //
  6484  // Required Permissions: To use this action, an IAM user must have an attached
  6485  // policy that explicitly grants permissions. For more information about user
  6486  // permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6487  //
  6488  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6489  // with awserr.Error's Code and Message methods to get detailed information about
  6490  // the error.
  6491  //
  6492  // See the AWS API reference guide for AWS OpsWorks's
  6493  // API operation UpdateUserProfile for usage and error information.
  6494  //
  6495  // Returned Error Types:
  6496  //   * ValidationException
  6497  //   Indicates that a request was not valid.
  6498  //
  6499  //   * ResourceNotFoundException
  6500  //   Indicates that a resource was not found.
  6501  //
  6502  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateUserProfile
  6503  func (c *OpsWorks) UpdateUserProfile(input *UpdateUserProfileInput) (*UpdateUserProfileOutput, error) {
  6504  	req, out := c.UpdateUserProfileRequest(input)
  6505  	return out, req.Send()
  6506  }
  6507  
  6508  // UpdateUserProfileWithContext is the same as UpdateUserProfile with the addition of
  6509  // the ability to pass a context and additional request options.
  6510  //
  6511  // See UpdateUserProfile for details on how to use this API operation.
  6512  //
  6513  // The context must be non-nil and will be used for request cancellation. If
  6514  // the context is nil a panic will occur. In the future the SDK may create
  6515  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6516  // for more information on using Contexts.
  6517  func (c *OpsWorks) UpdateUserProfileWithContext(ctx aws.Context, input *UpdateUserProfileInput, opts ...request.Option) (*UpdateUserProfileOutput, error) {
  6518  	req, out := c.UpdateUserProfileRequest(input)
  6519  	req.SetContext(ctx)
  6520  	req.ApplyOptions(opts...)
  6521  	return out, req.Send()
  6522  }
  6523  
  6524  const opUpdateVolume = "UpdateVolume"
  6525  
  6526  // UpdateVolumeRequest generates a "aws/request.Request" representing the
  6527  // client's request for the UpdateVolume operation. The "output" return
  6528  // value will be populated with the request's response once the request completes
  6529  // successfully.
  6530  //
  6531  // Use "Send" method on the returned Request to send the API call to the service.
  6532  // the "output" return value is not valid until after Send returns without error.
  6533  //
  6534  // See UpdateVolume for more information on using the UpdateVolume
  6535  // API call, and error handling.
  6536  //
  6537  // This method is useful when you want to inject custom logic or configuration
  6538  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6539  //
  6540  //
  6541  //    // Example sending a request using the UpdateVolumeRequest method.
  6542  //    req, resp := client.UpdateVolumeRequest(params)
  6543  //
  6544  //    err := req.Send()
  6545  //    if err == nil { // resp is now filled
  6546  //        fmt.Println(resp)
  6547  //    }
  6548  //
  6549  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateVolume
  6550  func (c *OpsWorks) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) {
  6551  	op := &request.Operation{
  6552  		Name:       opUpdateVolume,
  6553  		HTTPMethod: "POST",
  6554  		HTTPPath:   "/",
  6555  	}
  6556  
  6557  	if input == nil {
  6558  		input = &UpdateVolumeInput{}
  6559  	}
  6560  
  6561  	output = &UpdateVolumeOutput{}
  6562  	req = c.newRequest(op, input, output)
  6563  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6564  	return
  6565  }
  6566  
  6567  // UpdateVolume API operation for AWS OpsWorks.
  6568  //
  6569  // Updates an Amazon EBS volume's name or mount point. For more information,
  6570  // see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
  6571  //
  6572  // Required Permissions: To use this action, an IAM user must have a Manage
  6573  // permissions level for the stack, or an attached policy that explicitly grants
  6574  // permissions. For more information on user permissions, see Managing User
  6575  // Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
  6576  //
  6577  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6578  // with awserr.Error's Code and Message methods to get detailed information about
  6579  // the error.
  6580  //
  6581  // See the AWS API reference guide for AWS OpsWorks's
  6582  // API operation UpdateVolume for usage and error information.
  6583  //
  6584  // Returned Error Types:
  6585  //   * ValidationException
  6586  //   Indicates that a request was not valid.
  6587  //
  6588  //   * ResourceNotFoundException
  6589  //   Indicates that a resource was not found.
  6590  //
  6591  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateVolume
  6592  func (c *OpsWorks) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) {
  6593  	req, out := c.UpdateVolumeRequest(input)
  6594  	return out, req.Send()
  6595  }
  6596  
  6597  // UpdateVolumeWithContext is the same as UpdateVolume with the addition of
  6598  // the ability to pass a context and additional request options.
  6599  //
  6600  // See UpdateVolume for details on how to use this API operation.
  6601  //
  6602  // The context must be non-nil and will be used for request cancellation. If
  6603  // the context is nil a panic will occur. In the future the SDK may create
  6604  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6605  // for more information on using Contexts.
  6606  func (c *OpsWorks) UpdateVolumeWithContext(ctx aws.Context, input *UpdateVolumeInput, opts ...request.Option) (*UpdateVolumeOutput, error) {
  6607  	req, out := c.UpdateVolumeRequest(input)
  6608  	req.SetContext(ctx)
  6609  	req.ApplyOptions(opts...)
  6610  	return out, req.Send()
  6611  }
  6612  
  6613  // Describes an agent version.
  6614  type AgentVersion struct {
  6615  	_ struct{} `type:"structure"`
  6616  
  6617  	// The configuration manager.
  6618  	ConfigurationManager *StackConfigurationManager `type:"structure"`
  6619  
  6620  	// The agent version.
  6621  	Version *string `type:"string"`
  6622  }
  6623  
  6624  // String returns the string representation.
  6625  //
  6626  // API parameter values that are decorated as "sensitive" in the API will not
  6627  // be included in the string output. The member name will be present, but the
  6628  // value will be replaced with "sensitive".
  6629  func (s AgentVersion) String() string {
  6630  	return awsutil.Prettify(s)
  6631  }
  6632  
  6633  // GoString returns the string representation.
  6634  //
  6635  // API parameter values that are decorated as "sensitive" in the API will not
  6636  // be included in the string output. The member name will be present, but the
  6637  // value will be replaced with "sensitive".
  6638  func (s AgentVersion) GoString() string {
  6639  	return s.String()
  6640  }
  6641  
  6642  // SetConfigurationManager sets the ConfigurationManager field's value.
  6643  func (s *AgentVersion) SetConfigurationManager(v *StackConfigurationManager) *AgentVersion {
  6644  	s.ConfigurationManager = v
  6645  	return s
  6646  }
  6647  
  6648  // SetVersion sets the Version field's value.
  6649  func (s *AgentVersion) SetVersion(v string) *AgentVersion {
  6650  	s.Version = &v
  6651  	return s
  6652  }
  6653  
  6654  // A description of the app.
  6655  type App struct {
  6656  	_ struct{} `type:"structure"`
  6657  
  6658  	// The app ID.
  6659  	AppId *string `type:"string"`
  6660  
  6661  	// A Source object that describes the app repository.
  6662  	AppSource *Source `type:"structure"`
  6663  
  6664  	// The stack attributes.
  6665  	Attributes map[string]*string `type:"map"`
  6666  
  6667  	// When the app was created.
  6668  	CreatedAt *string `type:"string"`
  6669  
  6670  	// The app's data sources.
  6671  	DataSources []*DataSource `type:"list"`
  6672  
  6673  	// A description of the app.
  6674  	Description *string `type:"string"`
  6675  
  6676  	// The app vhost settings with multiple domains separated by commas. For example:
  6677  	// 'www.example.com, example.com'
  6678  	Domains []*string `type:"list"`
  6679  
  6680  	// Whether to enable SSL for the app.
  6681  	EnableSsl *bool `type:"boolean"`
  6682  
  6683  	// An array of EnvironmentVariable objects that specify environment variables
  6684  	// to be associated with the app. After you deploy the app, these variables
  6685  	// are defined on the associated app server instances. For more information,
  6686  	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
  6687  	//
  6688  	// There is no specific limit on the number of environment variables. However,
  6689  	// the size of the associated data structure - which includes the variable names,
  6690  	// values, and protected flag values - cannot exceed 20 KB. This limit should
  6691  	// accommodate most if not all use cases, but if you do exceed it, you will
  6692  	// cause an exception (API) with an "Environment: is too large (maximum is 20
  6693  	// KB)" message.
  6694  	Environment []*EnvironmentVariable `type:"list"`
  6695  
  6696  	// The app name.
  6697  	Name *string `type:"string"`
  6698  
  6699  	// The app's short name.
  6700  	Shortname *string `type:"string"`
  6701  
  6702  	// An SslConfiguration object with the SSL configuration.
  6703  	SslConfiguration *SslConfiguration `type:"structure"`
  6704  
  6705  	// The app stack ID.
  6706  	StackId *string `type:"string"`
  6707  
  6708  	// The app type.
  6709  	Type *string `type:"string" enum:"AppType"`
  6710  }
  6711  
  6712  // String returns the string representation.
  6713  //
  6714  // API parameter values that are decorated as "sensitive" in the API will not
  6715  // be included in the string output. The member name will be present, but the
  6716  // value will be replaced with "sensitive".
  6717  func (s App) String() string {
  6718  	return awsutil.Prettify(s)
  6719  }
  6720  
  6721  // GoString returns the string representation.
  6722  //
  6723  // API parameter values that are decorated as "sensitive" in the API will not
  6724  // be included in the string output. The member name will be present, but the
  6725  // value will be replaced with "sensitive".
  6726  func (s App) GoString() string {
  6727  	return s.String()
  6728  }
  6729  
  6730  // SetAppId sets the AppId field's value.
  6731  func (s *App) SetAppId(v string) *App {
  6732  	s.AppId = &v
  6733  	return s
  6734  }
  6735  
  6736  // SetAppSource sets the AppSource field's value.
  6737  func (s *App) SetAppSource(v *Source) *App {
  6738  	s.AppSource = v
  6739  	return s
  6740  }
  6741  
  6742  // SetAttributes sets the Attributes field's value.
  6743  func (s *App) SetAttributes(v map[string]*string) *App {
  6744  	s.Attributes = v
  6745  	return s
  6746  }
  6747  
  6748  // SetCreatedAt sets the CreatedAt field's value.
  6749  func (s *App) SetCreatedAt(v string) *App {
  6750  	s.CreatedAt = &v
  6751  	return s
  6752  }
  6753  
  6754  // SetDataSources sets the DataSources field's value.
  6755  func (s *App) SetDataSources(v []*DataSource) *App {
  6756  	s.DataSources = v
  6757  	return s
  6758  }
  6759  
  6760  // SetDescription sets the Description field's value.
  6761  func (s *App) SetDescription(v string) *App {
  6762  	s.Description = &v
  6763  	return s
  6764  }
  6765  
  6766  // SetDomains sets the Domains field's value.
  6767  func (s *App) SetDomains(v []*string) *App {
  6768  	s.Domains = v
  6769  	return s
  6770  }
  6771  
  6772  // SetEnableSsl sets the EnableSsl field's value.
  6773  func (s *App) SetEnableSsl(v bool) *App {
  6774  	s.EnableSsl = &v
  6775  	return s
  6776  }
  6777  
  6778  // SetEnvironment sets the Environment field's value.
  6779  func (s *App) SetEnvironment(v []*EnvironmentVariable) *App {
  6780  	s.Environment = v
  6781  	return s
  6782  }
  6783  
  6784  // SetName sets the Name field's value.
  6785  func (s *App) SetName(v string) *App {
  6786  	s.Name = &v
  6787  	return s
  6788  }
  6789  
  6790  // SetShortname sets the Shortname field's value.
  6791  func (s *App) SetShortname(v string) *App {
  6792  	s.Shortname = &v
  6793  	return s
  6794  }
  6795  
  6796  // SetSslConfiguration sets the SslConfiguration field's value.
  6797  func (s *App) SetSslConfiguration(v *SslConfiguration) *App {
  6798  	s.SslConfiguration = v
  6799  	return s
  6800  }
  6801  
  6802  // SetStackId sets the StackId field's value.
  6803  func (s *App) SetStackId(v string) *App {
  6804  	s.StackId = &v
  6805  	return s
  6806  }
  6807  
  6808  // SetType sets the Type field's value.
  6809  func (s *App) SetType(v string) *App {
  6810  	s.Type = &v
  6811  	return s
  6812  }
  6813  
  6814  type AssignInstanceInput struct {
  6815  	_ struct{} `type:"structure"`
  6816  
  6817  	// The instance ID.
  6818  	//
  6819  	// InstanceId is a required field
  6820  	InstanceId *string `type:"string" required:"true"`
  6821  
  6822  	// The layer ID, which must correspond to a custom layer. You cannot assign
  6823  	// a registered instance to a built-in layer.
  6824  	//
  6825  	// LayerIds is a required field
  6826  	LayerIds []*string `type:"list" required:"true"`
  6827  }
  6828  
  6829  // String returns the string representation.
  6830  //
  6831  // API parameter values that are decorated as "sensitive" in the API will not
  6832  // be included in the string output. The member name will be present, but the
  6833  // value will be replaced with "sensitive".
  6834  func (s AssignInstanceInput) String() string {
  6835  	return awsutil.Prettify(s)
  6836  }
  6837  
  6838  // GoString returns the string representation.
  6839  //
  6840  // API parameter values that are decorated as "sensitive" in the API will not
  6841  // be included in the string output. The member name will be present, but the
  6842  // value will be replaced with "sensitive".
  6843  func (s AssignInstanceInput) GoString() string {
  6844  	return s.String()
  6845  }
  6846  
  6847  // Validate inspects the fields of the type to determine if they are valid.
  6848  func (s *AssignInstanceInput) Validate() error {
  6849  	invalidParams := request.ErrInvalidParams{Context: "AssignInstanceInput"}
  6850  	if s.InstanceId == nil {
  6851  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  6852  	}
  6853  	if s.LayerIds == nil {
  6854  		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
  6855  	}
  6856  
  6857  	if invalidParams.Len() > 0 {
  6858  		return invalidParams
  6859  	}
  6860  	return nil
  6861  }
  6862  
  6863  // SetInstanceId sets the InstanceId field's value.
  6864  func (s *AssignInstanceInput) SetInstanceId(v string) *AssignInstanceInput {
  6865  	s.InstanceId = &v
  6866  	return s
  6867  }
  6868  
  6869  // SetLayerIds sets the LayerIds field's value.
  6870  func (s *AssignInstanceInput) SetLayerIds(v []*string) *AssignInstanceInput {
  6871  	s.LayerIds = v
  6872  	return s
  6873  }
  6874  
  6875  type AssignInstanceOutput struct {
  6876  	_ struct{} `type:"structure"`
  6877  }
  6878  
  6879  // String returns the string representation.
  6880  //
  6881  // API parameter values that are decorated as "sensitive" in the API will not
  6882  // be included in the string output. The member name will be present, but the
  6883  // value will be replaced with "sensitive".
  6884  func (s AssignInstanceOutput) String() string {
  6885  	return awsutil.Prettify(s)
  6886  }
  6887  
  6888  // GoString returns the string representation.
  6889  //
  6890  // API parameter values that are decorated as "sensitive" in the API will not
  6891  // be included in the string output. The member name will be present, but the
  6892  // value will be replaced with "sensitive".
  6893  func (s AssignInstanceOutput) GoString() string {
  6894  	return s.String()
  6895  }
  6896  
  6897  type AssignVolumeInput struct {
  6898  	_ struct{} `type:"structure"`
  6899  
  6900  	// The instance ID.
  6901  	InstanceId *string `type:"string"`
  6902  
  6903  	// The volume ID.
  6904  	//
  6905  	// VolumeId is a required field
  6906  	VolumeId *string `type:"string" required:"true"`
  6907  }
  6908  
  6909  // String returns the string representation.
  6910  //
  6911  // API parameter values that are decorated as "sensitive" in the API will not
  6912  // be included in the string output. The member name will be present, but the
  6913  // value will be replaced with "sensitive".
  6914  func (s AssignVolumeInput) String() string {
  6915  	return awsutil.Prettify(s)
  6916  }
  6917  
  6918  // GoString returns the string representation.
  6919  //
  6920  // API parameter values that are decorated as "sensitive" in the API will not
  6921  // be included in the string output. The member name will be present, but the
  6922  // value will be replaced with "sensitive".
  6923  func (s AssignVolumeInput) GoString() string {
  6924  	return s.String()
  6925  }
  6926  
  6927  // Validate inspects the fields of the type to determine if they are valid.
  6928  func (s *AssignVolumeInput) Validate() error {
  6929  	invalidParams := request.ErrInvalidParams{Context: "AssignVolumeInput"}
  6930  	if s.VolumeId == nil {
  6931  		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  6932  	}
  6933  
  6934  	if invalidParams.Len() > 0 {
  6935  		return invalidParams
  6936  	}
  6937  	return nil
  6938  }
  6939  
  6940  // SetInstanceId sets the InstanceId field's value.
  6941  func (s *AssignVolumeInput) SetInstanceId(v string) *AssignVolumeInput {
  6942  	s.InstanceId = &v
  6943  	return s
  6944  }
  6945  
  6946  // SetVolumeId sets the VolumeId field's value.
  6947  func (s *AssignVolumeInput) SetVolumeId(v string) *AssignVolumeInput {
  6948  	s.VolumeId = &v
  6949  	return s
  6950  }
  6951  
  6952  type AssignVolumeOutput struct {
  6953  	_ struct{} `type:"structure"`
  6954  }
  6955  
  6956  // String returns the string representation.
  6957  //
  6958  // API parameter values that are decorated as "sensitive" in the API will not
  6959  // be included in the string output. The member name will be present, but the
  6960  // value will be replaced with "sensitive".
  6961  func (s AssignVolumeOutput) String() string {
  6962  	return awsutil.Prettify(s)
  6963  }
  6964  
  6965  // GoString returns the string representation.
  6966  //
  6967  // API parameter values that are decorated as "sensitive" in the API will not
  6968  // be included in the string output. The member name will be present, but the
  6969  // value will be replaced with "sensitive".
  6970  func (s AssignVolumeOutput) GoString() string {
  6971  	return s.String()
  6972  }
  6973  
  6974  type AssociateElasticIpInput struct {
  6975  	_ struct{} `type:"structure"`
  6976  
  6977  	// The Elastic IP address.
  6978  	//
  6979  	// ElasticIp is a required field
  6980  	ElasticIp *string `type:"string" required:"true"`
  6981  
  6982  	// The instance ID.
  6983  	InstanceId *string `type:"string"`
  6984  }
  6985  
  6986  // String returns the string representation.
  6987  //
  6988  // API parameter values that are decorated as "sensitive" in the API will not
  6989  // be included in the string output. The member name will be present, but the
  6990  // value will be replaced with "sensitive".
  6991  func (s AssociateElasticIpInput) String() string {
  6992  	return awsutil.Prettify(s)
  6993  }
  6994  
  6995  // GoString returns the string representation.
  6996  //
  6997  // API parameter values that are decorated as "sensitive" in the API will not
  6998  // be included in the string output. The member name will be present, but the
  6999  // value will be replaced with "sensitive".
  7000  func (s AssociateElasticIpInput) GoString() string {
  7001  	return s.String()
  7002  }
  7003  
  7004  // Validate inspects the fields of the type to determine if they are valid.
  7005  func (s *AssociateElasticIpInput) Validate() error {
  7006  	invalidParams := request.ErrInvalidParams{Context: "AssociateElasticIpInput"}
  7007  	if s.ElasticIp == nil {
  7008  		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
  7009  	}
  7010  
  7011  	if invalidParams.Len() > 0 {
  7012  		return invalidParams
  7013  	}
  7014  	return nil
  7015  }
  7016  
  7017  // SetElasticIp sets the ElasticIp field's value.
  7018  func (s *AssociateElasticIpInput) SetElasticIp(v string) *AssociateElasticIpInput {
  7019  	s.ElasticIp = &v
  7020  	return s
  7021  }
  7022  
  7023  // SetInstanceId sets the InstanceId field's value.
  7024  func (s *AssociateElasticIpInput) SetInstanceId(v string) *AssociateElasticIpInput {
  7025  	s.InstanceId = &v
  7026  	return s
  7027  }
  7028  
  7029  type AssociateElasticIpOutput struct {
  7030  	_ struct{} `type:"structure"`
  7031  }
  7032  
  7033  // String returns the string representation.
  7034  //
  7035  // API parameter values that are decorated as "sensitive" in the API will not
  7036  // be included in the string output. The member name will be present, but the
  7037  // value will be replaced with "sensitive".
  7038  func (s AssociateElasticIpOutput) String() string {
  7039  	return awsutil.Prettify(s)
  7040  }
  7041  
  7042  // GoString returns the string representation.
  7043  //
  7044  // API parameter values that are decorated as "sensitive" in the API will not
  7045  // be included in the string output. The member name will be present, but the
  7046  // value will be replaced with "sensitive".
  7047  func (s AssociateElasticIpOutput) GoString() string {
  7048  	return s.String()
  7049  }
  7050  
  7051  type AttachElasticLoadBalancerInput struct {
  7052  	_ struct{} `type:"structure"`
  7053  
  7054  	// The Elastic Load Balancing instance's name.
  7055  	//
  7056  	// ElasticLoadBalancerName is a required field
  7057  	ElasticLoadBalancerName *string `type:"string" required:"true"`
  7058  
  7059  	// The ID of the layer to which the Elastic Load Balancing instance is to be
  7060  	// attached.
  7061  	//
  7062  	// LayerId is a required field
  7063  	LayerId *string `type:"string" required:"true"`
  7064  }
  7065  
  7066  // String returns the string representation.
  7067  //
  7068  // API parameter values that are decorated as "sensitive" in the API will not
  7069  // be included in the string output. The member name will be present, but the
  7070  // value will be replaced with "sensitive".
  7071  func (s AttachElasticLoadBalancerInput) String() string {
  7072  	return awsutil.Prettify(s)
  7073  }
  7074  
  7075  // GoString returns the string representation.
  7076  //
  7077  // API parameter values that are decorated as "sensitive" in the API will not
  7078  // be included in the string output. The member name will be present, but the
  7079  // value will be replaced with "sensitive".
  7080  func (s AttachElasticLoadBalancerInput) GoString() string {
  7081  	return s.String()
  7082  }
  7083  
  7084  // Validate inspects the fields of the type to determine if they are valid.
  7085  func (s *AttachElasticLoadBalancerInput) Validate() error {
  7086  	invalidParams := request.ErrInvalidParams{Context: "AttachElasticLoadBalancerInput"}
  7087  	if s.ElasticLoadBalancerName == nil {
  7088  		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
  7089  	}
  7090  	if s.LayerId == nil {
  7091  		invalidParams.Add(request.NewErrParamRequired("LayerId"))
  7092  	}
  7093  
  7094  	if invalidParams.Len() > 0 {
  7095  		return invalidParams
  7096  	}
  7097  	return nil
  7098  }
  7099  
  7100  // SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
  7101  func (s *AttachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *AttachElasticLoadBalancerInput {
  7102  	s.ElasticLoadBalancerName = &v
  7103  	return s
  7104  }
  7105  
  7106  // SetLayerId sets the LayerId field's value.
  7107  func (s *AttachElasticLoadBalancerInput) SetLayerId(v string) *AttachElasticLoadBalancerInput {
  7108  	s.LayerId = &v
  7109  	return s
  7110  }
  7111  
  7112  type AttachElasticLoadBalancerOutput struct {
  7113  	_ struct{} `type:"structure"`
  7114  }
  7115  
  7116  // String returns the string representation.
  7117  //
  7118  // API parameter values that are decorated as "sensitive" in the API will not
  7119  // be included in the string output. The member name will be present, but the
  7120  // value will be replaced with "sensitive".
  7121  func (s AttachElasticLoadBalancerOutput) String() string {
  7122  	return awsutil.Prettify(s)
  7123  }
  7124  
  7125  // GoString returns the string representation.
  7126  //
  7127  // API parameter values that are decorated as "sensitive" in the API will not
  7128  // be included in the string output. The member name will be present, but the
  7129  // value will be replaced with "sensitive".
  7130  func (s AttachElasticLoadBalancerOutput) GoString() string {
  7131  	return s.String()
  7132  }
  7133  
  7134  // Describes a load-based auto scaling upscaling or downscaling threshold configuration,
  7135  // which specifies when AWS OpsWorks Stacks starts or stops load-based instances.
  7136  type AutoScalingThresholds struct {
  7137  	_ struct{} `type:"structure"`
  7138  
  7139  	// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter
  7140  	// takes a list of up to five alarm names, which are case sensitive and must
  7141  	// be in the same region as the stack.
  7142  	//
  7143  	// To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms.
  7144  	// You can either have AWS OpsWorks Stacks update the role for you when you
  7145  	// first use this feature or you can edit the role manually. For more information,
  7146  	// see Allowing AWS OpsWorks Stacks to Act on Your Behalf (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html).
  7147  	Alarms []*string `type:"list"`
  7148  
  7149  	// The CPU utilization threshold, as a percent of the available CPU. A value
  7150  	// of -1 disables the threshold.
  7151  	CpuThreshold *float64 `type:"double"`
  7152  
  7153  	// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks
  7154  	// Stacks should ignore metrics and suppress additional scaling events. For
  7155  	// example, AWS OpsWorks Stacks adds new instances following an upscaling event
  7156  	// but the instances won't start reducing the load until they have been booted
  7157  	// and configured. There is no point in raising additional scaling events during
  7158  	// that operation, which typically takes several minutes. IgnoreMetricsTime
  7159  	// allows you to direct AWS OpsWorks Stacks to suppress scaling events long
  7160  	// enough to get the new instances online.
  7161  	IgnoreMetricsTime *int64 `min:"1" type:"integer"`
  7162  
  7163  	// The number of instances to add or remove when the load exceeds a threshold.
  7164  	InstanceCount *int64 `type:"integer"`
  7165  
  7166  	// The load threshold. A value of -1 disables the threshold. For more information
  7167  	// about how load is computed, see Load (computing) (http://en.wikipedia.org/wiki/Load_%28computing%29).
  7168  	LoadThreshold *float64 `type:"double"`
  7169  
  7170  	// The memory utilization threshold, as a percent of the available memory. A
  7171  	// value of -1 disables the threshold.
  7172  	MemoryThreshold *float64 `type:"double"`
  7173  
  7174  	// The amount of time, in minutes, that the load must exceed a threshold before
  7175  	// more instances are added or removed.
  7176  	ThresholdsWaitTime *int64 `min:"1" type:"integer"`
  7177  }
  7178  
  7179  // String returns the string representation.
  7180  //
  7181  // API parameter values that are decorated as "sensitive" in the API will not
  7182  // be included in the string output. The member name will be present, but the
  7183  // value will be replaced with "sensitive".
  7184  func (s AutoScalingThresholds) String() string {
  7185  	return awsutil.Prettify(s)
  7186  }
  7187  
  7188  // GoString returns the string representation.
  7189  //
  7190  // API parameter values that are decorated as "sensitive" in the API will not
  7191  // be included in the string output. The member name will be present, but the
  7192  // value will be replaced with "sensitive".
  7193  func (s AutoScalingThresholds) GoString() string {
  7194  	return s.String()
  7195  }
  7196  
  7197  // Validate inspects the fields of the type to determine if they are valid.
  7198  func (s *AutoScalingThresholds) Validate() error {
  7199  	invalidParams := request.ErrInvalidParams{Context: "AutoScalingThresholds"}
  7200  	if s.IgnoreMetricsTime != nil && *s.IgnoreMetricsTime < 1 {
  7201  		invalidParams.Add(request.NewErrParamMinValue("IgnoreMetricsTime", 1))
  7202  	}
  7203  	if s.ThresholdsWaitTime != nil && *s.ThresholdsWaitTime < 1 {
  7204  		invalidParams.Add(request.NewErrParamMinValue("ThresholdsWaitTime", 1))
  7205  	}
  7206  
  7207  	if invalidParams.Len() > 0 {
  7208  		return invalidParams
  7209  	}
  7210  	return nil
  7211  }
  7212  
  7213  // SetAlarms sets the Alarms field's value.
  7214  func (s *AutoScalingThresholds) SetAlarms(v []*string) *AutoScalingThresholds {
  7215  	s.Alarms = v
  7216  	return s
  7217  }
  7218  
  7219  // SetCpuThreshold sets the CpuThreshold field's value.
  7220  func (s *AutoScalingThresholds) SetCpuThreshold(v float64) *AutoScalingThresholds {
  7221  	s.CpuThreshold = &v
  7222  	return s
  7223  }
  7224  
  7225  // SetIgnoreMetricsTime sets the IgnoreMetricsTime field's value.
  7226  func (s *AutoScalingThresholds) SetIgnoreMetricsTime(v int64) *AutoScalingThresholds {
  7227  	s.IgnoreMetricsTime = &v
  7228  	return s
  7229  }
  7230  
  7231  // SetInstanceCount sets the InstanceCount field's value.
  7232  func (s *AutoScalingThresholds) SetInstanceCount(v int64) *AutoScalingThresholds {
  7233  	s.InstanceCount = &v
  7234  	return s
  7235  }
  7236  
  7237  // SetLoadThreshold sets the LoadThreshold field's value.
  7238  func (s *AutoScalingThresholds) SetLoadThreshold(v float64) *AutoScalingThresholds {
  7239  	s.LoadThreshold = &v
  7240  	return s
  7241  }
  7242  
  7243  // SetMemoryThreshold sets the MemoryThreshold field's value.
  7244  func (s *AutoScalingThresholds) SetMemoryThreshold(v float64) *AutoScalingThresholds {
  7245  	s.MemoryThreshold = &v
  7246  	return s
  7247  }
  7248  
  7249  // SetThresholdsWaitTime sets the ThresholdsWaitTime field's value.
  7250  func (s *AutoScalingThresholds) SetThresholdsWaitTime(v int64) *AutoScalingThresholds {
  7251  	s.ThresholdsWaitTime = &v
  7252  	return s
  7253  }
  7254  
  7255  // Describes a block device mapping. This data type maps directly to the Amazon
  7256  // EC2 BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
  7257  // data type.
  7258  type BlockDeviceMapping struct {
  7259  	_ struct{} `type:"structure"`
  7260  
  7261  	// The device name that is exposed to the instance, such as /dev/sdh. For the
  7262  	// root device, you can use the explicit device name or you can set this parameter
  7263  	// to ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.
  7264  	DeviceName *string `type:"string"`
  7265  
  7266  	// An EBSBlockDevice that defines how to configure an Amazon EBS volume when
  7267  	// the instance is launched.
  7268  	Ebs *EbsBlockDevice `type:"structure"`
  7269  
  7270  	// Suppresses the specified device included in the AMI's block device mapping.
  7271  	NoDevice *string `type:"string"`
  7272  
  7273  	// The virtual device name. For more information, see BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html).
  7274  	VirtualName *string `type:"string"`
  7275  }
  7276  
  7277  // String returns the string representation.
  7278  //
  7279  // API parameter values that are decorated as "sensitive" in the API will not
  7280  // be included in the string output. The member name will be present, but the
  7281  // value will be replaced with "sensitive".
  7282  func (s BlockDeviceMapping) String() string {
  7283  	return awsutil.Prettify(s)
  7284  }
  7285  
  7286  // GoString returns the string representation.
  7287  //
  7288  // API parameter values that are decorated as "sensitive" in the API will not
  7289  // be included in the string output. The member name will be present, but the
  7290  // value will be replaced with "sensitive".
  7291  func (s BlockDeviceMapping) GoString() string {
  7292  	return s.String()
  7293  }
  7294  
  7295  // SetDeviceName sets the DeviceName field's value.
  7296  func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  7297  	s.DeviceName = &v
  7298  	return s
  7299  }
  7300  
  7301  // SetEbs sets the Ebs field's value.
  7302  func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  7303  	s.Ebs = v
  7304  	return s
  7305  }
  7306  
  7307  // SetNoDevice sets the NoDevice field's value.
  7308  func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  7309  	s.NoDevice = &v
  7310  	return s
  7311  }
  7312  
  7313  // SetVirtualName sets the VirtualName field's value.
  7314  func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  7315  	s.VirtualName = &v
  7316  	return s
  7317  }
  7318  
  7319  // Describes the Chef configuration.
  7320  type ChefConfiguration struct {
  7321  	_ struct{} `type:"structure"`
  7322  
  7323  	// The Berkshelf version.
  7324  	BerkshelfVersion *string `type:"string"`
  7325  
  7326  	// Whether to enable Berkshelf.
  7327  	ManageBerkshelf *bool `type:"boolean"`
  7328  }
  7329  
  7330  // String returns the string representation.
  7331  //
  7332  // API parameter values that are decorated as "sensitive" in the API will not
  7333  // be included in the string output. The member name will be present, but the
  7334  // value will be replaced with "sensitive".
  7335  func (s ChefConfiguration) String() string {
  7336  	return awsutil.Prettify(s)
  7337  }
  7338  
  7339  // GoString returns the string representation.
  7340  //
  7341  // API parameter values that are decorated as "sensitive" in the API will not
  7342  // be included in the string output. The member name will be present, but the
  7343  // value will be replaced with "sensitive".
  7344  func (s ChefConfiguration) GoString() string {
  7345  	return s.String()
  7346  }
  7347  
  7348  // SetBerkshelfVersion sets the BerkshelfVersion field's value.
  7349  func (s *ChefConfiguration) SetBerkshelfVersion(v string) *ChefConfiguration {
  7350  	s.BerkshelfVersion = &v
  7351  	return s
  7352  }
  7353  
  7354  // SetManageBerkshelf sets the ManageBerkshelf field's value.
  7355  func (s *ChefConfiguration) SetManageBerkshelf(v bool) *ChefConfiguration {
  7356  	s.ManageBerkshelf = &v
  7357  	return s
  7358  }
  7359  
  7360  type CloneStackInput struct {
  7361  	_ struct{} `type:"structure"`
  7362  
  7363  	// The default AWS OpsWorks Stacks agent version. You have the following options:
  7364  	//
  7365  	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
  7366  	//    installs new agent versions on the stack's instances as soon as they are
  7367  	//    available.
  7368  	//
  7369  	//    * Fixed version - Set this parameter to your preferred agent version.
  7370  	//    To update the agent version, you must edit the stack configuration and
  7371  	//    specify a new version. AWS OpsWorks Stacks then automatically installs
  7372  	//    that version on the stack's instances.
  7373  	//
  7374  	// The default setting is LATEST. To specify an agent version, you must use
  7375  	// the complete version number, not the abbreviated number shown on the console.
  7376  	// For a list of available agent version numbers, call DescribeAgentVersions.
  7377  	// AgentVersion cannot be set to Chef 12.2.
  7378  	//
  7379  	// You can also specify an agent version when you create or update an instance,
  7380  	// which overrides the stack's default setting.
  7381  	AgentVersion *string `type:"string"`
  7382  
  7383  	// A list of stack attributes and values as key/value pairs to be added to the
  7384  	// cloned stack.
  7385  	Attributes map[string]*string `type:"map"`
  7386  
  7387  	// A ChefConfiguration object that specifies whether to enable Berkshelf and
  7388  	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
  7389  	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
  7390  	ChefConfiguration *ChefConfiguration `type:"structure"`
  7391  
  7392  	// A list of source stack app IDs to be included in the cloned stack.
  7393  	CloneAppIds []*string `type:"list"`
  7394  
  7395  	// Whether to clone the source stack's permissions.
  7396  	ClonePermissions *bool `type:"boolean"`
  7397  
  7398  	// The configuration manager. When you clone a stack we recommend that you use
  7399  	// the configuration manager to specify the Chef version: 12, 11.10, or 11.4
  7400  	// for Linux stacks, or 12.2 for Windows stacks. The default value for Linux
  7401  	// stacks is currently 12.
  7402  	ConfigurationManager *StackConfigurationManager `type:"structure"`
  7403  
  7404  	// Contains the information required to retrieve an app or cookbook from a repository.
  7405  	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
  7406  	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
  7407  	CustomCookbooksSource *Source `type:"structure"`
  7408  
  7409  	// A string that contains user-defined, custom JSON. It is used to override
  7410  	// the corresponding default stack configuration JSON values. The string should
  7411  	// be in the following format:
  7412  	//
  7413  	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
  7414  	//
  7415  	// For more information about custom JSON, see Use Custom JSON to Modify the
  7416  	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
  7417  	CustomJson *string `type:"string"`
  7418  
  7419  	// The cloned stack's default Availability Zone, which must be in the specified
  7420  	// region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  7421  	// If you also specify a value for DefaultSubnetId, the subnet must be in the
  7422  	// same zone. For more information, see the VpcId parameter description.
  7423  	DefaultAvailabilityZone *string `type:"string"`
  7424  
  7425  	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
  7426  	// for all of the stack's EC2 instances. For more information about IAM ARNs,
  7427  	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
  7428  	DefaultInstanceProfileArn *string `type:"string"`
  7429  
  7430  	// The stack's operating system, which must be set to one of the following.
  7431  	//
  7432  	//    * A supported Linux operating system: An Amazon Linux version, such as
  7433  	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
  7434  	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
  7435  	//    2015.03.
  7436  	//
  7437  	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
  7438  	//    14.04 LTS, or Ubuntu 12.04 LTS.
  7439  	//
  7440  	//    * CentOS Linux 7
  7441  	//
  7442  	//    * Red Hat Enterprise Linux 7
  7443  	//
  7444  	//    * Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012
  7445  	//    R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL
  7446  	//    Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.
  7447  	//
  7448  	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
  7449  	//    you create instances. For more information about how to use custom AMIs
  7450  	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
  7451  	//
  7452  	// The default option is the parent stack's operating system. For more information
  7453  	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
  7454  	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
  7455  	//
  7456  	// You can specify a different Linux operating system for the cloned stack,
  7457  	// but you cannot change from Linux to Windows or Windows to Linux.
  7458  	DefaultOs *string `type:"string"`
  7459  
  7460  	// The default root device type. This value is used by default for all instances
  7461  	// in the cloned stack, but you can override it when you create an instance.
  7462  	// For more information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
  7463  	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
  7464  
  7465  	// A default Amazon EC2 key pair name. The default value is none. If you specify
  7466  	// a key pair name, AWS OpsWorks installs the public key on the instance and
  7467  	// you can use the private key with an SSH client to log in to the instance.
  7468  	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
  7469  	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
  7470  	// You can override this setting by specifying a different key pair, or no key
  7471  	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
  7472  	DefaultSshKeyName *string `type:"string"`
  7473  
  7474  	// The stack's default VPC subnet ID. This parameter is required if you specify
  7475  	// a value for the VpcId parameter. All instances are launched into this subnet
  7476  	// unless you specify otherwise when you create the instance. If you also specify
  7477  	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
  7478  	// information on default values and when this parameter is required, see the
  7479  	// VpcId parameter description.
  7480  	DefaultSubnetId *string `type:"string"`
  7481  
  7482  	// The stack's host name theme, with spaces are replaced by underscores. The
  7483  	// theme is used to generate host names for the stack's instances. By default,
  7484  	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
  7485  	// integers to the layer's short name. The other themes are:
  7486  	//
  7487  	//    * Baked_Goods
  7488  	//
  7489  	//    * Clouds
  7490  	//
  7491  	//    * Europe_Cities
  7492  	//
  7493  	//    * Fruits
  7494  	//
  7495  	//    * Greek_Deities_and_Titans
  7496  	//
  7497  	//    * Legendary_creatures_from_Japan
  7498  	//
  7499  	//    * Planets_and_Moons
  7500  	//
  7501  	//    * Roman_Deities
  7502  	//
  7503  	//    * Scottish_Islands
  7504  	//
  7505  	//    * US_Cities
  7506  	//
  7507  	//    * Wild_Cats
  7508  	//
  7509  	// To obtain a generated host name, call GetHostNameSuggestion, which returns
  7510  	// a host name based on the current theme.
  7511  	HostnameTheme *string `type:"string"`
  7512  
  7513  	// The cloned stack name.
  7514  	Name *string `type:"string"`
  7515  
  7516  	// The cloned stack AWS region, such as "ap-northeast-2". For more information
  7517  	// about AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  7518  	Region *string `type:"string"`
  7519  
  7520  	// The stack AWS Identity and Access Management (IAM) role, which allows AWS
  7521  	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
  7522  	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. If
  7523  	// you create a stack by using the AWS OpsWorks Stacks console, it creates the
  7524  	// role for you. You can obtain an existing stack's IAM ARN programmatically
  7525  	// by calling DescribePermissions. For more information about IAM ARNs, see
  7526  	// Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
  7527  	//
  7528  	// You must set this parameter to a valid service role ARN or the action will
  7529  	// fail; there is no default value. You can specify the source stack's service
  7530  	// role ARN, if you prefer, but you must do so explicitly.
  7531  	//
  7532  	// ServiceRoleArn is a required field
  7533  	ServiceRoleArn *string `type:"string" required:"true"`
  7534  
  7535  	// The source stack ID.
  7536  	//
  7537  	// SourceStackId is a required field
  7538  	SourceStackId *string `type:"string" required:"true"`
  7539  
  7540  	// Whether to use custom cookbooks.
  7541  	UseCustomCookbooks *bool `type:"boolean"`
  7542  
  7543  	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
  7544  	// the stack's layers.
  7545  	//
  7546  	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
  7547  	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
  7548  	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
  7549  	// has the following settings:
  7550  	//
  7551  	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
  7552  	//    built-in security group with each layer (default setting). You can associate
  7553  	//    additional security groups with a layer after you create it but you cannot
  7554  	//    delete the built-in security group.
  7555  	//
  7556  	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
  7557  	//    with layers. You must create appropriate Amazon Elastic Compute Cloud
  7558  	//    (Amazon EC2) security groups and associate a security group with each
  7559  	//    layer that you create. However, you can still manually associate a built-in
  7560  	//    security group with a layer on creation; custom security groups are required
  7561  	//    only for those layers that need custom settings.
  7562  	//
  7563  	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
  7564  	UseOpsworksSecurityGroups *bool `type:"boolean"`
  7565  
  7566  	// The ID of the VPC that the cloned stack is to be launched into. It must be
  7567  	// in the specified region. All instances are launched into this VPC, and you
  7568  	// cannot change the ID later.
  7569  	//
  7570  	//    * If your account supports EC2 Classic, the default value is no VPC.
  7571  	//
  7572  	//    * If your account does not support EC2 Classic, the default value is the
  7573  	//    default VPC for the specified region.
  7574  	//
  7575  	// If the VPC ID corresponds to a default VPC and you have specified either
  7576  	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
  7577  	// Stacks infers the value of the other parameter. If you specify neither parameter,
  7578  	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
  7579  	// Zone for the specified region and the corresponding default VPC subnet ID,
  7580  	// respectively.
  7581  	//
  7582  	// If you specify a nondefault VPC ID, note the following:
  7583  	//
  7584  	//    * It must belong to a VPC in your account that is in the specified region.
  7585  	//
  7586  	//    * You must specify a value for DefaultSubnetId.
  7587  	//
  7588  	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
  7589  	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
  7590  	// For more information about default VPC and EC2 Classic, see Supported Platforms
  7591  	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
  7592  	VpcId *string `type:"string"`
  7593  }
  7594  
  7595  // String returns the string representation.
  7596  //
  7597  // API parameter values that are decorated as "sensitive" in the API will not
  7598  // be included in the string output. The member name will be present, but the
  7599  // value will be replaced with "sensitive".
  7600  func (s CloneStackInput) String() string {
  7601  	return awsutil.Prettify(s)
  7602  }
  7603  
  7604  // GoString returns the string representation.
  7605  //
  7606  // API parameter values that are decorated as "sensitive" in the API will not
  7607  // be included in the string output. The member name will be present, but the
  7608  // value will be replaced with "sensitive".
  7609  func (s CloneStackInput) GoString() string {
  7610  	return s.String()
  7611  }
  7612  
  7613  // Validate inspects the fields of the type to determine if they are valid.
  7614  func (s *CloneStackInput) Validate() error {
  7615  	invalidParams := request.ErrInvalidParams{Context: "CloneStackInput"}
  7616  	if s.ServiceRoleArn == nil {
  7617  		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
  7618  	}
  7619  	if s.SourceStackId == nil {
  7620  		invalidParams.Add(request.NewErrParamRequired("SourceStackId"))
  7621  	}
  7622  
  7623  	if invalidParams.Len() > 0 {
  7624  		return invalidParams
  7625  	}
  7626  	return nil
  7627  }
  7628  
  7629  // SetAgentVersion sets the AgentVersion field's value.
  7630  func (s *CloneStackInput) SetAgentVersion(v string) *CloneStackInput {
  7631  	s.AgentVersion = &v
  7632  	return s
  7633  }
  7634  
  7635  // SetAttributes sets the Attributes field's value.
  7636  func (s *CloneStackInput) SetAttributes(v map[string]*string) *CloneStackInput {
  7637  	s.Attributes = v
  7638  	return s
  7639  }
  7640  
  7641  // SetChefConfiguration sets the ChefConfiguration field's value.
  7642  func (s *CloneStackInput) SetChefConfiguration(v *ChefConfiguration) *CloneStackInput {
  7643  	s.ChefConfiguration = v
  7644  	return s
  7645  }
  7646  
  7647  // SetCloneAppIds sets the CloneAppIds field's value.
  7648  func (s *CloneStackInput) SetCloneAppIds(v []*string) *CloneStackInput {
  7649  	s.CloneAppIds = v
  7650  	return s
  7651  }
  7652  
  7653  // SetClonePermissions sets the ClonePermissions field's value.
  7654  func (s *CloneStackInput) SetClonePermissions(v bool) *CloneStackInput {
  7655  	s.ClonePermissions = &v
  7656  	return s
  7657  }
  7658  
  7659  // SetConfigurationManager sets the ConfigurationManager field's value.
  7660  func (s *CloneStackInput) SetConfigurationManager(v *StackConfigurationManager) *CloneStackInput {
  7661  	s.ConfigurationManager = v
  7662  	return s
  7663  }
  7664  
  7665  // SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
  7666  func (s *CloneStackInput) SetCustomCookbooksSource(v *Source) *CloneStackInput {
  7667  	s.CustomCookbooksSource = v
  7668  	return s
  7669  }
  7670  
  7671  // SetCustomJson sets the CustomJson field's value.
  7672  func (s *CloneStackInput) SetCustomJson(v string) *CloneStackInput {
  7673  	s.CustomJson = &v
  7674  	return s
  7675  }
  7676  
  7677  // SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
  7678  func (s *CloneStackInput) SetDefaultAvailabilityZone(v string) *CloneStackInput {
  7679  	s.DefaultAvailabilityZone = &v
  7680  	return s
  7681  }
  7682  
  7683  // SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
  7684  func (s *CloneStackInput) SetDefaultInstanceProfileArn(v string) *CloneStackInput {
  7685  	s.DefaultInstanceProfileArn = &v
  7686  	return s
  7687  }
  7688  
  7689  // SetDefaultOs sets the DefaultOs field's value.
  7690  func (s *CloneStackInput) SetDefaultOs(v string) *CloneStackInput {
  7691  	s.DefaultOs = &v
  7692  	return s
  7693  }
  7694  
  7695  // SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
  7696  func (s *CloneStackInput) SetDefaultRootDeviceType(v string) *CloneStackInput {
  7697  	s.DefaultRootDeviceType = &v
  7698  	return s
  7699  }
  7700  
  7701  // SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
  7702  func (s *CloneStackInput) SetDefaultSshKeyName(v string) *CloneStackInput {
  7703  	s.DefaultSshKeyName = &v
  7704  	return s
  7705  }
  7706  
  7707  // SetDefaultSubnetId sets the DefaultSubnetId field's value.
  7708  func (s *CloneStackInput) SetDefaultSubnetId(v string) *CloneStackInput {
  7709  	s.DefaultSubnetId = &v
  7710  	return s
  7711  }
  7712  
  7713  // SetHostnameTheme sets the HostnameTheme field's value.
  7714  func (s *CloneStackInput) SetHostnameTheme(v string) *CloneStackInput {
  7715  	s.HostnameTheme = &v
  7716  	return s
  7717  }
  7718  
  7719  // SetName sets the Name field's value.
  7720  func (s *CloneStackInput) SetName(v string) *CloneStackInput {
  7721  	s.Name = &v
  7722  	return s
  7723  }
  7724  
  7725  // SetRegion sets the Region field's value.
  7726  func (s *CloneStackInput) SetRegion(v string) *CloneStackInput {
  7727  	s.Region = &v
  7728  	return s
  7729  }
  7730  
  7731  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  7732  func (s *CloneStackInput) SetServiceRoleArn(v string) *CloneStackInput {
  7733  	s.ServiceRoleArn = &v
  7734  	return s
  7735  }
  7736  
  7737  // SetSourceStackId sets the SourceStackId field's value.
  7738  func (s *CloneStackInput) SetSourceStackId(v string) *CloneStackInput {
  7739  	s.SourceStackId = &v
  7740  	return s
  7741  }
  7742  
  7743  // SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
  7744  func (s *CloneStackInput) SetUseCustomCookbooks(v bool) *CloneStackInput {
  7745  	s.UseCustomCookbooks = &v
  7746  	return s
  7747  }
  7748  
  7749  // SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
  7750  func (s *CloneStackInput) SetUseOpsworksSecurityGroups(v bool) *CloneStackInput {
  7751  	s.UseOpsworksSecurityGroups = &v
  7752  	return s
  7753  }
  7754  
  7755  // SetVpcId sets the VpcId field's value.
  7756  func (s *CloneStackInput) SetVpcId(v string) *CloneStackInput {
  7757  	s.VpcId = &v
  7758  	return s
  7759  }
  7760  
  7761  // Contains the response to a CloneStack request.
  7762  type CloneStackOutput struct {
  7763  	_ struct{} `type:"structure"`
  7764  
  7765  	// The cloned stack ID.
  7766  	StackId *string `type:"string"`
  7767  }
  7768  
  7769  // String returns the string representation.
  7770  //
  7771  // API parameter values that are decorated as "sensitive" in the API will not
  7772  // be included in the string output. The member name will be present, but the
  7773  // value will be replaced with "sensitive".
  7774  func (s CloneStackOutput) String() string {
  7775  	return awsutil.Prettify(s)
  7776  }
  7777  
  7778  // GoString returns the string representation.
  7779  //
  7780  // API parameter values that are decorated as "sensitive" in the API will not
  7781  // be included in the string output. The member name will be present, but the
  7782  // value will be replaced with "sensitive".
  7783  func (s CloneStackOutput) GoString() string {
  7784  	return s.String()
  7785  }
  7786  
  7787  // SetStackId sets the StackId field's value.
  7788  func (s *CloneStackOutput) SetStackId(v string) *CloneStackOutput {
  7789  	s.StackId = &v
  7790  	return s
  7791  }
  7792  
  7793  // Describes the Amazon CloudWatch logs configuration for a layer.
  7794  type CloudWatchLogsConfiguration struct {
  7795  	_ struct{} `type:"structure"`
  7796  
  7797  	// Whether CloudWatch Logs is enabled for a layer.
  7798  	Enabled *bool `type:"boolean"`
  7799  
  7800  	// A list of configuration options for CloudWatch Logs.
  7801  	LogStreams []*CloudWatchLogsLogStream `type:"list"`
  7802  }
  7803  
  7804  // String returns the string representation.
  7805  //
  7806  // API parameter values that are decorated as "sensitive" in the API will not
  7807  // be included in the string output. The member name will be present, but the
  7808  // value will be replaced with "sensitive".
  7809  func (s CloudWatchLogsConfiguration) String() string {
  7810  	return awsutil.Prettify(s)
  7811  }
  7812  
  7813  // GoString returns the string representation.
  7814  //
  7815  // API parameter values that are decorated as "sensitive" in the API will not
  7816  // be included in the string output. The member name will be present, but the
  7817  // value will be replaced with "sensitive".
  7818  func (s CloudWatchLogsConfiguration) GoString() string {
  7819  	return s.String()
  7820  }
  7821  
  7822  // SetEnabled sets the Enabled field's value.
  7823  func (s *CloudWatchLogsConfiguration) SetEnabled(v bool) *CloudWatchLogsConfiguration {
  7824  	s.Enabled = &v
  7825  	return s
  7826  }
  7827  
  7828  // SetLogStreams sets the LogStreams field's value.
  7829  func (s *CloudWatchLogsConfiguration) SetLogStreams(v []*CloudWatchLogsLogStream) *CloudWatchLogsConfiguration {
  7830  	s.LogStreams = v
  7831  	return s
  7832  }
  7833  
  7834  // Describes the Amazon CloudWatch logs configuration for a layer. For detailed
  7835  // information about members of this data type, see the CloudWatch Logs Agent
  7836  // Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
  7837  type CloudWatchLogsLogStream struct {
  7838  	_ struct{} `type:"structure"`
  7839  
  7840  	// Specifies the max number of log events in a batch, up to 10000. The default
  7841  	// value is 1000.
  7842  	BatchCount *int64 `type:"integer"`
  7843  
  7844  	// Specifies the maximum size of log events in a batch, in bytes, up to 1048576
  7845  	// bytes. The default value is 32768 bytes. This size is calculated as the sum
  7846  	// of all event messages in UTF-8, plus 26 bytes for each log event.
  7847  	BatchSize *int64 `type:"integer"`
  7848  
  7849  	// Specifies the time duration for the batching of log events. The minimum value
  7850  	// is 5000ms and default value is 5000ms.
  7851  	BufferDuration *int64 `type:"integer"`
  7852  
  7853  	// Specifies how the time stamp is extracted from logs. For more information,
  7854  	// see the CloudWatch Logs Agent Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
  7855  	DatetimeFormat *string `type:"string"`
  7856  
  7857  	// Specifies the encoding of the log file so that the file can be read correctly.
  7858  	// The default is utf_8. Encodings supported by Python codecs.decode() can be
  7859  	// used here.
  7860  	Encoding *string `type:"string" enum:"CloudWatchLogsEncoding"`
  7861  
  7862  	// Specifies log files that you want to push to CloudWatch Logs.
  7863  	//
  7864  	// File can point to a specific file or multiple files (by using wild card characters
  7865  	// such as /var/log/system.log*). Only the latest file is pushed to CloudWatch
  7866  	// Logs, based on file modification time. We recommend that you use wild card
  7867  	// characters to specify a series of files of the same type, such as access_log.2014-06-01-01,
  7868  	// access_log.2014-06-01-02, and so on by using a pattern like access_log.*.
  7869  	// Don't use a wildcard to match multiple file types, such as access_log_80
  7870  	// and access_log_443. To specify multiple, different file types, add another
  7871  	// log stream entry to the configuration file, so that each log file type is
  7872  	// stored in a different log group.
  7873  	//
  7874  	// Zipped files are not supported.
  7875  	File *string `type:"string"`
  7876  
  7877  	// Specifies the range of lines for identifying a file. The valid values are
  7878  	// one number, or two dash-delimited numbers, such as '1', '2-5'. The default
  7879  	// value is '1', meaning the first line is used to calculate the fingerprint.
  7880  	// Fingerprint lines are not sent to CloudWatch Logs unless all specified lines
  7881  	// are available.
  7882  	FileFingerprintLines *string `type:"string"`
  7883  
  7884  	// Specifies where to start to read data (start_of_file or end_of_file). The
  7885  	// default is start_of_file. This setting is only used if there is no state
  7886  	// persisted for that log stream.
  7887  	InitialPosition *string `type:"string" enum:"CloudWatchLogsInitialPosition"`
  7888  
  7889  	// Specifies the destination log group. A log group is created automatically
  7890  	// if it doesn't already exist. Log group names can be between 1 and 512 characters
  7891  	// long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen),
  7892  	// '/' (forward slash), and '.' (period).
  7893  	LogGroupName *string `type:"string"`
  7894  
  7895  	// Specifies the pattern for identifying the start of a log message.
  7896  	MultiLineStartPattern *string `type:"string"`
  7897  
  7898  	// Specifies the time zone of log event time stamps.
  7899  	TimeZone *string `type:"string" enum:"CloudWatchLogsTimeZone"`
  7900  }
  7901  
  7902  // String returns the string representation.
  7903  //
  7904  // API parameter values that are decorated as "sensitive" in the API will not
  7905  // be included in the string output. The member name will be present, but the
  7906  // value will be replaced with "sensitive".
  7907  func (s CloudWatchLogsLogStream) String() string {
  7908  	return awsutil.Prettify(s)
  7909  }
  7910  
  7911  // GoString returns the string representation.
  7912  //
  7913  // API parameter values that are decorated as "sensitive" in the API will not
  7914  // be included in the string output. The member name will be present, but the
  7915  // value will be replaced with "sensitive".
  7916  func (s CloudWatchLogsLogStream) GoString() string {
  7917  	return s.String()
  7918  }
  7919  
  7920  // SetBatchCount sets the BatchCount field's value.
  7921  func (s *CloudWatchLogsLogStream) SetBatchCount(v int64) *CloudWatchLogsLogStream {
  7922  	s.BatchCount = &v
  7923  	return s
  7924  }
  7925  
  7926  // SetBatchSize sets the BatchSize field's value.
  7927  func (s *CloudWatchLogsLogStream) SetBatchSize(v int64) *CloudWatchLogsLogStream {
  7928  	s.BatchSize = &v
  7929  	return s
  7930  }
  7931  
  7932  // SetBufferDuration sets the BufferDuration field's value.
  7933  func (s *CloudWatchLogsLogStream) SetBufferDuration(v int64) *CloudWatchLogsLogStream {
  7934  	s.BufferDuration = &v
  7935  	return s
  7936  }
  7937  
  7938  // SetDatetimeFormat sets the DatetimeFormat field's value.
  7939  func (s *CloudWatchLogsLogStream) SetDatetimeFormat(v string) *CloudWatchLogsLogStream {
  7940  	s.DatetimeFormat = &v
  7941  	return s
  7942  }
  7943  
  7944  // SetEncoding sets the Encoding field's value.
  7945  func (s *CloudWatchLogsLogStream) SetEncoding(v string) *CloudWatchLogsLogStream {
  7946  	s.Encoding = &v
  7947  	return s
  7948  }
  7949  
  7950  // SetFile sets the File field's value.
  7951  func (s *CloudWatchLogsLogStream) SetFile(v string) *CloudWatchLogsLogStream {
  7952  	s.File = &v
  7953  	return s
  7954  }
  7955  
  7956  // SetFileFingerprintLines sets the FileFingerprintLines field's value.
  7957  func (s *CloudWatchLogsLogStream) SetFileFingerprintLines(v string) *CloudWatchLogsLogStream {
  7958  	s.FileFingerprintLines = &v
  7959  	return s
  7960  }
  7961  
  7962  // SetInitialPosition sets the InitialPosition field's value.
  7963  func (s *CloudWatchLogsLogStream) SetInitialPosition(v string) *CloudWatchLogsLogStream {
  7964  	s.InitialPosition = &v
  7965  	return s
  7966  }
  7967  
  7968  // SetLogGroupName sets the LogGroupName field's value.
  7969  func (s *CloudWatchLogsLogStream) SetLogGroupName(v string) *CloudWatchLogsLogStream {
  7970  	s.LogGroupName = &v
  7971  	return s
  7972  }
  7973  
  7974  // SetMultiLineStartPattern sets the MultiLineStartPattern field's value.
  7975  func (s *CloudWatchLogsLogStream) SetMultiLineStartPattern(v string) *CloudWatchLogsLogStream {
  7976  	s.MultiLineStartPattern = &v
  7977  	return s
  7978  }
  7979  
  7980  // SetTimeZone sets the TimeZone field's value.
  7981  func (s *CloudWatchLogsLogStream) SetTimeZone(v string) *CloudWatchLogsLogStream {
  7982  	s.TimeZone = &v
  7983  	return s
  7984  }
  7985  
  7986  // Describes a command.
  7987  type Command struct {
  7988  	_ struct{} `type:"structure"`
  7989  
  7990  	// Date and time when the command was acknowledged.
  7991  	AcknowledgedAt *string `type:"string"`
  7992  
  7993  	// The command ID.
  7994  	CommandId *string `type:"string"`
  7995  
  7996  	// Date when the command completed.
  7997  	CompletedAt *string `type:"string"`
  7998  
  7999  	// Date and time when the command was run.
  8000  	CreatedAt *string `type:"string"`
  8001  
  8002  	// The command deployment ID.
  8003  	DeploymentId *string `type:"string"`
  8004  
  8005  	// The command exit code.
  8006  	ExitCode *int64 `type:"integer"`
  8007  
  8008  	// The ID of the instance where the command was executed.
  8009  	InstanceId *string `type:"string"`
  8010  
  8011  	// The URL of the command log.
  8012  	LogUrl *string `type:"string"`
  8013  
  8014  	// The command status:
  8015  	//
  8016  	//    * failed
  8017  	//
  8018  	//    * successful
  8019  	//
  8020  	//    * skipped
  8021  	//
  8022  	//    * pending
  8023  	Status *string `type:"string"`
  8024  
  8025  	// The command type:
  8026  	//
  8027  	//    * configure
  8028  	//
  8029  	//    * deploy
  8030  	//
  8031  	//    * execute_recipes
  8032  	//
  8033  	//    * install_dependencies
  8034  	//
  8035  	//    * restart
  8036  	//
  8037  	//    * rollback
  8038  	//
  8039  	//    * setup
  8040  	//
  8041  	//    * start
  8042  	//
  8043  	//    * stop
  8044  	//
  8045  	//    * undeploy
  8046  	//
  8047  	//    * update_custom_cookbooks
  8048  	//
  8049  	//    * update_dependencies
  8050  	Type *string `type:"string"`
  8051  }
  8052  
  8053  // String returns the string representation.
  8054  //
  8055  // API parameter values that are decorated as "sensitive" in the API will not
  8056  // be included in the string output. The member name will be present, but the
  8057  // value will be replaced with "sensitive".
  8058  func (s Command) String() string {
  8059  	return awsutil.Prettify(s)
  8060  }
  8061  
  8062  // GoString returns the string representation.
  8063  //
  8064  // API parameter values that are decorated as "sensitive" in the API will not
  8065  // be included in the string output. The member name will be present, but the
  8066  // value will be replaced with "sensitive".
  8067  func (s Command) GoString() string {
  8068  	return s.String()
  8069  }
  8070  
  8071  // SetAcknowledgedAt sets the AcknowledgedAt field's value.
  8072  func (s *Command) SetAcknowledgedAt(v string) *Command {
  8073  	s.AcknowledgedAt = &v
  8074  	return s
  8075  }
  8076  
  8077  // SetCommandId sets the CommandId field's value.
  8078  func (s *Command) SetCommandId(v string) *Command {
  8079  	s.CommandId = &v
  8080  	return s
  8081  }
  8082  
  8083  // SetCompletedAt sets the CompletedAt field's value.
  8084  func (s *Command) SetCompletedAt(v string) *Command {
  8085  	s.CompletedAt = &v
  8086  	return s
  8087  }
  8088  
  8089  // SetCreatedAt sets the CreatedAt field's value.
  8090  func (s *Command) SetCreatedAt(v string) *Command {
  8091  	s.CreatedAt = &v
  8092  	return s
  8093  }
  8094  
  8095  // SetDeploymentId sets the DeploymentId field's value.
  8096  func (s *Command) SetDeploymentId(v string) *Command {
  8097  	s.DeploymentId = &v
  8098  	return s
  8099  }
  8100  
  8101  // SetExitCode sets the ExitCode field's value.
  8102  func (s *Command) SetExitCode(v int64) *Command {
  8103  	s.ExitCode = &v
  8104  	return s
  8105  }
  8106  
  8107  // SetInstanceId sets the InstanceId field's value.
  8108  func (s *Command) SetInstanceId(v string) *Command {
  8109  	s.InstanceId = &v
  8110  	return s
  8111  }
  8112  
  8113  // SetLogUrl sets the LogUrl field's value.
  8114  func (s *Command) SetLogUrl(v string) *Command {
  8115  	s.LogUrl = &v
  8116  	return s
  8117  }
  8118  
  8119  // SetStatus sets the Status field's value.
  8120  func (s *Command) SetStatus(v string) *Command {
  8121  	s.Status = &v
  8122  	return s
  8123  }
  8124  
  8125  // SetType sets the Type field's value.
  8126  func (s *Command) SetType(v string) *Command {
  8127  	s.Type = &v
  8128  	return s
  8129  }
  8130  
  8131  type CreateAppInput struct {
  8132  	_ struct{} `type:"structure"`
  8133  
  8134  	// A Source object that specifies the app repository.
  8135  	AppSource *Source `type:"structure"`
  8136  
  8137  	// One or more user-defined key/value pairs to be added to the stack attributes.
  8138  	Attributes map[string]*string `type:"map"`
  8139  
  8140  	// The app's data source.
  8141  	DataSources []*DataSource `type:"list"`
  8142  
  8143  	// A description of the app.
  8144  	Description *string `type:"string"`
  8145  
  8146  	// The app virtual host settings, with multiple domains separated by commas.
  8147  	// For example: 'www.example.com, example.com'
  8148  	Domains []*string `type:"list"`
  8149  
  8150  	// Whether to enable SSL for the app.
  8151  	EnableSsl *bool `type:"boolean"`
  8152  
  8153  	// An array of EnvironmentVariable objects that specify environment variables
  8154  	// to be associated with the app. After you deploy the app, these variables
  8155  	// are defined on the associated app server instance. For more information,
  8156  	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
  8157  	//
  8158  	// There is no specific limit on the number of environment variables. However,
  8159  	// the size of the associated data structure - which includes the variables'
  8160  	// names, values, and protected flag values - cannot exceed 20 KB. This limit
  8161  	// should accommodate most if not all use cases. Exceeding it will cause an
  8162  	// exception with the message, "Environment: is too large (maximum is 20KB)."
  8163  	//
  8164  	// If you have specified one or more environment variables, you cannot modify
  8165  	// the stack's Chef version.
  8166  	Environment []*EnvironmentVariable `type:"list"`
  8167  
  8168  	// The app name.
  8169  	//
  8170  	// Name is a required field
  8171  	Name *string `type:"string" required:"true"`
  8172  
  8173  	// The app's short name.
  8174  	Shortname *string `type:"string"`
  8175  
  8176  	// An SslConfiguration object with the SSL configuration.
  8177  	SslConfiguration *SslConfiguration `type:"structure"`
  8178  
  8179  	// The stack ID.
  8180  	//
  8181  	// StackId is a required field
  8182  	StackId *string `type:"string" required:"true"`
  8183  
  8184  	// The app type. Each supported type is associated with a particular layer.
  8185  	// For example, PHP applications are associated with a PHP layer. AWS OpsWorks
  8186  	// Stacks deploys an application to those instances that are members of the
  8187  	// corresponding layer. If your app isn't one of the standard types, or you
  8188  	// prefer to implement your own Deploy recipes, specify other.
  8189  	//
  8190  	// Type is a required field
  8191  	Type *string `type:"string" required:"true" enum:"AppType"`
  8192  }
  8193  
  8194  // String returns the string representation.
  8195  //
  8196  // API parameter values that are decorated as "sensitive" in the API will not
  8197  // be included in the string output. The member name will be present, but the
  8198  // value will be replaced with "sensitive".
  8199  func (s CreateAppInput) String() string {
  8200  	return awsutil.Prettify(s)
  8201  }
  8202  
  8203  // GoString returns the string representation.
  8204  //
  8205  // API parameter values that are decorated as "sensitive" in the API will not
  8206  // be included in the string output. The member name will be present, but the
  8207  // value will be replaced with "sensitive".
  8208  func (s CreateAppInput) GoString() string {
  8209  	return s.String()
  8210  }
  8211  
  8212  // Validate inspects the fields of the type to determine if they are valid.
  8213  func (s *CreateAppInput) Validate() error {
  8214  	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
  8215  	if s.Name == nil {
  8216  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8217  	}
  8218  	if s.StackId == nil {
  8219  		invalidParams.Add(request.NewErrParamRequired("StackId"))
  8220  	}
  8221  	if s.Type == nil {
  8222  		invalidParams.Add(request.NewErrParamRequired("Type"))
  8223  	}
  8224  	if s.Environment != nil {
  8225  		for i, v := range s.Environment {
  8226  			if v == nil {
  8227  				continue
  8228  			}
  8229  			if err := v.Validate(); err != nil {
  8230  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
  8231  			}
  8232  		}
  8233  	}
  8234  	if s.SslConfiguration != nil {
  8235  		if err := s.SslConfiguration.Validate(); err != nil {
  8236  			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
  8237  		}
  8238  	}
  8239  
  8240  	if invalidParams.Len() > 0 {
  8241  		return invalidParams
  8242  	}
  8243  	return nil
  8244  }
  8245  
  8246  // SetAppSource sets the AppSource field's value.
  8247  func (s *CreateAppInput) SetAppSource(v *Source) *CreateAppInput {
  8248  	s.AppSource = v
  8249  	return s
  8250  }
  8251  
  8252  // SetAttributes sets the Attributes field's value.
  8253  func (s *CreateAppInput) SetAttributes(v map[string]*string) *CreateAppInput {
  8254  	s.Attributes = v
  8255  	return s
  8256  }
  8257  
  8258  // SetDataSources sets the DataSources field's value.
  8259  func (s *CreateAppInput) SetDataSources(v []*DataSource) *CreateAppInput {
  8260  	s.DataSources = v
  8261  	return s
  8262  }
  8263  
  8264  // SetDescription sets the Description field's value.
  8265  func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
  8266  	s.Description = &v
  8267  	return s
  8268  }
  8269  
  8270  // SetDomains sets the Domains field's value.
  8271  func (s *CreateAppInput) SetDomains(v []*string) *CreateAppInput {
  8272  	s.Domains = v
  8273  	return s
  8274  }
  8275  
  8276  // SetEnableSsl sets the EnableSsl field's value.
  8277  func (s *CreateAppInput) SetEnableSsl(v bool) *CreateAppInput {
  8278  	s.EnableSsl = &v
  8279  	return s
  8280  }
  8281  
  8282  // SetEnvironment sets the Environment field's value.
  8283  func (s *CreateAppInput) SetEnvironment(v []*EnvironmentVariable) *CreateAppInput {
  8284  	s.Environment = v
  8285  	return s
  8286  }
  8287  
  8288  // SetName sets the Name field's value.
  8289  func (s *CreateAppInput) SetName(v string) *CreateAppInput {
  8290  	s.Name = &v
  8291  	return s
  8292  }
  8293  
  8294  // SetShortname sets the Shortname field's value.
  8295  func (s *CreateAppInput) SetShortname(v string) *CreateAppInput {
  8296  	s.Shortname = &v
  8297  	return s
  8298  }
  8299  
  8300  // SetSslConfiguration sets the SslConfiguration field's value.
  8301  func (s *CreateAppInput) SetSslConfiguration(v *SslConfiguration) *CreateAppInput {
  8302  	s.SslConfiguration = v
  8303  	return s
  8304  }
  8305  
  8306  // SetStackId sets the StackId field's value.
  8307  func (s *CreateAppInput) SetStackId(v string) *CreateAppInput {
  8308  	s.StackId = &v
  8309  	return s
  8310  }
  8311  
  8312  // SetType sets the Type field's value.
  8313  func (s *CreateAppInput) SetType(v string) *CreateAppInput {
  8314  	s.Type = &v
  8315  	return s
  8316  }
  8317  
  8318  // Contains the response to a CreateApp request.
  8319  type CreateAppOutput struct {
  8320  	_ struct{} `type:"structure"`
  8321  
  8322  	// The app ID.
  8323  	AppId *string `type:"string"`
  8324  }
  8325  
  8326  // String returns the string representation.
  8327  //
  8328  // API parameter values that are decorated as "sensitive" in the API will not
  8329  // be included in the string output. The member name will be present, but the
  8330  // value will be replaced with "sensitive".
  8331  func (s CreateAppOutput) String() string {
  8332  	return awsutil.Prettify(s)
  8333  }
  8334  
  8335  // GoString returns the string representation.
  8336  //
  8337  // API parameter values that are decorated as "sensitive" in the API will not
  8338  // be included in the string output. The member name will be present, but the
  8339  // value will be replaced with "sensitive".
  8340  func (s CreateAppOutput) GoString() string {
  8341  	return s.String()
  8342  }
  8343  
  8344  // SetAppId sets the AppId field's value.
  8345  func (s *CreateAppOutput) SetAppId(v string) *CreateAppOutput {
  8346  	s.AppId = &v
  8347  	return s
  8348  }
  8349  
  8350  type CreateDeploymentInput struct {
  8351  	_ struct{} `type:"structure"`
  8352  
  8353  	// The app ID. This parameter is required for app deployments, but not for other
  8354  	// deployment commands.
  8355  	AppId *string `type:"string"`
  8356  
  8357  	// A DeploymentCommand object that specifies the deployment command and any
  8358  	// associated arguments.
  8359  	//
  8360  	// Command is a required field
  8361  	Command *DeploymentCommand `type:"structure" required:"true"`
  8362  
  8363  	// A user-defined comment.
  8364  	Comment *string `type:"string"`
  8365  
  8366  	// A string that contains user-defined, custom JSON. You can use this parameter
  8367  	// to override some corresponding default stack configuration JSON values. The
  8368  	// string should be in the following format:
  8369  	//
  8370  	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
  8371  	//
  8372  	// For more information about custom JSON, see Use Custom JSON to Modify the
  8373  	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
  8374  	// and Overriding Attributes With Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
  8375  	CustomJson *string `type:"string"`
  8376  
  8377  	// The instance IDs for the deployment targets.
  8378  	InstanceIds []*string `type:"list"`
  8379  
  8380  	// The layer IDs for the deployment targets.
  8381  	LayerIds []*string `type:"list"`
  8382  
  8383  	// The stack ID.
  8384  	//
  8385  	// StackId is a required field
  8386  	StackId *string `type:"string" required:"true"`
  8387  }
  8388  
  8389  // String returns the string representation.
  8390  //
  8391  // API parameter values that are decorated as "sensitive" in the API will not
  8392  // be included in the string output. The member name will be present, but the
  8393  // value will be replaced with "sensitive".
  8394  func (s CreateDeploymentInput) String() string {
  8395  	return awsutil.Prettify(s)
  8396  }
  8397  
  8398  // GoString returns the string representation.
  8399  //
  8400  // API parameter values that are decorated as "sensitive" in the API will not
  8401  // be included in the string output. The member name will be present, but the
  8402  // value will be replaced with "sensitive".
  8403  func (s CreateDeploymentInput) GoString() string {
  8404  	return s.String()
  8405  }
  8406  
  8407  // Validate inspects the fields of the type to determine if they are valid.
  8408  func (s *CreateDeploymentInput) Validate() error {
  8409  	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
  8410  	if s.Command == nil {
  8411  		invalidParams.Add(request.NewErrParamRequired("Command"))
  8412  	}
  8413  	if s.StackId == nil {
  8414  		invalidParams.Add(request.NewErrParamRequired("StackId"))
  8415  	}
  8416  	if s.Command != nil {
  8417  		if err := s.Command.Validate(); err != nil {
  8418  			invalidParams.AddNested("Command", err.(request.ErrInvalidParams))
  8419  		}
  8420  	}
  8421  
  8422  	if invalidParams.Len() > 0 {
  8423  		return invalidParams
  8424  	}
  8425  	return nil
  8426  }
  8427  
  8428  // SetAppId sets the AppId field's value.
  8429  func (s *CreateDeploymentInput) SetAppId(v string) *CreateDeploymentInput {
  8430  	s.AppId = &v
  8431  	return s
  8432  }
  8433  
  8434  // SetCommand sets the Command field's value.
  8435  func (s *CreateDeploymentInput) SetCommand(v *DeploymentCommand) *CreateDeploymentInput {
  8436  	s.Command = v
  8437  	return s
  8438  }
  8439  
  8440  // SetComment sets the Comment field's value.
  8441  func (s *CreateDeploymentInput) SetComment(v string) *CreateDeploymentInput {
  8442  	s.Comment = &v
  8443  	return s
  8444  }
  8445  
  8446  // SetCustomJson sets the CustomJson field's value.
  8447  func (s *CreateDeploymentInput) SetCustomJson(v string) *CreateDeploymentInput {
  8448  	s.CustomJson = &v
  8449  	return s
  8450  }
  8451  
  8452  // SetInstanceIds sets the InstanceIds field's value.
  8453  func (s *CreateDeploymentInput) SetInstanceIds(v []*string) *CreateDeploymentInput {
  8454  	s.InstanceIds = v
  8455  	return s
  8456  }
  8457  
  8458  // SetLayerIds sets the LayerIds field's value.
  8459  func (s *CreateDeploymentInput) SetLayerIds(v []*string) *CreateDeploymentInput {
  8460  	s.LayerIds = v
  8461  	return s
  8462  }
  8463  
  8464  // SetStackId sets the StackId field's value.
  8465  func (s *CreateDeploymentInput) SetStackId(v string) *CreateDeploymentInput {
  8466  	s.StackId = &v
  8467  	return s
  8468  }
  8469  
  8470  // Contains the response to a CreateDeployment request.
  8471  type CreateDeploymentOutput struct {
  8472  	_ struct{} `type:"structure"`
  8473  
  8474  	// The deployment ID, which can be used with other requests to identify the
  8475  	// deployment.
  8476  	DeploymentId *string `type:"string"`
  8477  }
  8478  
  8479  // String returns the string representation.
  8480  //
  8481  // API parameter values that are decorated as "sensitive" in the API will not
  8482  // be included in the string output. The member name will be present, but the
  8483  // value will be replaced with "sensitive".
  8484  func (s CreateDeploymentOutput) String() string {
  8485  	return awsutil.Prettify(s)
  8486  }
  8487  
  8488  // GoString returns the string representation.
  8489  //
  8490  // API parameter values that are decorated as "sensitive" in the API will not
  8491  // be included in the string output. The member name will be present, but the
  8492  // value will be replaced with "sensitive".
  8493  func (s CreateDeploymentOutput) GoString() string {
  8494  	return s.String()
  8495  }
  8496  
  8497  // SetDeploymentId sets the DeploymentId field's value.
  8498  func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
  8499  	s.DeploymentId = &v
  8500  	return s
  8501  }
  8502  
  8503  type CreateInstanceInput struct {
  8504  	_ struct{} `type:"structure"`
  8505  
  8506  	// The default AWS OpsWorks Stacks agent version. You have the following options:
  8507  	//
  8508  	//    * INHERIT - Use the stack's default agent version setting.
  8509  	//
  8510  	//    * version_number - Use the specified agent version. This value overrides
  8511  	//    the stack's default setting. To update the agent version, edit the instance
  8512  	//    configuration and specify a new version. AWS OpsWorks Stacks then automatically
  8513  	//    installs that version on the instance.
  8514  	//
  8515  	// The default setting is INHERIT. To specify an agent version, you must use
  8516  	// the complete version number, not the abbreviated number shown on the console.
  8517  	// For a list of available agent version numbers, call DescribeAgentVersions.
  8518  	// AgentVersion cannot be set to Chef 12.2.
  8519  	AgentVersion *string `type:"string"`
  8520  
  8521  	// A custom AMI ID to be used to create the instance. The AMI should be based
  8522  	// on one of the supported operating systems. For more information, see Using
  8523  	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
  8524  	//
  8525  	// If you specify a custom AMI, you must set Os to Custom.
  8526  	AmiId *string `type:"string"`
  8527  
  8528  	// The instance architecture. The default option is x86_64. Instance types do
  8529  	// not necessarily support both architectures. For a list of the architectures
  8530  	// that are supported by the different instance types, see Instance Families
  8531  	// and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  8532  	Architecture *string `type:"string" enum:"Architecture"`
  8533  
  8534  	// For load-based or time-based instances, the type. Windows stacks can use
  8535  	// only time-based instances.
  8536  	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
  8537  
  8538  	// The instance Availability Zone. For more information, see Regions and Endpoints
  8539  	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  8540  	AvailabilityZone *string `type:"string"`
  8541  
  8542  	// An array of BlockDeviceMapping objects that specify the instance's block
  8543  	// devices. For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html).
  8544  	// Note that block device mappings are not supported for custom AMIs.
  8545  	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
  8546  
  8547  	// Whether to create an Amazon EBS-optimized instance.
  8548  	EbsOptimized *bool `type:"boolean"`
  8549  
  8550  	// The instance host name.
  8551  	Hostname *string `type:"string"`
  8552  
  8553  	// Whether to install operating system and package updates when the instance
  8554  	// boots. The default value is true. To control when updates are installed,
  8555  	// set this value to false. You must then update your instances manually by
  8556  	// using CreateDeployment to run the update_dependencies stack command or by
  8557  	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
  8558  	//
  8559  	// We strongly recommend using the default value of true to ensure that your
  8560  	// instances have the latest security updates.
  8561  	InstallUpdatesOnBoot *bool `type:"boolean"`
  8562  
  8563  	// The instance type, such as t2.micro. For a list of supported instance types,
  8564  	// open the stack in the console, choose Instances, and choose + Instance. The
  8565  	// Size list contains the currently supported types. For more information, see
  8566  	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  8567  	// The parameter values that you use to specify the various types are in the
  8568  	// API Name column of the Available Instance Types table.
  8569  	//
  8570  	// InstanceType is a required field
  8571  	InstanceType *string `type:"string" required:"true"`
  8572  
  8573  	// An array that contains the instance's layer IDs.
  8574  	//
  8575  	// LayerIds is a required field
  8576  	LayerIds []*string `type:"list" required:"true"`
  8577  
  8578  	// The instance's operating system, which must be set to one of the following.
  8579  	//
  8580  	//    * A supported Linux operating system: An Amazon Linux version, such as
  8581  	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
  8582  	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
  8583  	//    2015.03.
  8584  	//
  8585  	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
  8586  	//    14.04 LTS, or Ubuntu 12.04 LTS.
  8587  	//
  8588  	//    * CentOS Linux 7
  8589  	//
  8590  	//    * Red Hat Enterprise Linux 7
  8591  	//
  8592  	//    * A supported Windows operating system, such as Microsoft Windows Server
  8593  	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
  8594  	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
  8595  	//    Windows Server 2012 R2 with SQL Server Web.
  8596  	//
  8597  	//    * A custom AMI: Custom.
  8598  	//
  8599  	// For more information about the supported operating systems, see AWS OpsWorks
  8600  	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
  8601  	//
  8602  	// The default option is the current Amazon Linux version. If you set this parameter
  8603  	// to Custom, you must use the CreateInstance action's AmiId parameter to specify
  8604  	// the custom AMI that you want to use. Block device mappings are not supported
  8605  	// if the value is Custom. For more information about supported operating systems,
  8606  	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html)For
  8607  	// more information about how to use custom AMIs with AWS OpsWorks Stacks, see
  8608  	// Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
  8609  	Os *string `type:"string"`
  8610  
  8611  	// The instance root device type. For more information, see Storage for the
  8612  	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
  8613  	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
  8614  
  8615  	// The instance's Amazon EC2 key-pair name.
  8616  	SshKeyName *string `type:"string"`
  8617  
  8618  	// The stack ID.
  8619  	//
  8620  	// StackId is a required field
  8621  	StackId *string `type:"string" required:"true"`
  8622  
  8623  	// The ID of the instance's subnet. If the stack is running in a VPC, you can
  8624  	// use this parameter to override the stack's default subnet ID value and direct
  8625  	// AWS OpsWorks Stacks to launch the instance in a different subnet.
  8626  	SubnetId *string `type:"string"`
  8627  
  8628  	// The instance's tenancy option. The default option is no tenancy, or if the
  8629  	// instance is running in a VPC, inherit tenancy settings from the VPC. The
  8630  	// following are valid values for this parameter: dedicated, default, or host.
  8631  	// Because there are costs associated with changes in tenancy options, we recommend
  8632  	// that you research tenancy options before choosing them for your instances.
  8633  	// For more information about dedicated hosts, see Dedicated Hosts Overview
  8634  	// (http://aws.amazon.com/ec2/dedicated-hosts/) and Amazon EC2 Dedicated Hosts
  8635  	// (http://aws.amazon.com/ec2/dedicated-hosts/). For more information about
  8636  	// dedicated instances, see Dedicated Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html)
  8637  	// and Amazon EC2 Dedicated Instances (http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/).
  8638  	Tenancy *string `type:"string"`
  8639  
  8640  	// The instance's virtualization type, paravirtual or hvm.
  8641  	VirtualizationType *string `type:"string"`
  8642  }
  8643  
  8644  // String returns the string representation.
  8645  //
  8646  // API parameter values that are decorated as "sensitive" in the API will not
  8647  // be included in the string output. The member name will be present, but the
  8648  // value will be replaced with "sensitive".
  8649  func (s CreateInstanceInput) String() string {
  8650  	return awsutil.Prettify(s)
  8651  }
  8652  
  8653  // GoString returns the string representation.
  8654  //
  8655  // API parameter values that are decorated as "sensitive" in the API will not
  8656  // be included in the string output. The member name will be present, but the
  8657  // value will be replaced with "sensitive".
  8658  func (s CreateInstanceInput) GoString() string {
  8659  	return s.String()
  8660  }
  8661  
  8662  // Validate inspects the fields of the type to determine if they are valid.
  8663  func (s *CreateInstanceInput) Validate() error {
  8664  	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceInput"}
  8665  	if s.InstanceType == nil {
  8666  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  8667  	}
  8668  	if s.LayerIds == nil {
  8669  		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
  8670  	}
  8671  	if s.StackId == nil {
  8672  		invalidParams.Add(request.NewErrParamRequired("StackId"))
  8673  	}
  8674  
  8675  	if invalidParams.Len() > 0 {
  8676  		return invalidParams
  8677  	}
  8678  	return nil
  8679  }
  8680  
  8681  // SetAgentVersion sets the AgentVersion field's value.
  8682  func (s *CreateInstanceInput) SetAgentVersion(v string) *CreateInstanceInput {
  8683  	s.AgentVersion = &v
  8684  	return s
  8685  }
  8686  
  8687  // SetAmiId sets the AmiId field's value.
  8688  func (s *CreateInstanceInput) SetAmiId(v string) *CreateInstanceInput {
  8689  	s.AmiId = &v
  8690  	return s
  8691  }
  8692  
  8693  // SetArchitecture sets the Architecture field's value.
  8694  func (s *CreateInstanceInput) SetArchitecture(v string) *CreateInstanceInput {
  8695  	s.Architecture = &v
  8696  	return s
  8697  }
  8698  
  8699  // SetAutoScalingType sets the AutoScalingType field's value.
  8700  func (s *CreateInstanceInput) SetAutoScalingType(v string) *CreateInstanceInput {
  8701  	s.AutoScalingType = &v
  8702  	return s
  8703  }
  8704  
  8705  // SetAvailabilityZone sets the AvailabilityZone field's value.
  8706  func (s *CreateInstanceInput) SetAvailabilityZone(v string) *CreateInstanceInput {
  8707  	s.AvailabilityZone = &v
  8708  	return s
  8709  }
  8710  
  8711  // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  8712  func (s *CreateInstanceInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateInstanceInput {
  8713  	s.BlockDeviceMappings = v
  8714  	return s
  8715  }
  8716  
  8717  // SetEbsOptimized sets the EbsOptimized field's value.
  8718  func (s *CreateInstanceInput) SetEbsOptimized(v bool) *CreateInstanceInput {
  8719  	s.EbsOptimized = &v
  8720  	return s
  8721  }
  8722  
  8723  // SetHostname sets the Hostname field's value.
  8724  func (s *CreateInstanceInput) SetHostname(v string) *CreateInstanceInput {
  8725  	s.Hostname = &v
  8726  	return s
  8727  }
  8728  
  8729  // SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
  8730  func (s *CreateInstanceInput) SetInstallUpdatesOnBoot(v bool) *CreateInstanceInput {
  8731  	s.InstallUpdatesOnBoot = &v
  8732  	return s
  8733  }
  8734  
  8735  // SetInstanceType sets the InstanceType field's value.
  8736  func (s *CreateInstanceInput) SetInstanceType(v string) *CreateInstanceInput {
  8737  	s.InstanceType = &v
  8738  	return s
  8739  }
  8740  
  8741  // SetLayerIds sets the LayerIds field's value.
  8742  func (s *CreateInstanceInput) SetLayerIds(v []*string) *CreateInstanceInput {
  8743  	s.LayerIds = v
  8744  	return s
  8745  }
  8746  
  8747  // SetOs sets the Os field's value.
  8748  func (s *CreateInstanceInput) SetOs(v string) *CreateInstanceInput {
  8749  	s.Os = &v
  8750  	return s
  8751  }
  8752  
  8753  // SetRootDeviceType sets the RootDeviceType field's value.
  8754  func (s *CreateInstanceInput) SetRootDeviceType(v string) *CreateInstanceInput {
  8755  	s.RootDeviceType = &v
  8756  	return s
  8757  }
  8758  
  8759  // SetSshKeyName sets the SshKeyName field's value.
  8760  func (s *CreateInstanceInput) SetSshKeyName(v string) *CreateInstanceInput {
  8761  	s.SshKeyName = &v
  8762  	return s
  8763  }
  8764  
  8765  // SetStackId sets the StackId field's value.
  8766  func (s *CreateInstanceInput) SetStackId(v string) *CreateInstanceInput {
  8767  	s.StackId = &v
  8768  	return s
  8769  }
  8770  
  8771  // SetSubnetId sets the SubnetId field's value.
  8772  func (s *CreateInstanceInput) SetSubnetId(v string) *CreateInstanceInput {
  8773  	s.SubnetId = &v
  8774  	return s
  8775  }
  8776  
  8777  // SetTenancy sets the Tenancy field's value.
  8778  func (s *CreateInstanceInput) SetTenancy(v string) *CreateInstanceInput {
  8779  	s.Tenancy = &v
  8780  	return s
  8781  }
  8782  
  8783  // SetVirtualizationType sets the VirtualizationType field's value.
  8784  func (s *CreateInstanceInput) SetVirtualizationType(v string) *CreateInstanceInput {
  8785  	s.VirtualizationType = &v
  8786  	return s
  8787  }
  8788  
  8789  // Contains the response to a CreateInstance request.
  8790  type CreateInstanceOutput struct {
  8791  	_ struct{} `type:"structure"`
  8792  
  8793  	// The instance ID.
  8794  	InstanceId *string `type:"string"`
  8795  }
  8796  
  8797  // String returns the string representation.
  8798  //
  8799  // API parameter values that are decorated as "sensitive" in the API will not
  8800  // be included in the string output. The member name will be present, but the
  8801  // value will be replaced with "sensitive".
  8802  func (s CreateInstanceOutput) String() string {
  8803  	return awsutil.Prettify(s)
  8804  }
  8805  
  8806  // GoString returns the string representation.
  8807  //
  8808  // API parameter values that are decorated as "sensitive" in the API will not
  8809  // be included in the string output. The member name will be present, but the
  8810  // value will be replaced with "sensitive".
  8811  func (s CreateInstanceOutput) GoString() string {
  8812  	return s.String()
  8813  }
  8814  
  8815  // SetInstanceId sets the InstanceId field's value.
  8816  func (s *CreateInstanceOutput) SetInstanceId(v string) *CreateInstanceOutput {
  8817  	s.InstanceId = &v
  8818  	return s
  8819  }
  8820  
  8821  type CreateLayerInput struct {
  8822  	_ struct{} `type:"structure"`
  8823  
  8824  	// One or more user-defined key-value pairs to be added to the stack attributes.
  8825  	//
  8826  	// To create a cluster layer, set the EcsClusterArn attribute to the cluster's
  8827  	// ARN.
  8828  	Attributes map[string]*string `type:"map"`
  8829  
  8830  	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  8831  	// to the layer's instances. For more information, see How to Edit a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
  8832  	AutoAssignElasticIps *bool `type:"boolean"`
  8833  
  8834  	// For stacks that are running in a VPC, whether to automatically assign a public
  8835  	// IP address to the layer's instances. For more information, see How to Edit
  8836  	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
  8837  	AutoAssignPublicIps *bool `type:"boolean"`
  8838  
  8839  	// Specifies CloudWatch Logs configuration options for the layer. For more information,
  8840  	// see CloudWatchLogsLogStream.
  8841  	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
  8842  
  8843  	// The ARN of an IAM profile to be used for the layer's EC2 instances. For more
  8844  	// information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
  8845  	CustomInstanceProfileArn *string `type:"string"`
  8846  
  8847  	// A JSON-formatted string containing custom stack configuration and deployment
  8848  	// attributes to be installed on the layer's instances. For more information,
  8849  	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
  8850  	// This feature is supported as of version 1.7.42 of the AWS CLI.
  8851  	CustomJson *string `type:"string"`
  8852  
  8853  	// A LayerCustomRecipes object that specifies the layer custom recipes.
  8854  	CustomRecipes *Recipes `type:"structure"`
  8855  
  8856  	// An array containing the layer custom security group IDs.
  8857  	CustomSecurityGroupIds []*string `type:"list"`
  8858  
  8859  	// Whether to disable auto healing for the layer.
  8860  	EnableAutoHealing *bool `type:"boolean"`
  8861  
  8862  	// Whether to install operating system and package updates when the instance
  8863  	// boots. The default value is true. To control when updates are installed,
  8864  	// set this value to false. You must then update your instances manually by
  8865  	// using CreateDeployment to run the update_dependencies stack command or by
  8866  	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
  8867  	//
  8868  	// To ensure that your instances have the latest security updates, we strongly
  8869  	// recommend using the default value of true.
  8870  	InstallUpdatesOnBoot *bool `type:"boolean"`
  8871  
  8872  	// A LifeCycleEventConfiguration object that you can use to configure the Shutdown
  8873  	// event to specify an execution timeout and enable or disable Elastic Load
  8874  	// Balancer connection draining.
  8875  	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
  8876  
  8877  	// The layer name, which is used by the console.
  8878  	//
  8879  	// Name is a required field
  8880  	Name *string `type:"string" required:"true"`
  8881  
  8882  	// An array of Package objects that describes the layer packages.
  8883  	Packages []*string `type:"list"`
  8884  
  8885  	// For custom layers only, use this parameter to specify the layer's short name,
  8886  	// which is used internally by AWS OpsWorks Stacks and by Chef recipes. The
  8887  	// short name is also used as the name for the directory where your app files
  8888  	// are installed. It can have a maximum of 200 characters, which are limited
  8889  	// to the alphanumeric characters, '-', '_', and '.'.
  8890  	//
  8891  	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
  8892  	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html).
  8893  	//
  8894  	// Shortname is a required field
  8895  	Shortname *string `type:"string" required:"true"`
  8896  
  8897  	// The layer stack ID.
  8898  	//
  8899  	// StackId is a required field
  8900  	StackId *string `type:"string" required:"true"`
  8901  
  8902  	// The layer type. A stack cannot have more than one built-in layer of the same
  8903  	// type. It can have any number of custom layers. Built-in layers are not available
  8904  	// in Chef 12 stacks.
  8905  	//
  8906  	// Type is a required field
  8907  	Type *string `type:"string" required:"true" enum:"LayerType"`
  8908  
  8909  	// Whether to use Amazon EBS-optimized instances.
  8910  	UseEbsOptimizedInstances *bool `type:"boolean"`
  8911  
  8912  	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
  8913  	VolumeConfigurations []*VolumeConfiguration `type:"list"`
  8914  }
  8915  
  8916  // String returns the string representation.
  8917  //
  8918  // API parameter values that are decorated as "sensitive" in the API will not
  8919  // be included in the string output. The member name will be present, but the
  8920  // value will be replaced with "sensitive".
  8921  func (s CreateLayerInput) String() string {
  8922  	return awsutil.Prettify(s)
  8923  }
  8924  
  8925  // GoString returns the string representation.
  8926  //
  8927  // API parameter values that are decorated as "sensitive" in the API will not
  8928  // be included in the string output. The member name will be present, but the
  8929  // value will be replaced with "sensitive".
  8930  func (s CreateLayerInput) GoString() string {
  8931  	return s.String()
  8932  }
  8933  
  8934  // Validate inspects the fields of the type to determine if they are valid.
  8935  func (s *CreateLayerInput) Validate() error {
  8936  	invalidParams := request.ErrInvalidParams{Context: "CreateLayerInput"}
  8937  	if s.Name == nil {
  8938  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8939  	}
  8940  	if s.Shortname == nil {
  8941  		invalidParams.Add(request.NewErrParamRequired("Shortname"))
  8942  	}
  8943  	if s.StackId == nil {
  8944  		invalidParams.Add(request.NewErrParamRequired("StackId"))
  8945  	}
  8946  	if s.Type == nil {
  8947  		invalidParams.Add(request.NewErrParamRequired("Type"))
  8948  	}
  8949  	if s.VolumeConfigurations != nil {
  8950  		for i, v := range s.VolumeConfigurations {
  8951  			if v == nil {
  8952  				continue
  8953  			}
  8954  			if err := v.Validate(); err != nil {
  8955  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
  8956  			}
  8957  		}
  8958  	}
  8959  
  8960  	if invalidParams.Len() > 0 {
  8961  		return invalidParams
  8962  	}
  8963  	return nil
  8964  }
  8965  
  8966  // SetAttributes sets the Attributes field's value.
  8967  func (s *CreateLayerInput) SetAttributes(v map[string]*string) *CreateLayerInput {
  8968  	s.Attributes = v
  8969  	return s
  8970  }
  8971  
  8972  // SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
  8973  func (s *CreateLayerInput) SetAutoAssignElasticIps(v bool) *CreateLayerInput {
  8974  	s.AutoAssignElasticIps = &v
  8975  	return s
  8976  }
  8977  
  8978  // SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
  8979  func (s *CreateLayerInput) SetAutoAssignPublicIps(v bool) *CreateLayerInput {
  8980  	s.AutoAssignPublicIps = &v
  8981  	return s
  8982  }
  8983  
  8984  // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
  8985  func (s *CreateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *CreateLayerInput {
  8986  	s.CloudWatchLogsConfiguration = v
  8987  	return s
  8988  }
  8989  
  8990  // SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
  8991  func (s *CreateLayerInput) SetCustomInstanceProfileArn(v string) *CreateLayerInput {
  8992  	s.CustomInstanceProfileArn = &v
  8993  	return s
  8994  }
  8995  
  8996  // SetCustomJson sets the CustomJson field's value.
  8997  func (s *CreateLayerInput) SetCustomJson(v string) *CreateLayerInput {
  8998  	s.CustomJson = &v
  8999  	return s
  9000  }
  9001  
  9002  // SetCustomRecipes sets the CustomRecipes field's value.
  9003  func (s *CreateLayerInput) SetCustomRecipes(v *Recipes) *CreateLayerInput {
  9004  	s.CustomRecipes = v
  9005  	return s
  9006  }
  9007  
  9008  // SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
  9009  func (s *CreateLayerInput) SetCustomSecurityGroupIds(v []*string) *CreateLayerInput {
  9010  	s.CustomSecurityGroupIds = v
  9011  	return s
  9012  }
  9013  
  9014  // SetEnableAutoHealing sets the EnableAutoHealing field's value.
  9015  func (s *CreateLayerInput) SetEnableAutoHealing(v bool) *CreateLayerInput {
  9016  	s.EnableAutoHealing = &v
  9017  	return s
  9018  }
  9019  
  9020  // SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
  9021  func (s *CreateLayerInput) SetInstallUpdatesOnBoot(v bool) *CreateLayerInput {
  9022  	s.InstallUpdatesOnBoot = &v
  9023  	return s
  9024  }
  9025  
  9026  // SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
  9027  func (s *CreateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *CreateLayerInput {
  9028  	s.LifecycleEventConfiguration = v
  9029  	return s
  9030  }
  9031  
  9032  // SetName sets the Name field's value.
  9033  func (s *CreateLayerInput) SetName(v string) *CreateLayerInput {
  9034  	s.Name = &v
  9035  	return s
  9036  }
  9037  
  9038  // SetPackages sets the Packages field's value.
  9039  func (s *CreateLayerInput) SetPackages(v []*string) *CreateLayerInput {
  9040  	s.Packages = v
  9041  	return s
  9042  }
  9043  
  9044  // SetShortname sets the Shortname field's value.
  9045  func (s *CreateLayerInput) SetShortname(v string) *CreateLayerInput {
  9046  	s.Shortname = &v
  9047  	return s
  9048  }
  9049  
  9050  // SetStackId sets the StackId field's value.
  9051  func (s *CreateLayerInput) SetStackId(v string) *CreateLayerInput {
  9052  	s.StackId = &v
  9053  	return s
  9054  }
  9055  
  9056  // SetType sets the Type field's value.
  9057  func (s *CreateLayerInput) SetType(v string) *CreateLayerInput {
  9058  	s.Type = &v
  9059  	return s
  9060  }
  9061  
  9062  // SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
  9063  func (s *CreateLayerInput) SetUseEbsOptimizedInstances(v bool) *CreateLayerInput {
  9064  	s.UseEbsOptimizedInstances = &v
  9065  	return s
  9066  }
  9067  
  9068  // SetVolumeConfigurations sets the VolumeConfigurations field's value.
  9069  func (s *CreateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *CreateLayerInput {
  9070  	s.VolumeConfigurations = v
  9071  	return s
  9072  }
  9073  
  9074  // Contains the response to a CreateLayer request.
  9075  type CreateLayerOutput struct {
  9076  	_ struct{} `type:"structure"`
  9077  
  9078  	// The layer ID.
  9079  	LayerId *string `type:"string"`
  9080  }
  9081  
  9082  // String returns the string representation.
  9083  //
  9084  // API parameter values that are decorated as "sensitive" in the API will not
  9085  // be included in the string output. The member name will be present, but the
  9086  // value will be replaced with "sensitive".
  9087  func (s CreateLayerOutput) String() string {
  9088  	return awsutil.Prettify(s)
  9089  }
  9090  
  9091  // GoString returns the string representation.
  9092  //
  9093  // API parameter values that are decorated as "sensitive" in the API will not
  9094  // be included in the string output. The member name will be present, but the
  9095  // value will be replaced with "sensitive".
  9096  func (s CreateLayerOutput) GoString() string {
  9097  	return s.String()
  9098  }
  9099  
  9100  // SetLayerId sets the LayerId field's value.
  9101  func (s *CreateLayerOutput) SetLayerId(v string) *CreateLayerOutput {
  9102  	s.LayerId = &v
  9103  	return s
  9104  }
  9105  
  9106  type CreateStackInput struct {
  9107  	_ struct{} `type:"structure"`
  9108  
  9109  	// The default AWS OpsWorks Stacks agent version. You have the following options:
  9110  	//
  9111  	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
  9112  	//    installs new agent versions on the stack's instances as soon as they are
  9113  	//    available.
  9114  	//
  9115  	//    * Fixed version - Set this parameter to your preferred agent version.
  9116  	//    To update the agent version, you must edit the stack configuration and
  9117  	//    specify a new version. AWS OpsWorks Stacks then automatically installs
  9118  	//    that version on the stack's instances.
  9119  	//
  9120  	// The default setting is the most recent release of the agent. To specify an
  9121  	// agent version, you must use the complete version number, not the abbreviated
  9122  	// number shown on the console. For a list of available agent version numbers,
  9123  	// call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.
  9124  	//
  9125  	// You can also specify an agent version when you create or update an instance,
  9126  	// which overrides the stack's default setting.
  9127  	AgentVersion *string `type:"string"`
  9128  
  9129  	// One or more user-defined key-value pairs to be added to the stack attributes.
  9130  	Attributes map[string]*string `type:"map"`
  9131  
  9132  	// A ChefConfiguration object that specifies whether to enable Berkshelf and
  9133  	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
  9134  	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
  9135  	ChefConfiguration *ChefConfiguration `type:"structure"`
  9136  
  9137  	// The configuration manager. When you create a stack we recommend that you
  9138  	// use the configuration manager to specify the Chef version: 12, 11.10, or
  9139  	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
  9140  	// Linux stacks is currently 12.
  9141  	ConfigurationManager *StackConfigurationManager `type:"structure"`
  9142  
  9143  	// Contains the information required to retrieve an app or cookbook from a repository.
  9144  	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
  9145  	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
  9146  	CustomCookbooksSource *Source `type:"structure"`
  9147  
  9148  	// A string that contains user-defined, custom JSON. It can be used to override
  9149  	// the corresponding default stack configuration attribute values or to pass
  9150  	// data to recipes. The string should be in the following format:
  9151  	//
  9152  	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
  9153  	//
  9154  	// For more information about custom JSON, see Use Custom JSON to Modify the
  9155  	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
  9156  	CustomJson *string `type:"string"`
  9157  
  9158  	// The stack's default Availability Zone, which must be in the specified region.
  9159  	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  9160  	// If you also specify a value for DefaultSubnetId, the subnet must be in the
  9161  	// same zone. For more information, see the VpcId parameter description.
  9162  	DefaultAvailabilityZone *string `type:"string"`
  9163  
  9164  	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
  9165  	// for all of the stack's EC2 instances. For more information about IAM ARNs,
  9166  	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
  9167  	//
  9168  	// DefaultInstanceProfileArn is a required field
  9169  	DefaultInstanceProfileArn *string `type:"string" required:"true"`
  9170  
  9171  	// The stack's default operating system, which is installed on every instance
  9172  	// unless you specify a different operating system when you create the instance.
  9173  	// You can specify one of the following.
  9174  	//
  9175  	//    * A supported Linux operating system: An Amazon Linux version, such as
  9176  	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
  9177  	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
  9178  	//    2015.03.
  9179  	//
  9180  	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
  9181  	//    14.04 LTS, or Ubuntu 12.04 LTS.
  9182  	//
  9183  	//    * CentOS Linux 7
  9184  	//
  9185  	//    * Red Hat Enterprise Linux 7
  9186  	//
  9187  	//    * A supported Windows operating system, such as Microsoft Windows Server
  9188  	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
  9189  	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
  9190  	//    Windows Server 2012 R2 with SQL Server Web.
  9191  	//
  9192  	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
  9193  	//    you create instances. For more information, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
  9194  	//
  9195  	// The default option is the current Amazon Linux version. For more information
  9196  	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
  9197  	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
  9198  	DefaultOs *string `type:"string"`
  9199  
  9200  	// The default root device type. This value is the default for all instances
  9201  	// in the stack, but you can override it when you create an instance. The default
  9202  	// option is instance-store. For more information, see Storage for the Root
  9203  	// Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
  9204  	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
  9205  
  9206  	// A default Amazon EC2 key pair name. The default value is none. If you specify
  9207  	// a key pair name, AWS OpsWorks installs the public key on the instance and
  9208  	// you can use the private key with an SSH client to log in to the instance.
  9209  	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
  9210  	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
  9211  	// You can override this setting by specifying a different key pair, or no key
  9212  	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
  9213  	DefaultSshKeyName *string `type:"string"`
  9214  
  9215  	// The stack's default VPC subnet ID. This parameter is required if you specify
  9216  	// a value for the VpcId parameter. All instances are launched into this subnet
  9217  	// unless you specify otherwise when you create the instance. If you also specify
  9218  	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
  9219  	// information on default values and when this parameter is required, see the
  9220  	// VpcId parameter description.
  9221  	DefaultSubnetId *string `type:"string"`
  9222  
  9223  	// The stack's host name theme, with spaces replaced by underscores. The theme
  9224  	// is used to generate host names for the stack's instances. By default, HostnameTheme
  9225  	// is set to Layer_Dependent, which creates host names by appending integers
  9226  	// to the layer's short name. The other themes are:
  9227  	//
  9228  	//    * Baked_Goods
  9229  	//
  9230  	//    * Clouds
  9231  	//
  9232  	//    * Europe_Cities
  9233  	//
  9234  	//    * Fruits
  9235  	//
  9236  	//    * Greek_Deities_and_Titans
  9237  	//
  9238  	//    * Legendary_creatures_from_Japan
  9239  	//
  9240  	//    * Planets_and_Moons
  9241  	//
  9242  	//    * Roman_Deities
  9243  	//
  9244  	//    * Scottish_Islands
  9245  	//
  9246  	//    * US_Cities
  9247  	//
  9248  	//    * Wild_Cats
  9249  	//
  9250  	// To obtain a generated host name, call GetHostNameSuggestion, which returns
  9251  	// a host name based on the current theme.
  9252  	HostnameTheme *string `type:"string"`
  9253  
  9254  	// The stack name.
  9255  	//
  9256  	// Name is a required field
  9257  	Name *string `type:"string" required:"true"`
  9258  
  9259  	// The stack's AWS region, such as ap-south-1. For more information about Amazon
  9260  	// regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  9261  	//
  9262  	// In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region
  9263  	// parameter and the AWS CLI common parameter --region are set to the same value,
  9264  	// the stack uses a regional endpoint. If the --stack-region parameter is not
  9265  	// set, but the AWS CLI --region parameter is, this also results in a stack
  9266  	// with a regional endpoint. However, if the --region parameter is set to us-east-1,
  9267  	// and the --stack-region parameter is set to one of the following, then the
  9268  	// stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1,
  9269  	// eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case,
  9270  	// the actual API endpoint of the stack is in us-east-1. Only the preceding
  9271  	// regions are supported as classic regions in the us-east-1 API endpoint. Because
  9272  	// it is a best practice to choose the regional endpoint that is closest to
  9273  	// where you manage AWS, we recommend that you use regional endpoints for new
  9274  	// stacks. The AWS CLI common --region parameter always specifies a regional
  9275  	// API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks
  9276  	// region.
  9277  	//
  9278  	// Region is a required field
  9279  	Region *string `type:"string" required:"true"`
  9280  
  9281  	// The stack's AWS Identity and Access Management (IAM) role, which allows AWS
  9282  	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
  9283  	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. For
  9284  	// more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
  9285  	//
  9286  	// ServiceRoleArn is a required field
  9287  	ServiceRoleArn *string `type:"string" required:"true"`
  9288  
  9289  	// Whether the stack uses custom cookbooks.
  9290  	UseCustomCookbooks *bool `type:"boolean"`
  9291  
  9292  	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
  9293  	// the stack's layers.
  9294  	//
  9295  	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
  9296  	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
  9297  	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
  9298  	// has the following settings:
  9299  	//
  9300  	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
  9301  	//    built-in security group with each layer (default setting). You can associate
  9302  	//    additional security groups with a layer after you create it, but you cannot
  9303  	//    delete the built-in security group.
  9304  	//
  9305  	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
  9306  	//    with layers. You must create appropriate EC2 security groups and associate
  9307  	//    a security group with each layer that you create. However, you can still
  9308  	//    manually associate a built-in security group with a layer on creation;
  9309  	//    custom security groups are required only for those layers that need custom
  9310  	//    settings.
  9311  	//
  9312  	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
  9313  	UseOpsworksSecurityGroups *bool `type:"boolean"`
  9314  
  9315  	// The ID of the VPC that the stack is to be launched into. The VPC must be
  9316  	// in the stack's region. All instances are launched into this VPC. You cannot
  9317  	// change the ID later.
  9318  	//
  9319  	//    * If your account supports EC2-Classic, the default value is no VPC.
  9320  	//
  9321  	//    * If your account does not support EC2-Classic, the default value is the
  9322  	//    default VPC for the specified region.
  9323  	//
  9324  	// If the VPC ID corresponds to a default VPC and you have specified either
  9325  	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
  9326  	// Stacks infers the value of the other parameter. If you specify neither parameter,
  9327  	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
  9328  	// Zone for the specified region and the corresponding default VPC subnet ID,
  9329  	// respectively.
  9330  	//
  9331  	// If you specify a nondefault VPC ID, note the following:
  9332  	//
  9333  	//    * It must belong to a VPC in your account that is in the specified region.
  9334  	//
  9335  	//    * You must specify a value for DefaultSubnetId.
  9336  	//
  9337  	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
  9338  	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
  9339  	// For more information about default VPC and EC2-Classic, see Supported Platforms
  9340  	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
  9341  	VpcId *string `type:"string"`
  9342  }
  9343  
  9344  // String returns the string representation.
  9345  //
  9346  // API parameter values that are decorated as "sensitive" in the API will not
  9347  // be included in the string output. The member name will be present, but the
  9348  // value will be replaced with "sensitive".
  9349  func (s CreateStackInput) String() string {
  9350  	return awsutil.Prettify(s)
  9351  }
  9352  
  9353  // GoString returns the string representation.
  9354  //
  9355  // API parameter values that are decorated as "sensitive" in the API will not
  9356  // be included in the string output. The member name will be present, but the
  9357  // value will be replaced with "sensitive".
  9358  func (s CreateStackInput) GoString() string {
  9359  	return s.String()
  9360  }
  9361  
  9362  // Validate inspects the fields of the type to determine if they are valid.
  9363  func (s *CreateStackInput) Validate() error {
  9364  	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
  9365  	if s.DefaultInstanceProfileArn == nil {
  9366  		invalidParams.Add(request.NewErrParamRequired("DefaultInstanceProfileArn"))
  9367  	}
  9368  	if s.Name == nil {
  9369  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9370  	}
  9371  	if s.Region == nil {
  9372  		invalidParams.Add(request.NewErrParamRequired("Region"))
  9373  	}
  9374  	if s.ServiceRoleArn == nil {
  9375  		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
  9376  	}
  9377  
  9378  	if invalidParams.Len() > 0 {
  9379  		return invalidParams
  9380  	}
  9381  	return nil
  9382  }
  9383  
  9384  // SetAgentVersion sets the AgentVersion field's value.
  9385  func (s *CreateStackInput) SetAgentVersion(v string) *CreateStackInput {
  9386  	s.AgentVersion = &v
  9387  	return s
  9388  }
  9389  
  9390  // SetAttributes sets the Attributes field's value.
  9391  func (s *CreateStackInput) SetAttributes(v map[string]*string) *CreateStackInput {
  9392  	s.Attributes = v
  9393  	return s
  9394  }
  9395  
  9396  // SetChefConfiguration sets the ChefConfiguration field's value.
  9397  func (s *CreateStackInput) SetChefConfiguration(v *ChefConfiguration) *CreateStackInput {
  9398  	s.ChefConfiguration = v
  9399  	return s
  9400  }
  9401  
  9402  // SetConfigurationManager sets the ConfigurationManager field's value.
  9403  func (s *CreateStackInput) SetConfigurationManager(v *StackConfigurationManager) *CreateStackInput {
  9404  	s.ConfigurationManager = v
  9405  	return s
  9406  }
  9407  
  9408  // SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
  9409  func (s *CreateStackInput) SetCustomCookbooksSource(v *Source) *CreateStackInput {
  9410  	s.CustomCookbooksSource = v
  9411  	return s
  9412  }
  9413  
  9414  // SetCustomJson sets the CustomJson field's value.
  9415  func (s *CreateStackInput) SetCustomJson(v string) *CreateStackInput {
  9416  	s.CustomJson = &v
  9417  	return s
  9418  }
  9419  
  9420  // SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
  9421  func (s *CreateStackInput) SetDefaultAvailabilityZone(v string) *CreateStackInput {
  9422  	s.DefaultAvailabilityZone = &v
  9423  	return s
  9424  }
  9425  
  9426  // SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
  9427  func (s *CreateStackInput) SetDefaultInstanceProfileArn(v string) *CreateStackInput {
  9428  	s.DefaultInstanceProfileArn = &v
  9429  	return s
  9430  }
  9431  
  9432  // SetDefaultOs sets the DefaultOs field's value.
  9433  func (s *CreateStackInput) SetDefaultOs(v string) *CreateStackInput {
  9434  	s.DefaultOs = &v
  9435  	return s
  9436  }
  9437  
  9438  // SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
  9439  func (s *CreateStackInput) SetDefaultRootDeviceType(v string) *CreateStackInput {
  9440  	s.DefaultRootDeviceType = &v
  9441  	return s
  9442  }
  9443  
  9444  // SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
  9445  func (s *CreateStackInput) SetDefaultSshKeyName(v string) *CreateStackInput {
  9446  	s.DefaultSshKeyName = &v
  9447  	return s
  9448  }
  9449  
  9450  // SetDefaultSubnetId sets the DefaultSubnetId field's value.
  9451  func (s *CreateStackInput) SetDefaultSubnetId(v string) *CreateStackInput {
  9452  	s.DefaultSubnetId = &v
  9453  	return s
  9454  }
  9455  
  9456  // SetHostnameTheme sets the HostnameTheme field's value.
  9457  func (s *CreateStackInput) SetHostnameTheme(v string) *CreateStackInput {
  9458  	s.HostnameTheme = &v
  9459  	return s
  9460  }
  9461  
  9462  // SetName sets the Name field's value.
  9463  func (s *CreateStackInput) SetName(v string) *CreateStackInput {
  9464  	s.Name = &v
  9465  	return s
  9466  }
  9467  
  9468  // SetRegion sets the Region field's value.
  9469  func (s *CreateStackInput) SetRegion(v string) *CreateStackInput {
  9470  	s.Region = &v
  9471  	return s
  9472  }
  9473  
  9474  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  9475  func (s *CreateStackInput) SetServiceRoleArn(v string) *CreateStackInput {
  9476  	s.ServiceRoleArn = &v
  9477  	return s
  9478  }
  9479  
  9480  // SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
  9481  func (s *CreateStackInput) SetUseCustomCookbooks(v bool) *CreateStackInput {
  9482  	s.UseCustomCookbooks = &v
  9483  	return s
  9484  }
  9485  
  9486  // SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
  9487  func (s *CreateStackInput) SetUseOpsworksSecurityGroups(v bool) *CreateStackInput {
  9488  	s.UseOpsworksSecurityGroups = &v
  9489  	return s
  9490  }
  9491  
  9492  // SetVpcId sets the VpcId field's value.
  9493  func (s *CreateStackInput) SetVpcId(v string) *CreateStackInput {
  9494  	s.VpcId = &v
  9495  	return s
  9496  }
  9497  
  9498  // Contains the response to a CreateStack request.
  9499  type CreateStackOutput struct {
  9500  	_ struct{} `type:"structure"`
  9501  
  9502  	// The stack ID, which is an opaque string that you use to identify the stack
  9503  	// when performing actions such as DescribeStacks.
  9504  	StackId *string `type:"string"`
  9505  }
  9506  
  9507  // String returns the string representation.
  9508  //
  9509  // API parameter values that are decorated as "sensitive" in the API will not
  9510  // be included in the string output. The member name will be present, but the
  9511  // value will be replaced with "sensitive".
  9512  func (s CreateStackOutput) String() string {
  9513  	return awsutil.Prettify(s)
  9514  }
  9515  
  9516  // GoString returns the string representation.
  9517  //
  9518  // API parameter values that are decorated as "sensitive" in the API will not
  9519  // be included in the string output. The member name will be present, but the
  9520  // value will be replaced with "sensitive".
  9521  func (s CreateStackOutput) GoString() string {
  9522  	return s.String()
  9523  }
  9524  
  9525  // SetStackId sets the StackId field's value.
  9526  func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput {
  9527  	s.StackId = &v
  9528  	return s
  9529  }
  9530  
  9531  type CreateUserProfileInput struct {
  9532  	_ struct{} `type:"structure"`
  9533  
  9534  	// Whether users can specify their own SSH public key through the My Settings
  9535  	// page. For more information, see Setting an IAM User's Public SSH Key (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
  9536  	AllowSelfManagement *bool `type:"boolean"`
  9537  
  9538  	// The user's IAM ARN; this can also be a federated user's ARN.
  9539  	//
  9540  	// IamUserArn is a required field
  9541  	IamUserArn *string `type:"string" required:"true"`
  9542  
  9543  	// The user's public SSH key.
  9544  	SshPublicKey *string `type:"string"`
  9545  
  9546  	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
  9547  	// '-', and '_'. If the specified name includes other punctuation marks, AWS
  9548  	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
  9549  	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
  9550  	// from the IAM user name.
  9551  	SshUsername *string `type:"string"`
  9552  }
  9553  
  9554  // String returns the string representation.
  9555  //
  9556  // API parameter values that are decorated as "sensitive" in the API will not
  9557  // be included in the string output. The member name will be present, but the
  9558  // value will be replaced with "sensitive".
  9559  func (s CreateUserProfileInput) String() string {
  9560  	return awsutil.Prettify(s)
  9561  }
  9562  
  9563  // GoString returns the string representation.
  9564  //
  9565  // API parameter values that are decorated as "sensitive" in the API will not
  9566  // be included in the string output. The member name will be present, but the
  9567  // value will be replaced with "sensitive".
  9568  func (s CreateUserProfileInput) GoString() string {
  9569  	return s.String()
  9570  }
  9571  
  9572  // Validate inspects the fields of the type to determine if they are valid.
  9573  func (s *CreateUserProfileInput) Validate() error {
  9574  	invalidParams := request.ErrInvalidParams{Context: "CreateUserProfileInput"}
  9575  	if s.IamUserArn == nil {
  9576  		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
  9577  	}
  9578  
  9579  	if invalidParams.Len() > 0 {
  9580  		return invalidParams
  9581  	}
  9582  	return nil
  9583  }
  9584  
  9585  // SetAllowSelfManagement sets the AllowSelfManagement field's value.
  9586  func (s *CreateUserProfileInput) SetAllowSelfManagement(v bool) *CreateUserProfileInput {
  9587  	s.AllowSelfManagement = &v
  9588  	return s
  9589  }
  9590  
  9591  // SetIamUserArn sets the IamUserArn field's value.
  9592  func (s *CreateUserProfileInput) SetIamUserArn(v string) *CreateUserProfileInput {
  9593  	s.IamUserArn = &v
  9594  	return s
  9595  }
  9596  
  9597  // SetSshPublicKey sets the SshPublicKey field's value.
  9598  func (s *CreateUserProfileInput) SetSshPublicKey(v string) *CreateUserProfileInput {
  9599  	s.SshPublicKey = &v
  9600  	return s
  9601  }
  9602  
  9603  // SetSshUsername sets the SshUsername field's value.
  9604  func (s *CreateUserProfileInput) SetSshUsername(v string) *CreateUserProfileInput {
  9605  	s.SshUsername = &v
  9606  	return s
  9607  }
  9608  
  9609  // Contains the response to a CreateUserProfile request.
  9610  type CreateUserProfileOutput struct {
  9611  	_ struct{} `type:"structure"`
  9612  
  9613  	// The user's IAM ARN.
  9614  	IamUserArn *string `type:"string"`
  9615  }
  9616  
  9617  // String returns the string representation.
  9618  //
  9619  // API parameter values that are decorated as "sensitive" in the API will not
  9620  // be included in the string output. The member name will be present, but the
  9621  // value will be replaced with "sensitive".
  9622  func (s CreateUserProfileOutput) String() string {
  9623  	return awsutil.Prettify(s)
  9624  }
  9625  
  9626  // GoString returns the string representation.
  9627  //
  9628  // API parameter values that are decorated as "sensitive" in the API will not
  9629  // be included in the string output. The member name will be present, but the
  9630  // value will be replaced with "sensitive".
  9631  func (s CreateUserProfileOutput) GoString() string {
  9632  	return s.String()
  9633  }
  9634  
  9635  // SetIamUserArn sets the IamUserArn field's value.
  9636  func (s *CreateUserProfileOutput) SetIamUserArn(v string) *CreateUserProfileOutput {
  9637  	s.IamUserArn = &v
  9638  	return s
  9639  }
  9640  
  9641  // Describes an app's data source.
  9642  type DataSource struct {
  9643  	_ struct{} `type:"structure"`
  9644  
  9645  	// The data source's ARN.
  9646  	Arn *string `type:"string"`
  9647  
  9648  	// The database name.
  9649  	DatabaseName *string `type:"string"`
  9650  
  9651  	// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance,
  9652  	// RdsDbInstance, or None.
  9653  	Type *string `type:"string"`
  9654  }
  9655  
  9656  // String returns the string representation.
  9657  //
  9658  // API parameter values that are decorated as "sensitive" in the API will not
  9659  // be included in the string output. The member name will be present, but the
  9660  // value will be replaced with "sensitive".
  9661  func (s DataSource) String() string {
  9662  	return awsutil.Prettify(s)
  9663  }
  9664  
  9665  // GoString returns the string representation.
  9666  //
  9667  // API parameter values that are decorated as "sensitive" in the API will not
  9668  // be included in the string output. The member name will be present, but the
  9669  // value will be replaced with "sensitive".
  9670  func (s DataSource) GoString() string {
  9671  	return s.String()
  9672  }
  9673  
  9674  // SetArn sets the Arn field's value.
  9675  func (s *DataSource) SetArn(v string) *DataSource {
  9676  	s.Arn = &v
  9677  	return s
  9678  }
  9679  
  9680  // SetDatabaseName sets the DatabaseName field's value.
  9681  func (s *DataSource) SetDatabaseName(v string) *DataSource {
  9682  	s.DatabaseName = &v
  9683  	return s
  9684  }
  9685  
  9686  // SetType sets the Type field's value.
  9687  func (s *DataSource) SetType(v string) *DataSource {
  9688  	s.Type = &v
  9689  	return s
  9690  }
  9691  
  9692  type DeleteAppInput struct {
  9693  	_ struct{} `type:"structure"`
  9694  
  9695  	// The app ID.
  9696  	//
  9697  	// AppId is a required field
  9698  	AppId *string `type:"string" required:"true"`
  9699  }
  9700  
  9701  // String returns the string representation.
  9702  //
  9703  // API parameter values that are decorated as "sensitive" in the API will not
  9704  // be included in the string output. The member name will be present, but the
  9705  // value will be replaced with "sensitive".
  9706  func (s DeleteAppInput) String() string {
  9707  	return awsutil.Prettify(s)
  9708  }
  9709  
  9710  // GoString returns the string representation.
  9711  //
  9712  // API parameter values that are decorated as "sensitive" in the API will not
  9713  // be included in the string output. The member name will be present, but the
  9714  // value will be replaced with "sensitive".
  9715  func (s DeleteAppInput) GoString() string {
  9716  	return s.String()
  9717  }
  9718  
  9719  // Validate inspects the fields of the type to determine if they are valid.
  9720  func (s *DeleteAppInput) Validate() error {
  9721  	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
  9722  	if s.AppId == nil {
  9723  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  9724  	}
  9725  
  9726  	if invalidParams.Len() > 0 {
  9727  		return invalidParams
  9728  	}
  9729  	return nil
  9730  }
  9731  
  9732  // SetAppId sets the AppId field's value.
  9733  func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
  9734  	s.AppId = &v
  9735  	return s
  9736  }
  9737  
  9738  type DeleteAppOutput struct {
  9739  	_ struct{} `type:"structure"`
  9740  }
  9741  
  9742  // String returns the string representation.
  9743  //
  9744  // API parameter values that are decorated as "sensitive" in the API will not
  9745  // be included in the string output. The member name will be present, but the
  9746  // value will be replaced with "sensitive".
  9747  func (s DeleteAppOutput) String() string {
  9748  	return awsutil.Prettify(s)
  9749  }
  9750  
  9751  // GoString returns the string representation.
  9752  //
  9753  // API parameter values that are decorated as "sensitive" in the API will not
  9754  // be included in the string output. The member name will be present, but the
  9755  // value will be replaced with "sensitive".
  9756  func (s DeleteAppOutput) GoString() string {
  9757  	return s.String()
  9758  }
  9759  
  9760  type DeleteInstanceInput struct {
  9761  	_ struct{} `type:"structure"`
  9762  
  9763  	// Whether to delete the instance Elastic IP address.
  9764  	DeleteElasticIp *bool `type:"boolean"`
  9765  
  9766  	// Whether to delete the instance's Amazon EBS volumes.
  9767  	DeleteVolumes *bool `type:"boolean"`
  9768  
  9769  	// The instance ID.
  9770  	//
  9771  	// InstanceId is a required field
  9772  	InstanceId *string `type:"string" required:"true"`
  9773  }
  9774  
  9775  // String returns the string representation.
  9776  //
  9777  // API parameter values that are decorated as "sensitive" in the API will not
  9778  // be included in the string output. The member name will be present, but the
  9779  // value will be replaced with "sensitive".
  9780  func (s DeleteInstanceInput) String() string {
  9781  	return awsutil.Prettify(s)
  9782  }
  9783  
  9784  // GoString returns the string representation.
  9785  //
  9786  // API parameter values that are decorated as "sensitive" in the API will not
  9787  // be included in the string output. The member name will be present, but the
  9788  // value will be replaced with "sensitive".
  9789  func (s DeleteInstanceInput) GoString() string {
  9790  	return s.String()
  9791  }
  9792  
  9793  // Validate inspects the fields of the type to determine if they are valid.
  9794  func (s *DeleteInstanceInput) Validate() error {
  9795  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
  9796  	if s.InstanceId == nil {
  9797  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  9798  	}
  9799  
  9800  	if invalidParams.Len() > 0 {
  9801  		return invalidParams
  9802  	}
  9803  	return nil
  9804  }
  9805  
  9806  // SetDeleteElasticIp sets the DeleteElasticIp field's value.
  9807  func (s *DeleteInstanceInput) SetDeleteElasticIp(v bool) *DeleteInstanceInput {
  9808  	s.DeleteElasticIp = &v
  9809  	return s
  9810  }
  9811  
  9812  // SetDeleteVolumes sets the DeleteVolumes field's value.
  9813  func (s *DeleteInstanceInput) SetDeleteVolumes(v bool) *DeleteInstanceInput {
  9814  	s.DeleteVolumes = &v
  9815  	return s
  9816  }
  9817  
  9818  // SetInstanceId sets the InstanceId field's value.
  9819  func (s *DeleteInstanceInput) SetInstanceId(v string) *DeleteInstanceInput {
  9820  	s.InstanceId = &v
  9821  	return s
  9822  }
  9823  
  9824  type DeleteInstanceOutput struct {
  9825  	_ struct{} `type:"structure"`
  9826  }
  9827  
  9828  // String returns the string representation.
  9829  //
  9830  // API parameter values that are decorated as "sensitive" in the API will not
  9831  // be included in the string output. The member name will be present, but the
  9832  // value will be replaced with "sensitive".
  9833  func (s DeleteInstanceOutput) String() string {
  9834  	return awsutil.Prettify(s)
  9835  }
  9836  
  9837  // GoString returns the string representation.
  9838  //
  9839  // API parameter values that are decorated as "sensitive" in the API will not
  9840  // be included in the string output. The member name will be present, but the
  9841  // value will be replaced with "sensitive".
  9842  func (s DeleteInstanceOutput) GoString() string {
  9843  	return s.String()
  9844  }
  9845  
  9846  type DeleteLayerInput struct {
  9847  	_ struct{} `type:"structure"`
  9848  
  9849  	// The layer ID.
  9850  	//
  9851  	// LayerId is a required field
  9852  	LayerId *string `type:"string" required:"true"`
  9853  }
  9854  
  9855  // String returns the string representation.
  9856  //
  9857  // API parameter values that are decorated as "sensitive" in the API will not
  9858  // be included in the string output. The member name will be present, but the
  9859  // value will be replaced with "sensitive".
  9860  func (s DeleteLayerInput) String() string {
  9861  	return awsutil.Prettify(s)
  9862  }
  9863  
  9864  // GoString returns the string representation.
  9865  //
  9866  // API parameter values that are decorated as "sensitive" in the API will not
  9867  // be included in the string output. The member name will be present, but the
  9868  // value will be replaced with "sensitive".
  9869  func (s DeleteLayerInput) GoString() string {
  9870  	return s.String()
  9871  }
  9872  
  9873  // Validate inspects the fields of the type to determine if they are valid.
  9874  func (s *DeleteLayerInput) Validate() error {
  9875  	invalidParams := request.ErrInvalidParams{Context: "DeleteLayerInput"}
  9876  	if s.LayerId == nil {
  9877  		invalidParams.Add(request.NewErrParamRequired("LayerId"))
  9878  	}
  9879  
  9880  	if invalidParams.Len() > 0 {
  9881  		return invalidParams
  9882  	}
  9883  	return nil
  9884  }
  9885  
  9886  // SetLayerId sets the LayerId field's value.
  9887  func (s *DeleteLayerInput) SetLayerId(v string) *DeleteLayerInput {
  9888  	s.LayerId = &v
  9889  	return s
  9890  }
  9891  
  9892  type DeleteLayerOutput struct {
  9893  	_ struct{} `type:"structure"`
  9894  }
  9895  
  9896  // String returns the string representation.
  9897  //
  9898  // API parameter values that are decorated as "sensitive" in the API will not
  9899  // be included in the string output. The member name will be present, but the
  9900  // value will be replaced with "sensitive".
  9901  func (s DeleteLayerOutput) String() string {
  9902  	return awsutil.Prettify(s)
  9903  }
  9904  
  9905  // GoString returns the string representation.
  9906  //
  9907  // API parameter values that are decorated as "sensitive" in the API will not
  9908  // be included in the string output. The member name will be present, but the
  9909  // value will be replaced with "sensitive".
  9910  func (s DeleteLayerOutput) GoString() string {
  9911  	return s.String()
  9912  }
  9913  
  9914  type DeleteStackInput struct {
  9915  	_ struct{} `type:"structure"`
  9916  
  9917  	// The stack ID.
  9918  	//
  9919  	// StackId is a required field
  9920  	StackId *string `type:"string" required:"true"`
  9921  }
  9922  
  9923  // String returns the string representation.
  9924  //
  9925  // API parameter values that are decorated as "sensitive" in the API will not
  9926  // be included in the string output. The member name will be present, but the
  9927  // value will be replaced with "sensitive".
  9928  func (s DeleteStackInput) String() string {
  9929  	return awsutil.Prettify(s)
  9930  }
  9931  
  9932  // GoString returns the string representation.
  9933  //
  9934  // API parameter values that are decorated as "sensitive" in the API will not
  9935  // be included in the string output. The member name will be present, but the
  9936  // value will be replaced with "sensitive".
  9937  func (s DeleteStackInput) GoString() string {
  9938  	return s.String()
  9939  }
  9940  
  9941  // Validate inspects the fields of the type to determine if they are valid.
  9942  func (s *DeleteStackInput) Validate() error {
  9943  	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
  9944  	if s.StackId == nil {
  9945  		invalidParams.Add(request.NewErrParamRequired("StackId"))
  9946  	}
  9947  
  9948  	if invalidParams.Len() > 0 {
  9949  		return invalidParams
  9950  	}
  9951  	return nil
  9952  }
  9953  
  9954  // SetStackId sets the StackId field's value.
  9955  func (s *DeleteStackInput) SetStackId(v string) *DeleteStackInput {
  9956  	s.StackId = &v
  9957  	return s
  9958  }
  9959  
  9960  type DeleteStackOutput struct {
  9961  	_ struct{} `type:"structure"`
  9962  }
  9963  
  9964  // String returns the string representation.
  9965  //
  9966  // API parameter values that are decorated as "sensitive" in the API will not
  9967  // be included in the string output. The member name will be present, but the
  9968  // value will be replaced with "sensitive".
  9969  func (s DeleteStackOutput) String() string {
  9970  	return awsutil.Prettify(s)
  9971  }
  9972  
  9973  // GoString returns the string representation.
  9974  //
  9975  // API parameter values that are decorated as "sensitive" in the API will not
  9976  // be included in the string output. The member name will be present, but the
  9977  // value will be replaced with "sensitive".
  9978  func (s DeleteStackOutput) GoString() string {
  9979  	return s.String()
  9980  }
  9981  
  9982  type DeleteUserProfileInput struct {
  9983  	_ struct{} `type:"structure"`
  9984  
  9985  	// The user's IAM ARN. This can also be a federated user's ARN.
  9986  	//
  9987  	// IamUserArn is a required field
  9988  	IamUserArn *string `type:"string" required:"true"`
  9989  }
  9990  
  9991  // String returns the string representation.
  9992  //
  9993  // API parameter values that are decorated as "sensitive" in the API will not
  9994  // be included in the string output. The member name will be present, but the
  9995  // value will be replaced with "sensitive".
  9996  func (s DeleteUserProfileInput) String() string {
  9997  	return awsutil.Prettify(s)
  9998  }
  9999  
 10000  // GoString returns the string representation.
 10001  //
 10002  // API parameter values that are decorated as "sensitive" in the API will not
 10003  // be included in the string output. The member name will be present, but the
 10004  // value will be replaced with "sensitive".
 10005  func (s DeleteUserProfileInput) GoString() string {
 10006  	return s.String()
 10007  }
 10008  
 10009  // Validate inspects the fields of the type to determine if they are valid.
 10010  func (s *DeleteUserProfileInput) Validate() error {
 10011  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserProfileInput"}
 10012  	if s.IamUserArn == nil {
 10013  		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
 10014  	}
 10015  
 10016  	if invalidParams.Len() > 0 {
 10017  		return invalidParams
 10018  	}
 10019  	return nil
 10020  }
 10021  
 10022  // SetIamUserArn sets the IamUserArn field's value.
 10023  func (s *DeleteUserProfileInput) SetIamUserArn(v string) *DeleteUserProfileInput {
 10024  	s.IamUserArn = &v
 10025  	return s
 10026  }
 10027  
 10028  type DeleteUserProfileOutput struct {
 10029  	_ struct{} `type:"structure"`
 10030  }
 10031  
 10032  // String returns the string representation.
 10033  //
 10034  // API parameter values that are decorated as "sensitive" in the API will not
 10035  // be included in the string output. The member name will be present, but the
 10036  // value will be replaced with "sensitive".
 10037  func (s DeleteUserProfileOutput) String() string {
 10038  	return awsutil.Prettify(s)
 10039  }
 10040  
 10041  // GoString returns the string representation.
 10042  //
 10043  // API parameter values that are decorated as "sensitive" in the API will not
 10044  // be included in the string output. The member name will be present, but the
 10045  // value will be replaced with "sensitive".
 10046  func (s DeleteUserProfileOutput) GoString() string {
 10047  	return s.String()
 10048  }
 10049  
 10050  // Describes a deployment of a stack or app.
 10051  type Deployment struct {
 10052  	_ struct{} `type:"structure"`
 10053  
 10054  	// The app ID.
 10055  	AppId *string `type:"string"`
 10056  
 10057  	// Used to specify a stack or deployment command.
 10058  	Command *DeploymentCommand `type:"structure"`
 10059  
 10060  	// A user-defined comment.
 10061  	Comment *string `type:"string"`
 10062  
 10063  	// Date when the deployment completed.
 10064  	CompletedAt *string `type:"string"`
 10065  
 10066  	// Date when the deployment was created.
 10067  	CreatedAt *string `type:"string"`
 10068  
 10069  	// A string that contains user-defined custom JSON. It can be used to override
 10070  	// the corresponding default stack configuration attribute values for stack
 10071  	// or to pass data to recipes. The string should be in the following format:
 10072  	//
 10073  	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
 10074  	//
 10075  	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
 10076  	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
 10077  	CustomJson *string `type:"string"`
 10078  
 10079  	// The deployment ID.
 10080  	DeploymentId *string `type:"string"`
 10081  
 10082  	// The deployment duration.
 10083  	Duration *int64 `type:"integer"`
 10084  
 10085  	// The user's IAM ARN.
 10086  	IamUserArn *string `type:"string"`
 10087  
 10088  	// The IDs of the target instances.
 10089  	InstanceIds []*string `type:"list"`
 10090  
 10091  	// The stack ID.
 10092  	StackId *string `type:"string"`
 10093  
 10094  	// The deployment status:
 10095  	//
 10096  	//    * running
 10097  	//
 10098  	//    * successful
 10099  	//
 10100  	//    * failed
 10101  	Status *string `type:"string"`
 10102  }
 10103  
 10104  // String returns the string representation.
 10105  //
 10106  // API parameter values that are decorated as "sensitive" in the API will not
 10107  // be included in the string output. The member name will be present, but the
 10108  // value will be replaced with "sensitive".
 10109  func (s Deployment) String() string {
 10110  	return awsutil.Prettify(s)
 10111  }
 10112  
 10113  // GoString returns the string representation.
 10114  //
 10115  // API parameter values that are decorated as "sensitive" in the API will not
 10116  // be included in the string output. The member name will be present, but the
 10117  // value will be replaced with "sensitive".
 10118  func (s Deployment) GoString() string {
 10119  	return s.String()
 10120  }
 10121  
 10122  // SetAppId sets the AppId field's value.
 10123  func (s *Deployment) SetAppId(v string) *Deployment {
 10124  	s.AppId = &v
 10125  	return s
 10126  }
 10127  
 10128  // SetCommand sets the Command field's value.
 10129  func (s *Deployment) SetCommand(v *DeploymentCommand) *Deployment {
 10130  	s.Command = v
 10131  	return s
 10132  }
 10133  
 10134  // SetComment sets the Comment field's value.
 10135  func (s *Deployment) SetComment(v string) *Deployment {
 10136  	s.Comment = &v
 10137  	return s
 10138  }
 10139  
 10140  // SetCompletedAt sets the CompletedAt field's value.
 10141  func (s *Deployment) SetCompletedAt(v string) *Deployment {
 10142  	s.CompletedAt = &v
 10143  	return s
 10144  }
 10145  
 10146  // SetCreatedAt sets the CreatedAt field's value.
 10147  func (s *Deployment) SetCreatedAt(v string) *Deployment {
 10148  	s.CreatedAt = &v
 10149  	return s
 10150  }
 10151  
 10152  // SetCustomJson sets the CustomJson field's value.
 10153  func (s *Deployment) SetCustomJson(v string) *Deployment {
 10154  	s.CustomJson = &v
 10155  	return s
 10156  }
 10157  
 10158  // SetDeploymentId sets the DeploymentId field's value.
 10159  func (s *Deployment) SetDeploymentId(v string) *Deployment {
 10160  	s.DeploymentId = &v
 10161  	return s
 10162  }
 10163  
 10164  // SetDuration sets the Duration field's value.
 10165  func (s *Deployment) SetDuration(v int64) *Deployment {
 10166  	s.Duration = &v
 10167  	return s
 10168  }
 10169  
 10170  // SetIamUserArn sets the IamUserArn field's value.
 10171  func (s *Deployment) SetIamUserArn(v string) *Deployment {
 10172  	s.IamUserArn = &v
 10173  	return s
 10174  }
 10175  
 10176  // SetInstanceIds sets the InstanceIds field's value.
 10177  func (s *Deployment) SetInstanceIds(v []*string) *Deployment {
 10178  	s.InstanceIds = v
 10179  	return s
 10180  }
 10181  
 10182  // SetStackId sets the StackId field's value.
 10183  func (s *Deployment) SetStackId(v string) *Deployment {
 10184  	s.StackId = &v
 10185  	return s
 10186  }
 10187  
 10188  // SetStatus sets the Status field's value.
 10189  func (s *Deployment) SetStatus(v string) *Deployment {
 10190  	s.Status = &v
 10191  	return s
 10192  }
 10193  
 10194  // Used to specify a stack or deployment command.
 10195  type DeploymentCommand struct {
 10196  	_ struct{} `type:"structure"`
 10197  
 10198  	// The arguments of those commands that take arguments. It should be set to
 10199  	// a JSON object with the following format:
 10200  	//
 10201  	// {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2",
 10202  	// ...], ...}
 10203  	//
 10204  	// The update_dependencies command takes two arguments:
 10205  	//
 10206  	//    * upgrade_os_to - Specifies the desired Amazon Linux version for instances
 10207  	//    whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also
 10208  	//    set the allow_reboot argument to true.
 10209  	//
 10210  	//    * allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot
 10211  	//    the instances if necessary, after installing the updates. This argument
 10212  	//    can be set to either true or false. The default value is false.
 10213  	//
 10214  	// For example, to upgrade an instance to Amazon Linux 2016.09, set Args to
 10215  	// the following.
 10216  	//
 10217  	// { "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] }
 10218  	Args map[string][]*string `type:"map"`
 10219  
 10220  	// Specifies the operation. You can specify only one command.
 10221  	//
 10222  	// For stacks, the following commands are available:
 10223  	//
 10224  	//    * execute_recipes: Execute one or more recipes. To specify the recipes,
 10225  	//    set an Args parameter named recipes to the list of recipes to be executed.
 10226  	//    For example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}.
 10227  	//
 10228  	//    * install_dependencies: Install the stack's dependencies.
 10229  	//
 10230  	//    * update_custom_cookbooks: Update the stack's custom cookbooks.
 10231  	//
 10232  	//    * update_dependencies: Update the stack's dependencies.
 10233  	//
 10234  	// The update_dependencies and install_dependencies commands are supported only
 10235  	// for Linux instances. You can run the commands successfully on Windows instances,
 10236  	// but they do nothing.
 10237  	//
 10238  	// For apps, the following commands are available:
 10239  	//
 10240  	//    * deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter
 10241  	//    named migrate. Set Args to {"migrate":["true"]} to migrate the database.
 10242  	//    The default setting is {"migrate":["false"]}.
 10243  	//
 10244  	//    * rollback Roll the app back to the previous version. When you update
 10245  	//    an app, AWS OpsWorks Stacks stores the previous version, up to a maximum
 10246  	//    of five versions. You can use this command to roll an app back as many
 10247  	//    as four versions.
 10248  	//
 10249  	//    * start: Start the app's web or application server.
 10250  	//
 10251  	//    * stop: Stop the app's web or application server.
 10252  	//
 10253  	//    * restart: Restart the app's web or application server.
 10254  	//
 10255  	//    * undeploy: Undeploy the app.
 10256  	//
 10257  	// Name is a required field
 10258  	Name *string `type:"string" required:"true" enum:"DeploymentCommandName"`
 10259  }
 10260  
 10261  // String returns the string representation.
 10262  //
 10263  // API parameter values that are decorated as "sensitive" in the API will not
 10264  // be included in the string output. The member name will be present, but the
 10265  // value will be replaced with "sensitive".
 10266  func (s DeploymentCommand) String() string {
 10267  	return awsutil.Prettify(s)
 10268  }
 10269  
 10270  // GoString returns the string representation.
 10271  //
 10272  // API parameter values that are decorated as "sensitive" in the API will not
 10273  // be included in the string output. The member name will be present, but the
 10274  // value will be replaced with "sensitive".
 10275  func (s DeploymentCommand) GoString() string {
 10276  	return s.String()
 10277  }
 10278  
 10279  // Validate inspects the fields of the type to determine if they are valid.
 10280  func (s *DeploymentCommand) Validate() error {
 10281  	invalidParams := request.ErrInvalidParams{Context: "DeploymentCommand"}
 10282  	if s.Name == nil {
 10283  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10284  	}
 10285  
 10286  	if invalidParams.Len() > 0 {
 10287  		return invalidParams
 10288  	}
 10289  	return nil
 10290  }
 10291  
 10292  // SetArgs sets the Args field's value.
 10293  func (s *DeploymentCommand) SetArgs(v map[string][]*string) *DeploymentCommand {
 10294  	s.Args = v
 10295  	return s
 10296  }
 10297  
 10298  // SetName sets the Name field's value.
 10299  func (s *DeploymentCommand) SetName(v string) *DeploymentCommand {
 10300  	s.Name = &v
 10301  	return s
 10302  }
 10303  
 10304  type DeregisterEcsClusterInput struct {
 10305  	_ struct{} `type:"structure"`
 10306  
 10307  	// The cluster's Amazon Resource Number (ARN).
 10308  	//
 10309  	// EcsClusterArn is a required field
 10310  	EcsClusterArn *string `type:"string" required:"true"`
 10311  }
 10312  
 10313  // String returns the string representation.
 10314  //
 10315  // API parameter values that are decorated as "sensitive" in the API will not
 10316  // be included in the string output. The member name will be present, but the
 10317  // value will be replaced with "sensitive".
 10318  func (s DeregisterEcsClusterInput) String() string {
 10319  	return awsutil.Prettify(s)
 10320  }
 10321  
 10322  // GoString returns the string representation.
 10323  //
 10324  // API parameter values that are decorated as "sensitive" in the API will not
 10325  // be included in the string output. The member name will be present, but the
 10326  // value will be replaced with "sensitive".
 10327  func (s DeregisterEcsClusterInput) GoString() string {
 10328  	return s.String()
 10329  }
 10330  
 10331  // Validate inspects the fields of the type to determine if they are valid.
 10332  func (s *DeregisterEcsClusterInput) Validate() error {
 10333  	invalidParams := request.ErrInvalidParams{Context: "DeregisterEcsClusterInput"}
 10334  	if s.EcsClusterArn == nil {
 10335  		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
 10336  	}
 10337  
 10338  	if invalidParams.Len() > 0 {
 10339  		return invalidParams
 10340  	}
 10341  	return nil
 10342  }
 10343  
 10344  // SetEcsClusterArn sets the EcsClusterArn field's value.
 10345  func (s *DeregisterEcsClusterInput) SetEcsClusterArn(v string) *DeregisterEcsClusterInput {
 10346  	s.EcsClusterArn = &v
 10347  	return s
 10348  }
 10349  
 10350  type DeregisterEcsClusterOutput struct {
 10351  	_ struct{} `type:"structure"`
 10352  }
 10353  
 10354  // String returns the string representation.
 10355  //
 10356  // API parameter values that are decorated as "sensitive" in the API will not
 10357  // be included in the string output. The member name will be present, but the
 10358  // value will be replaced with "sensitive".
 10359  func (s DeregisterEcsClusterOutput) String() string {
 10360  	return awsutil.Prettify(s)
 10361  }
 10362  
 10363  // GoString returns the string representation.
 10364  //
 10365  // API parameter values that are decorated as "sensitive" in the API will not
 10366  // be included in the string output. The member name will be present, but the
 10367  // value will be replaced with "sensitive".
 10368  func (s DeregisterEcsClusterOutput) GoString() string {
 10369  	return s.String()
 10370  }
 10371  
 10372  type DeregisterElasticIpInput struct {
 10373  	_ struct{} `type:"structure"`
 10374  
 10375  	// The Elastic IP address.
 10376  	//
 10377  	// ElasticIp is a required field
 10378  	ElasticIp *string `type:"string" required:"true"`
 10379  }
 10380  
 10381  // String returns the string representation.
 10382  //
 10383  // API parameter values that are decorated as "sensitive" in the API will not
 10384  // be included in the string output. The member name will be present, but the
 10385  // value will be replaced with "sensitive".
 10386  func (s DeregisterElasticIpInput) String() string {
 10387  	return awsutil.Prettify(s)
 10388  }
 10389  
 10390  // GoString returns the string representation.
 10391  //
 10392  // API parameter values that are decorated as "sensitive" in the API will not
 10393  // be included in the string output. The member name will be present, but the
 10394  // value will be replaced with "sensitive".
 10395  func (s DeregisterElasticIpInput) GoString() string {
 10396  	return s.String()
 10397  }
 10398  
 10399  // Validate inspects the fields of the type to determine if they are valid.
 10400  func (s *DeregisterElasticIpInput) Validate() error {
 10401  	invalidParams := request.ErrInvalidParams{Context: "DeregisterElasticIpInput"}
 10402  	if s.ElasticIp == nil {
 10403  		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
 10404  	}
 10405  
 10406  	if invalidParams.Len() > 0 {
 10407  		return invalidParams
 10408  	}
 10409  	return nil
 10410  }
 10411  
 10412  // SetElasticIp sets the ElasticIp field's value.
 10413  func (s *DeregisterElasticIpInput) SetElasticIp(v string) *DeregisterElasticIpInput {
 10414  	s.ElasticIp = &v
 10415  	return s
 10416  }
 10417  
 10418  type DeregisterElasticIpOutput struct {
 10419  	_ struct{} `type:"structure"`
 10420  }
 10421  
 10422  // String returns the string representation.
 10423  //
 10424  // API parameter values that are decorated as "sensitive" in the API will not
 10425  // be included in the string output. The member name will be present, but the
 10426  // value will be replaced with "sensitive".
 10427  func (s DeregisterElasticIpOutput) String() string {
 10428  	return awsutil.Prettify(s)
 10429  }
 10430  
 10431  // GoString returns the string representation.
 10432  //
 10433  // API parameter values that are decorated as "sensitive" in the API will not
 10434  // be included in the string output. The member name will be present, but the
 10435  // value will be replaced with "sensitive".
 10436  func (s DeregisterElasticIpOutput) GoString() string {
 10437  	return s.String()
 10438  }
 10439  
 10440  type DeregisterInstanceInput struct {
 10441  	_ struct{} `type:"structure"`
 10442  
 10443  	// The instance ID.
 10444  	//
 10445  	// InstanceId is a required field
 10446  	InstanceId *string `type:"string" required:"true"`
 10447  }
 10448  
 10449  // String returns the string representation.
 10450  //
 10451  // API parameter values that are decorated as "sensitive" in the API will not
 10452  // be included in the string output. The member name will be present, but the
 10453  // value will be replaced with "sensitive".
 10454  func (s DeregisterInstanceInput) String() string {
 10455  	return awsutil.Prettify(s)
 10456  }
 10457  
 10458  // GoString returns the string representation.
 10459  //
 10460  // API parameter values that are decorated as "sensitive" in the API will not
 10461  // be included in the string output. The member name will be present, but the
 10462  // value will be replaced with "sensitive".
 10463  func (s DeregisterInstanceInput) GoString() string {
 10464  	return s.String()
 10465  }
 10466  
 10467  // Validate inspects the fields of the type to determine if they are valid.
 10468  func (s *DeregisterInstanceInput) Validate() error {
 10469  	invalidParams := request.ErrInvalidParams{Context: "DeregisterInstanceInput"}
 10470  	if s.InstanceId == nil {
 10471  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 10472  	}
 10473  
 10474  	if invalidParams.Len() > 0 {
 10475  		return invalidParams
 10476  	}
 10477  	return nil
 10478  }
 10479  
 10480  // SetInstanceId sets the InstanceId field's value.
 10481  func (s *DeregisterInstanceInput) SetInstanceId(v string) *DeregisterInstanceInput {
 10482  	s.InstanceId = &v
 10483  	return s
 10484  }
 10485  
 10486  type DeregisterInstanceOutput struct {
 10487  	_ struct{} `type:"structure"`
 10488  }
 10489  
 10490  // String returns the string representation.
 10491  //
 10492  // API parameter values that are decorated as "sensitive" in the API will not
 10493  // be included in the string output. The member name will be present, but the
 10494  // value will be replaced with "sensitive".
 10495  func (s DeregisterInstanceOutput) String() string {
 10496  	return awsutil.Prettify(s)
 10497  }
 10498  
 10499  // GoString returns the string representation.
 10500  //
 10501  // API parameter values that are decorated as "sensitive" in the API will not
 10502  // be included in the string output. The member name will be present, but the
 10503  // value will be replaced with "sensitive".
 10504  func (s DeregisterInstanceOutput) GoString() string {
 10505  	return s.String()
 10506  }
 10507  
 10508  type DeregisterRdsDbInstanceInput struct {
 10509  	_ struct{} `type:"structure"`
 10510  
 10511  	// The Amazon RDS instance's ARN.
 10512  	//
 10513  	// RdsDbInstanceArn is a required field
 10514  	RdsDbInstanceArn *string `type:"string" required:"true"`
 10515  }
 10516  
 10517  // String returns the string representation.
 10518  //
 10519  // API parameter values that are decorated as "sensitive" in the API will not
 10520  // be included in the string output. The member name will be present, but the
 10521  // value will be replaced with "sensitive".
 10522  func (s DeregisterRdsDbInstanceInput) String() string {
 10523  	return awsutil.Prettify(s)
 10524  }
 10525  
 10526  // GoString returns the string representation.
 10527  //
 10528  // API parameter values that are decorated as "sensitive" in the API will not
 10529  // be included in the string output. The member name will be present, but the
 10530  // value will be replaced with "sensitive".
 10531  func (s DeregisterRdsDbInstanceInput) GoString() string {
 10532  	return s.String()
 10533  }
 10534  
 10535  // Validate inspects the fields of the type to determine if they are valid.
 10536  func (s *DeregisterRdsDbInstanceInput) Validate() error {
 10537  	invalidParams := request.ErrInvalidParams{Context: "DeregisterRdsDbInstanceInput"}
 10538  	if s.RdsDbInstanceArn == nil {
 10539  		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
 10540  	}
 10541  
 10542  	if invalidParams.Len() > 0 {
 10543  		return invalidParams
 10544  	}
 10545  	return nil
 10546  }
 10547  
 10548  // SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
 10549  func (s *DeregisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *DeregisterRdsDbInstanceInput {
 10550  	s.RdsDbInstanceArn = &v
 10551  	return s
 10552  }
 10553  
 10554  type DeregisterRdsDbInstanceOutput struct {
 10555  	_ struct{} `type:"structure"`
 10556  }
 10557  
 10558  // String returns the string representation.
 10559  //
 10560  // API parameter values that are decorated as "sensitive" in the API will not
 10561  // be included in the string output. The member name will be present, but the
 10562  // value will be replaced with "sensitive".
 10563  func (s DeregisterRdsDbInstanceOutput) String() string {
 10564  	return awsutil.Prettify(s)
 10565  }
 10566  
 10567  // GoString returns the string representation.
 10568  //
 10569  // API parameter values that are decorated as "sensitive" in the API will not
 10570  // be included in the string output. The member name will be present, but the
 10571  // value will be replaced with "sensitive".
 10572  func (s DeregisterRdsDbInstanceOutput) GoString() string {
 10573  	return s.String()
 10574  }
 10575  
 10576  type DeregisterVolumeInput struct {
 10577  	_ struct{} `type:"structure"`
 10578  
 10579  	// The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks
 10580  	// assigned to the instance when you registered the volume with the stack, not
 10581  	// the Amazon EC2 volume ID.
 10582  	//
 10583  	// VolumeId is a required field
 10584  	VolumeId *string `type:"string" required:"true"`
 10585  }
 10586  
 10587  // String returns the string representation.
 10588  //
 10589  // API parameter values that are decorated as "sensitive" in the API will not
 10590  // be included in the string output. The member name will be present, but the
 10591  // value will be replaced with "sensitive".
 10592  func (s DeregisterVolumeInput) String() string {
 10593  	return awsutil.Prettify(s)
 10594  }
 10595  
 10596  // GoString returns the string representation.
 10597  //
 10598  // API parameter values that are decorated as "sensitive" in the API will not
 10599  // be included in the string output. The member name will be present, but the
 10600  // value will be replaced with "sensitive".
 10601  func (s DeregisterVolumeInput) GoString() string {
 10602  	return s.String()
 10603  }
 10604  
 10605  // Validate inspects the fields of the type to determine if they are valid.
 10606  func (s *DeregisterVolumeInput) Validate() error {
 10607  	invalidParams := request.ErrInvalidParams{Context: "DeregisterVolumeInput"}
 10608  	if s.VolumeId == nil {
 10609  		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
 10610  	}
 10611  
 10612  	if invalidParams.Len() > 0 {
 10613  		return invalidParams
 10614  	}
 10615  	return nil
 10616  }
 10617  
 10618  // SetVolumeId sets the VolumeId field's value.
 10619  func (s *DeregisterVolumeInput) SetVolumeId(v string) *DeregisterVolumeInput {
 10620  	s.VolumeId = &v
 10621  	return s
 10622  }
 10623  
 10624  type DeregisterVolumeOutput struct {
 10625  	_ struct{} `type:"structure"`
 10626  }
 10627  
 10628  // String returns the string representation.
 10629  //
 10630  // API parameter values that are decorated as "sensitive" in the API will not
 10631  // be included in the string output. The member name will be present, but the
 10632  // value will be replaced with "sensitive".
 10633  func (s DeregisterVolumeOutput) String() string {
 10634  	return awsutil.Prettify(s)
 10635  }
 10636  
 10637  // GoString returns the string representation.
 10638  //
 10639  // API parameter values that are decorated as "sensitive" in the API will not
 10640  // be included in the string output. The member name will be present, but the
 10641  // value will be replaced with "sensitive".
 10642  func (s DeregisterVolumeOutput) GoString() string {
 10643  	return s.String()
 10644  }
 10645  
 10646  type DescribeAgentVersionsInput struct {
 10647  	_ struct{} `type:"structure"`
 10648  
 10649  	// The configuration manager.
 10650  	ConfigurationManager *StackConfigurationManager `type:"structure"`
 10651  
 10652  	// The stack ID.
 10653  	StackId *string `type:"string"`
 10654  }
 10655  
 10656  // String returns the string representation.
 10657  //
 10658  // API parameter values that are decorated as "sensitive" in the API will not
 10659  // be included in the string output. The member name will be present, but the
 10660  // value will be replaced with "sensitive".
 10661  func (s DescribeAgentVersionsInput) String() string {
 10662  	return awsutil.Prettify(s)
 10663  }
 10664  
 10665  // GoString returns the string representation.
 10666  //
 10667  // API parameter values that are decorated as "sensitive" in the API will not
 10668  // be included in the string output. The member name will be present, but the
 10669  // value will be replaced with "sensitive".
 10670  func (s DescribeAgentVersionsInput) GoString() string {
 10671  	return s.String()
 10672  }
 10673  
 10674  // SetConfigurationManager sets the ConfigurationManager field's value.
 10675  func (s *DescribeAgentVersionsInput) SetConfigurationManager(v *StackConfigurationManager) *DescribeAgentVersionsInput {
 10676  	s.ConfigurationManager = v
 10677  	return s
 10678  }
 10679  
 10680  // SetStackId sets the StackId field's value.
 10681  func (s *DescribeAgentVersionsInput) SetStackId(v string) *DescribeAgentVersionsInput {
 10682  	s.StackId = &v
 10683  	return s
 10684  }
 10685  
 10686  // Contains the response to a DescribeAgentVersions request.
 10687  type DescribeAgentVersionsOutput struct {
 10688  	_ struct{} `type:"structure"`
 10689  
 10690  	// The agent versions for the specified stack or configuration manager. Note
 10691  	// that this value is the complete version number, not the abbreviated number
 10692  	// used by the console.
 10693  	AgentVersions []*AgentVersion `type:"list"`
 10694  }
 10695  
 10696  // String returns the string representation.
 10697  //
 10698  // API parameter values that are decorated as "sensitive" in the API will not
 10699  // be included in the string output. The member name will be present, but the
 10700  // value will be replaced with "sensitive".
 10701  func (s DescribeAgentVersionsOutput) String() string {
 10702  	return awsutil.Prettify(s)
 10703  }
 10704  
 10705  // GoString returns the string representation.
 10706  //
 10707  // API parameter values that are decorated as "sensitive" in the API will not
 10708  // be included in the string output. The member name will be present, but the
 10709  // value will be replaced with "sensitive".
 10710  func (s DescribeAgentVersionsOutput) GoString() string {
 10711  	return s.String()
 10712  }
 10713  
 10714  // SetAgentVersions sets the AgentVersions field's value.
 10715  func (s *DescribeAgentVersionsOutput) SetAgentVersions(v []*AgentVersion) *DescribeAgentVersionsOutput {
 10716  	s.AgentVersions = v
 10717  	return s
 10718  }
 10719  
 10720  type DescribeAppsInput struct {
 10721  	_ struct{} `type:"structure"`
 10722  
 10723  	// An array of app IDs for the apps to be described. If you use this parameter,
 10724  	// DescribeApps returns a description of the specified apps. Otherwise, it returns
 10725  	// a description of every app.
 10726  	AppIds []*string `type:"list"`
 10727  
 10728  	// The app stack ID. If you use this parameter, DescribeApps returns a description
 10729  	// of the apps in the specified stack.
 10730  	StackId *string `type:"string"`
 10731  }
 10732  
 10733  // String returns the string representation.
 10734  //
 10735  // API parameter values that are decorated as "sensitive" in the API will not
 10736  // be included in the string output. The member name will be present, but the
 10737  // value will be replaced with "sensitive".
 10738  func (s DescribeAppsInput) String() string {
 10739  	return awsutil.Prettify(s)
 10740  }
 10741  
 10742  // GoString returns the string representation.
 10743  //
 10744  // API parameter values that are decorated as "sensitive" in the API will not
 10745  // be included in the string output. The member name will be present, but the
 10746  // value will be replaced with "sensitive".
 10747  func (s DescribeAppsInput) GoString() string {
 10748  	return s.String()
 10749  }
 10750  
 10751  // SetAppIds sets the AppIds field's value.
 10752  func (s *DescribeAppsInput) SetAppIds(v []*string) *DescribeAppsInput {
 10753  	s.AppIds = v
 10754  	return s
 10755  }
 10756  
 10757  // SetStackId sets the StackId field's value.
 10758  func (s *DescribeAppsInput) SetStackId(v string) *DescribeAppsInput {
 10759  	s.StackId = &v
 10760  	return s
 10761  }
 10762  
 10763  // Contains the response to a DescribeApps request.
 10764  type DescribeAppsOutput struct {
 10765  	_ struct{} `type:"structure"`
 10766  
 10767  	// An array of App objects that describe the specified apps.
 10768  	Apps []*App `type:"list"`
 10769  }
 10770  
 10771  // String returns the string representation.
 10772  //
 10773  // API parameter values that are decorated as "sensitive" in the API will not
 10774  // be included in the string output. The member name will be present, but the
 10775  // value will be replaced with "sensitive".
 10776  func (s DescribeAppsOutput) String() string {
 10777  	return awsutil.Prettify(s)
 10778  }
 10779  
 10780  // GoString returns the string representation.
 10781  //
 10782  // API parameter values that are decorated as "sensitive" in the API will not
 10783  // be included in the string output. The member name will be present, but the
 10784  // value will be replaced with "sensitive".
 10785  func (s DescribeAppsOutput) GoString() string {
 10786  	return s.String()
 10787  }
 10788  
 10789  // SetApps sets the Apps field's value.
 10790  func (s *DescribeAppsOutput) SetApps(v []*App) *DescribeAppsOutput {
 10791  	s.Apps = v
 10792  	return s
 10793  }
 10794  
 10795  type DescribeCommandsInput struct {
 10796  	_ struct{} `type:"structure"`
 10797  
 10798  	// An array of command IDs. If you include this parameter, DescribeCommands
 10799  	// returns a description of the specified commands. Otherwise, it returns a
 10800  	// description of every command.
 10801  	CommandIds []*string `type:"list"`
 10802  
 10803  	// The deployment ID. If you include this parameter, DescribeCommands returns
 10804  	// a description of the commands associated with the specified deployment.
 10805  	DeploymentId *string `type:"string"`
 10806  
 10807  	// The instance ID. If you include this parameter, DescribeCommands returns
 10808  	// a description of the commands associated with the specified instance.
 10809  	InstanceId *string `type:"string"`
 10810  }
 10811  
 10812  // String returns the string representation.
 10813  //
 10814  // API parameter values that are decorated as "sensitive" in the API will not
 10815  // be included in the string output. The member name will be present, but the
 10816  // value will be replaced with "sensitive".
 10817  func (s DescribeCommandsInput) String() string {
 10818  	return awsutil.Prettify(s)
 10819  }
 10820  
 10821  // GoString returns the string representation.
 10822  //
 10823  // API parameter values that are decorated as "sensitive" in the API will not
 10824  // be included in the string output. The member name will be present, but the
 10825  // value will be replaced with "sensitive".
 10826  func (s DescribeCommandsInput) GoString() string {
 10827  	return s.String()
 10828  }
 10829  
 10830  // SetCommandIds sets the CommandIds field's value.
 10831  func (s *DescribeCommandsInput) SetCommandIds(v []*string) *DescribeCommandsInput {
 10832  	s.CommandIds = v
 10833  	return s
 10834  }
 10835  
 10836  // SetDeploymentId sets the DeploymentId field's value.
 10837  func (s *DescribeCommandsInput) SetDeploymentId(v string) *DescribeCommandsInput {
 10838  	s.DeploymentId = &v
 10839  	return s
 10840  }
 10841  
 10842  // SetInstanceId sets the InstanceId field's value.
 10843  func (s *DescribeCommandsInput) SetInstanceId(v string) *DescribeCommandsInput {
 10844  	s.InstanceId = &v
 10845  	return s
 10846  }
 10847  
 10848  // Contains the response to a DescribeCommands request.
 10849  type DescribeCommandsOutput struct {
 10850  	_ struct{} `type:"structure"`
 10851  
 10852  	// An array of Command objects that describe each of the specified commands.
 10853  	Commands []*Command `type:"list"`
 10854  }
 10855  
 10856  // String returns the string representation.
 10857  //
 10858  // API parameter values that are decorated as "sensitive" in the API will not
 10859  // be included in the string output. The member name will be present, but the
 10860  // value will be replaced with "sensitive".
 10861  func (s DescribeCommandsOutput) String() string {
 10862  	return awsutil.Prettify(s)
 10863  }
 10864  
 10865  // GoString returns the string representation.
 10866  //
 10867  // API parameter values that are decorated as "sensitive" in the API will not
 10868  // be included in the string output. The member name will be present, but the
 10869  // value will be replaced with "sensitive".
 10870  func (s DescribeCommandsOutput) GoString() string {
 10871  	return s.String()
 10872  }
 10873  
 10874  // SetCommands sets the Commands field's value.
 10875  func (s *DescribeCommandsOutput) SetCommands(v []*Command) *DescribeCommandsOutput {
 10876  	s.Commands = v
 10877  	return s
 10878  }
 10879  
 10880  type DescribeDeploymentsInput struct {
 10881  	_ struct{} `type:"structure"`
 10882  
 10883  	// The app ID. If you include this parameter, the command returns a description
 10884  	// of the commands associated with the specified app.
 10885  	AppId *string `type:"string"`
 10886  
 10887  	// An array of deployment IDs to be described. If you include this parameter,
 10888  	// the command returns a description of the specified deployments. Otherwise,
 10889  	// it returns a description of every deployment.
 10890  	DeploymentIds []*string `type:"list"`
 10891  
 10892  	// The stack ID. If you include this parameter, the command returns a description
 10893  	// of the commands associated with the specified stack.
 10894  	StackId *string `type:"string"`
 10895  }
 10896  
 10897  // String returns the string representation.
 10898  //
 10899  // API parameter values that are decorated as "sensitive" in the API will not
 10900  // be included in the string output. The member name will be present, but the
 10901  // value will be replaced with "sensitive".
 10902  func (s DescribeDeploymentsInput) String() string {
 10903  	return awsutil.Prettify(s)
 10904  }
 10905  
 10906  // GoString returns the string representation.
 10907  //
 10908  // API parameter values that are decorated as "sensitive" in the API will not
 10909  // be included in the string output. The member name will be present, but the
 10910  // value will be replaced with "sensitive".
 10911  func (s DescribeDeploymentsInput) GoString() string {
 10912  	return s.String()
 10913  }
 10914  
 10915  // SetAppId sets the AppId field's value.
 10916  func (s *DescribeDeploymentsInput) SetAppId(v string) *DescribeDeploymentsInput {
 10917  	s.AppId = &v
 10918  	return s
 10919  }
 10920  
 10921  // SetDeploymentIds sets the DeploymentIds field's value.
 10922  func (s *DescribeDeploymentsInput) SetDeploymentIds(v []*string) *DescribeDeploymentsInput {
 10923  	s.DeploymentIds = v
 10924  	return s
 10925  }
 10926  
 10927  // SetStackId sets the StackId field's value.
 10928  func (s *DescribeDeploymentsInput) SetStackId(v string) *DescribeDeploymentsInput {
 10929  	s.StackId = &v
 10930  	return s
 10931  }
 10932  
 10933  // Contains the response to a DescribeDeployments request.
 10934  type DescribeDeploymentsOutput struct {
 10935  	_ struct{} `type:"structure"`
 10936  
 10937  	// An array of Deployment objects that describe the deployments.
 10938  	Deployments []*Deployment `type:"list"`
 10939  }
 10940  
 10941  // String returns the string representation.
 10942  //
 10943  // API parameter values that are decorated as "sensitive" in the API will not
 10944  // be included in the string output. The member name will be present, but the
 10945  // value will be replaced with "sensitive".
 10946  func (s DescribeDeploymentsOutput) String() string {
 10947  	return awsutil.Prettify(s)
 10948  }
 10949  
 10950  // GoString returns the string representation.
 10951  //
 10952  // API parameter values that are decorated as "sensitive" in the API will not
 10953  // be included in the string output. The member name will be present, but the
 10954  // value will be replaced with "sensitive".
 10955  func (s DescribeDeploymentsOutput) GoString() string {
 10956  	return s.String()
 10957  }
 10958  
 10959  // SetDeployments sets the Deployments field's value.
 10960  func (s *DescribeDeploymentsOutput) SetDeployments(v []*Deployment) *DescribeDeploymentsOutput {
 10961  	s.Deployments = v
 10962  	return s
 10963  }
 10964  
 10965  type DescribeEcsClustersInput struct {
 10966  	_ struct{} `type:"structure"`
 10967  
 10968  	// A list of ARNs, one for each cluster to be described.
 10969  	EcsClusterArns []*string `type:"list"`
 10970  
 10971  	// To receive a paginated response, use this parameter to specify the maximum
 10972  	// number of results to be returned with a single call. If the number of available
 10973  	// results exceeds this maximum, the response includes a NextToken value that
 10974  	// you can assign to the NextToken request parameter to get the next set of
 10975  	// results.
 10976  	MaxResults *int64 `type:"integer"`
 10977  
 10978  	// If the previous paginated request did not return all of the remaining results,
 10979  	// the response object'sNextToken parameter value is set to a token. To retrieve
 10980  	// the next set of results, call DescribeEcsClusters again and assign that token
 10981  	// to the request object's NextToken parameter. If there are no remaining results,
 10982  	// the previous response object's NextToken parameter is set to null.
 10983  	NextToken *string `type:"string"`
 10984  
 10985  	// A stack ID. DescribeEcsClusters returns a description of the cluster that
 10986  	// is registered with the stack.
 10987  	StackId *string `type:"string"`
 10988  }
 10989  
 10990  // String returns the string representation.
 10991  //
 10992  // API parameter values that are decorated as "sensitive" in the API will not
 10993  // be included in the string output. The member name will be present, but the
 10994  // value will be replaced with "sensitive".
 10995  func (s DescribeEcsClustersInput) String() string {
 10996  	return awsutil.Prettify(s)
 10997  }
 10998  
 10999  // GoString returns the string representation.
 11000  //
 11001  // API parameter values that are decorated as "sensitive" in the API will not
 11002  // be included in the string output. The member name will be present, but the
 11003  // value will be replaced with "sensitive".
 11004  func (s DescribeEcsClustersInput) GoString() string {
 11005  	return s.String()
 11006  }
 11007  
 11008  // SetEcsClusterArns sets the EcsClusterArns field's value.
 11009  func (s *DescribeEcsClustersInput) SetEcsClusterArns(v []*string) *DescribeEcsClustersInput {
 11010  	s.EcsClusterArns = v
 11011  	return s
 11012  }
 11013  
 11014  // SetMaxResults sets the MaxResults field's value.
 11015  func (s *DescribeEcsClustersInput) SetMaxResults(v int64) *DescribeEcsClustersInput {
 11016  	s.MaxResults = &v
 11017  	return s
 11018  }
 11019  
 11020  // SetNextToken sets the NextToken field's value.
 11021  func (s *DescribeEcsClustersInput) SetNextToken(v string) *DescribeEcsClustersInput {
 11022  	s.NextToken = &v
 11023  	return s
 11024  }
 11025  
 11026  // SetStackId sets the StackId field's value.
 11027  func (s *DescribeEcsClustersInput) SetStackId(v string) *DescribeEcsClustersInput {
 11028  	s.StackId = &v
 11029  	return s
 11030  }
 11031  
 11032  // Contains the response to a DescribeEcsClusters request.
 11033  type DescribeEcsClustersOutput struct {
 11034  	_ struct{} `type:"structure"`
 11035  
 11036  	// A list of EcsCluster objects containing the cluster descriptions.
 11037  	EcsClusters []*EcsCluster `type:"list"`
 11038  
 11039  	// If a paginated request does not return all of the remaining results, this
 11040  	// parameter is set to a token that you can assign to the request object's NextToken
 11041  	// parameter to retrieve the next set of results. If the previous paginated
 11042  	// request returned all of the remaining results, this parameter is set to null.
 11043  	NextToken *string `type:"string"`
 11044  }
 11045  
 11046  // String returns the string representation.
 11047  //
 11048  // API parameter values that are decorated as "sensitive" in the API will not
 11049  // be included in the string output. The member name will be present, but the
 11050  // value will be replaced with "sensitive".
 11051  func (s DescribeEcsClustersOutput) String() string {
 11052  	return awsutil.Prettify(s)
 11053  }
 11054  
 11055  // GoString returns the string representation.
 11056  //
 11057  // API parameter values that are decorated as "sensitive" in the API will not
 11058  // be included in the string output. The member name will be present, but the
 11059  // value will be replaced with "sensitive".
 11060  func (s DescribeEcsClustersOutput) GoString() string {
 11061  	return s.String()
 11062  }
 11063  
 11064  // SetEcsClusters sets the EcsClusters field's value.
 11065  func (s *DescribeEcsClustersOutput) SetEcsClusters(v []*EcsCluster) *DescribeEcsClustersOutput {
 11066  	s.EcsClusters = v
 11067  	return s
 11068  }
 11069  
 11070  // SetNextToken sets the NextToken field's value.
 11071  func (s *DescribeEcsClustersOutput) SetNextToken(v string) *DescribeEcsClustersOutput {
 11072  	s.NextToken = &v
 11073  	return s
 11074  }
 11075  
 11076  type DescribeElasticIpsInput struct {
 11077  	_ struct{} `type:"structure"`
 11078  
 11079  	// The instance ID. If you include this parameter, DescribeElasticIps returns
 11080  	// a description of the Elastic IP addresses associated with the specified instance.
 11081  	InstanceId *string `type:"string"`
 11082  
 11083  	// An array of Elastic IP addresses to be described. If you include this parameter,
 11084  	// DescribeElasticIps returns a description of the specified Elastic IP addresses.
 11085  	// Otherwise, it returns a description of every Elastic IP address.
 11086  	Ips []*string `type:"list"`
 11087  
 11088  	// A stack ID. If you include this parameter, DescribeElasticIps returns a description
 11089  	// of the Elastic IP addresses that are registered with the specified stack.
 11090  	StackId *string `type:"string"`
 11091  }
 11092  
 11093  // String returns the string representation.
 11094  //
 11095  // API parameter values that are decorated as "sensitive" in the API will not
 11096  // be included in the string output. The member name will be present, but the
 11097  // value will be replaced with "sensitive".
 11098  func (s DescribeElasticIpsInput) String() string {
 11099  	return awsutil.Prettify(s)
 11100  }
 11101  
 11102  // GoString returns the string representation.
 11103  //
 11104  // API parameter values that are decorated as "sensitive" in the API will not
 11105  // be included in the string output. The member name will be present, but the
 11106  // value will be replaced with "sensitive".
 11107  func (s DescribeElasticIpsInput) GoString() string {
 11108  	return s.String()
 11109  }
 11110  
 11111  // SetInstanceId sets the InstanceId field's value.
 11112  func (s *DescribeElasticIpsInput) SetInstanceId(v string) *DescribeElasticIpsInput {
 11113  	s.InstanceId = &v
 11114  	return s
 11115  }
 11116  
 11117  // SetIps sets the Ips field's value.
 11118  func (s *DescribeElasticIpsInput) SetIps(v []*string) *DescribeElasticIpsInput {
 11119  	s.Ips = v
 11120  	return s
 11121  }
 11122  
 11123  // SetStackId sets the StackId field's value.
 11124  func (s *DescribeElasticIpsInput) SetStackId(v string) *DescribeElasticIpsInput {
 11125  	s.StackId = &v
 11126  	return s
 11127  }
 11128  
 11129  // Contains the response to a DescribeElasticIps request.
 11130  type DescribeElasticIpsOutput struct {
 11131  	_ struct{} `type:"structure"`
 11132  
 11133  	// An ElasticIps object that describes the specified Elastic IP addresses.
 11134  	ElasticIps []*ElasticIp `type:"list"`
 11135  }
 11136  
 11137  // String returns the string representation.
 11138  //
 11139  // API parameter values that are decorated as "sensitive" in the API will not
 11140  // be included in the string output. The member name will be present, but the
 11141  // value will be replaced with "sensitive".
 11142  func (s DescribeElasticIpsOutput) String() string {
 11143  	return awsutil.Prettify(s)
 11144  }
 11145  
 11146  // GoString returns the string representation.
 11147  //
 11148  // API parameter values that are decorated as "sensitive" in the API will not
 11149  // be included in the string output. The member name will be present, but the
 11150  // value will be replaced with "sensitive".
 11151  func (s DescribeElasticIpsOutput) GoString() string {
 11152  	return s.String()
 11153  }
 11154  
 11155  // SetElasticIps sets the ElasticIps field's value.
 11156  func (s *DescribeElasticIpsOutput) SetElasticIps(v []*ElasticIp) *DescribeElasticIpsOutput {
 11157  	s.ElasticIps = v
 11158  	return s
 11159  }
 11160  
 11161  type DescribeElasticLoadBalancersInput struct {
 11162  	_ struct{} `type:"structure"`
 11163  
 11164  	// A list of layer IDs. The action describes the Elastic Load Balancing instances
 11165  	// for the specified layers.
 11166  	LayerIds []*string `type:"list"`
 11167  
 11168  	// A stack ID. The action describes the stack's Elastic Load Balancing instances.
 11169  	StackId *string `type:"string"`
 11170  }
 11171  
 11172  // String returns the string representation.
 11173  //
 11174  // API parameter values that are decorated as "sensitive" in the API will not
 11175  // be included in the string output. The member name will be present, but the
 11176  // value will be replaced with "sensitive".
 11177  func (s DescribeElasticLoadBalancersInput) String() string {
 11178  	return awsutil.Prettify(s)
 11179  }
 11180  
 11181  // GoString returns the string representation.
 11182  //
 11183  // API parameter values that are decorated as "sensitive" in the API will not
 11184  // be included in the string output. The member name will be present, but the
 11185  // value will be replaced with "sensitive".
 11186  func (s DescribeElasticLoadBalancersInput) GoString() string {
 11187  	return s.String()
 11188  }
 11189  
 11190  // SetLayerIds sets the LayerIds field's value.
 11191  func (s *DescribeElasticLoadBalancersInput) SetLayerIds(v []*string) *DescribeElasticLoadBalancersInput {
 11192  	s.LayerIds = v
 11193  	return s
 11194  }
 11195  
 11196  // SetStackId sets the StackId field's value.
 11197  func (s *DescribeElasticLoadBalancersInput) SetStackId(v string) *DescribeElasticLoadBalancersInput {
 11198  	s.StackId = &v
 11199  	return s
 11200  }
 11201  
 11202  // Contains the response to a DescribeElasticLoadBalancers request.
 11203  type DescribeElasticLoadBalancersOutput struct {
 11204  	_ struct{} `type:"structure"`
 11205  
 11206  	// A list of ElasticLoadBalancer objects that describe the specified Elastic
 11207  	// Load Balancing instances.
 11208  	ElasticLoadBalancers []*ElasticLoadBalancer `type:"list"`
 11209  }
 11210  
 11211  // String returns the string representation.
 11212  //
 11213  // API parameter values that are decorated as "sensitive" in the API will not
 11214  // be included in the string output. The member name will be present, but the
 11215  // value will be replaced with "sensitive".
 11216  func (s DescribeElasticLoadBalancersOutput) String() string {
 11217  	return awsutil.Prettify(s)
 11218  }
 11219  
 11220  // GoString returns the string representation.
 11221  //
 11222  // API parameter values that are decorated as "sensitive" in the API will not
 11223  // be included in the string output. The member name will be present, but the
 11224  // value will be replaced with "sensitive".
 11225  func (s DescribeElasticLoadBalancersOutput) GoString() string {
 11226  	return s.String()
 11227  }
 11228  
 11229  // SetElasticLoadBalancers sets the ElasticLoadBalancers field's value.
 11230  func (s *DescribeElasticLoadBalancersOutput) SetElasticLoadBalancers(v []*ElasticLoadBalancer) *DescribeElasticLoadBalancersOutput {
 11231  	s.ElasticLoadBalancers = v
 11232  	return s
 11233  }
 11234  
 11235  type DescribeInstancesInput struct {
 11236  	_ struct{} `type:"structure"`
 11237  
 11238  	// An array of instance IDs to be described. If you use this parameter, DescribeInstances
 11239  	// returns a description of the specified instances. Otherwise, it returns a
 11240  	// description of every instance.
 11241  	InstanceIds []*string `type:"list"`
 11242  
 11243  	// A layer ID. If you use this parameter, DescribeInstances returns descriptions
 11244  	// of the instances associated with the specified layer.
 11245  	LayerId *string `type:"string"`
 11246  
 11247  	// A stack ID. If you use this parameter, DescribeInstances returns descriptions
 11248  	// of the instances associated with the specified stack.
 11249  	StackId *string `type:"string"`
 11250  }
 11251  
 11252  // String returns the string representation.
 11253  //
 11254  // API parameter values that are decorated as "sensitive" in the API will not
 11255  // be included in the string output. The member name will be present, but the
 11256  // value will be replaced with "sensitive".
 11257  func (s DescribeInstancesInput) String() string {
 11258  	return awsutil.Prettify(s)
 11259  }
 11260  
 11261  // GoString returns the string representation.
 11262  //
 11263  // API parameter values that are decorated as "sensitive" in the API will not
 11264  // be included in the string output. The member name will be present, but the
 11265  // value will be replaced with "sensitive".
 11266  func (s DescribeInstancesInput) GoString() string {
 11267  	return s.String()
 11268  }
 11269  
 11270  // SetInstanceIds sets the InstanceIds field's value.
 11271  func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
 11272  	s.InstanceIds = v
 11273  	return s
 11274  }
 11275  
 11276  // SetLayerId sets the LayerId field's value.
 11277  func (s *DescribeInstancesInput) SetLayerId(v string) *DescribeInstancesInput {
 11278  	s.LayerId = &v
 11279  	return s
 11280  }
 11281  
 11282  // SetStackId sets the StackId field's value.
 11283  func (s *DescribeInstancesInput) SetStackId(v string) *DescribeInstancesInput {
 11284  	s.StackId = &v
 11285  	return s
 11286  }
 11287  
 11288  // Contains the response to a DescribeInstances request.
 11289  type DescribeInstancesOutput struct {
 11290  	_ struct{} `type:"structure"`
 11291  
 11292  	// An array of Instance objects that describe the instances.
 11293  	Instances []*Instance `type:"list"`
 11294  }
 11295  
 11296  // String returns the string representation.
 11297  //
 11298  // API parameter values that are decorated as "sensitive" in the API will not
 11299  // be included in the string output. The member name will be present, but the
 11300  // value will be replaced with "sensitive".
 11301  func (s DescribeInstancesOutput) String() string {
 11302  	return awsutil.Prettify(s)
 11303  }
 11304  
 11305  // GoString returns the string representation.
 11306  //
 11307  // API parameter values that are decorated as "sensitive" in the API will not
 11308  // be included in the string output. The member name will be present, but the
 11309  // value will be replaced with "sensitive".
 11310  func (s DescribeInstancesOutput) GoString() string {
 11311  	return s.String()
 11312  }
 11313  
 11314  // SetInstances sets the Instances field's value.
 11315  func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
 11316  	s.Instances = v
 11317  	return s
 11318  }
 11319  
 11320  type DescribeLayersInput struct {
 11321  	_ struct{} `type:"structure"`
 11322  
 11323  	// An array of layer IDs that specify the layers to be described. If you omit
 11324  	// this parameter, DescribeLayers returns a description of every layer in the
 11325  	// specified stack.
 11326  	LayerIds []*string `type:"list"`
 11327  
 11328  	// The stack ID.
 11329  	StackId *string `type:"string"`
 11330  }
 11331  
 11332  // String returns the string representation.
 11333  //
 11334  // API parameter values that are decorated as "sensitive" in the API will not
 11335  // be included in the string output. The member name will be present, but the
 11336  // value will be replaced with "sensitive".
 11337  func (s DescribeLayersInput) String() string {
 11338  	return awsutil.Prettify(s)
 11339  }
 11340  
 11341  // GoString returns the string representation.
 11342  //
 11343  // API parameter values that are decorated as "sensitive" in the API will not
 11344  // be included in the string output. The member name will be present, but the
 11345  // value will be replaced with "sensitive".
 11346  func (s DescribeLayersInput) GoString() string {
 11347  	return s.String()
 11348  }
 11349  
 11350  // SetLayerIds sets the LayerIds field's value.
 11351  func (s *DescribeLayersInput) SetLayerIds(v []*string) *DescribeLayersInput {
 11352  	s.LayerIds = v
 11353  	return s
 11354  }
 11355  
 11356  // SetStackId sets the StackId field's value.
 11357  func (s *DescribeLayersInput) SetStackId(v string) *DescribeLayersInput {
 11358  	s.StackId = &v
 11359  	return s
 11360  }
 11361  
 11362  // Contains the response to a DescribeLayers request.
 11363  type DescribeLayersOutput struct {
 11364  	_ struct{} `type:"structure"`
 11365  
 11366  	// An array of Layer objects that describe the layers.
 11367  	Layers []*Layer `type:"list"`
 11368  }
 11369  
 11370  // String returns the string representation.
 11371  //
 11372  // API parameter values that are decorated as "sensitive" in the API will not
 11373  // be included in the string output. The member name will be present, but the
 11374  // value will be replaced with "sensitive".
 11375  func (s DescribeLayersOutput) String() string {
 11376  	return awsutil.Prettify(s)
 11377  }
 11378  
 11379  // GoString returns the string representation.
 11380  //
 11381  // API parameter values that are decorated as "sensitive" in the API will not
 11382  // be included in the string output. The member name will be present, but the
 11383  // value will be replaced with "sensitive".
 11384  func (s DescribeLayersOutput) GoString() string {
 11385  	return s.String()
 11386  }
 11387  
 11388  // SetLayers sets the Layers field's value.
 11389  func (s *DescribeLayersOutput) SetLayers(v []*Layer) *DescribeLayersOutput {
 11390  	s.Layers = v
 11391  	return s
 11392  }
 11393  
 11394  type DescribeLoadBasedAutoScalingInput struct {
 11395  	_ struct{} `type:"structure"`
 11396  
 11397  	// An array of layer IDs.
 11398  	//
 11399  	// LayerIds is a required field
 11400  	LayerIds []*string `type:"list" required:"true"`
 11401  }
 11402  
 11403  // String returns the string representation.
 11404  //
 11405  // API parameter values that are decorated as "sensitive" in the API will not
 11406  // be included in the string output. The member name will be present, but the
 11407  // value will be replaced with "sensitive".
 11408  func (s DescribeLoadBasedAutoScalingInput) String() string {
 11409  	return awsutil.Prettify(s)
 11410  }
 11411  
 11412  // GoString returns the string representation.
 11413  //
 11414  // API parameter values that are decorated as "sensitive" in the API will not
 11415  // be included in the string output. The member name will be present, but the
 11416  // value will be replaced with "sensitive".
 11417  func (s DescribeLoadBasedAutoScalingInput) GoString() string {
 11418  	return s.String()
 11419  }
 11420  
 11421  // Validate inspects the fields of the type to determine if they are valid.
 11422  func (s *DescribeLoadBasedAutoScalingInput) Validate() error {
 11423  	invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBasedAutoScalingInput"}
 11424  	if s.LayerIds == nil {
 11425  		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
 11426  	}
 11427  
 11428  	if invalidParams.Len() > 0 {
 11429  		return invalidParams
 11430  	}
 11431  	return nil
 11432  }
 11433  
 11434  // SetLayerIds sets the LayerIds field's value.
 11435  func (s *DescribeLoadBasedAutoScalingInput) SetLayerIds(v []*string) *DescribeLoadBasedAutoScalingInput {
 11436  	s.LayerIds = v
 11437  	return s
 11438  }
 11439  
 11440  // Contains the response to a DescribeLoadBasedAutoScaling request.
 11441  type DescribeLoadBasedAutoScalingOutput struct {
 11442  	_ struct{} `type:"structure"`
 11443  
 11444  	// An array of LoadBasedAutoScalingConfiguration objects that describe each
 11445  	// layer's configuration.
 11446  	LoadBasedAutoScalingConfigurations []*LoadBasedAutoScalingConfiguration `type:"list"`
 11447  }
 11448  
 11449  // String returns the string representation.
 11450  //
 11451  // API parameter values that are decorated as "sensitive" in the API will not
 11452  // be included in the string output. The member name will be present, but the
 11453  // value will be replaced with "sensitive".
 11454  func (s DescribeLoadBasedAutoScalingOutput) String() string {
 11455  	return awsutil.Prettify(s)
 11456  }
 11457  
 11458  // GoString returns the string representation.
 11459  //
 11460  // API parameter values that are decorated as "sensitive" in the API will not
 11461  // be included in the string output. The member name will be present, but the
 11462  // value will be replaced with "sensitive".
 11463  func (s DescribeLoadBasedAutoScalingOutput) GoString() string {
 11464  	return s.String()
 11465  }
 11466  
 11467  // SetLoadBasedAutoScalingConfigurations sets the LoadBasedAutoScalingConfigurations field's value.
 11468  func (s *DescribeLoadBasedAutoScalingOutput) SetLoadBasedAutoScalingConfigurations(v []*LoadBasedAutoScalingConfiguration) *DescribeLoadBasedAutoScalingOutput {
 11469  	s.LoadBasedAutoScalingConfigurations = v
 11470  	return s
 11471  }
 11472  
 11473  type DescribeMyUserProfileInput struct {
 11474  	_ struct{} `type:"structure"`
 11475  }
 11476  
 11477  // String returns the string representation.
 11478  //
 11479  // API parameter values that are decorated as "sensitive" in the API will not
 11480  // be included in the string output. The member name will be present, but the
 11481  // value will be replaced with "sensitive".
 11482  func (s DescribeMyUserProfileInput) String() string {
 11483  	return awsutil.Prettify(s)
 11484  }
 11485  
 11486  // GoString returns the string representation.
 11487  //
 11488  // API parameter values that are decorated as "sensitive" in the API will not
 11489  // be included in the string output. The member name will be present, but the
 11490  // value will be replaced with "sensitive".
 11491  func (s DescribeMyUserProfileInput) GoString() string {
 11492  	return s.String()
 11493  }
 11494  
 11495  // Contains the response to a DescribeMyUserProfile request.
 11496  type DescribeMyUserProfileOutput struct {
 11497  	_ struct{} `type:"structure"`
 11498  
 11499  	// A UserProfile object that describes the user's SSH information.
 11500  	UserProfile *SelfUserProfile `type:"structure"`
 11501  }
 11502  
 11503  // String returns the string representation.
 11504  //
 11505  // API parameter values that are decorated as "sensitive" in the API will not
 11506  // be included in the string output. The member name will be present, but the
 11507  // value will be replaced with "sensitive".
 11508  func (s DescribeMyUserProfileOutput) String() string {
 11509  	return awsutil.Prettify(s)
 11510  }
 11511  
 11512  // GoString returns the string representation.
 11513  //
 11514  // API parameter values that are decorated as "sensitive" in the API will not
 11515  // be included in the string output. The member name will be present, but the
 11516  // value will be replaced with "sensitive".
 11517  func (s DescribeMyUserProfileOutput) GoString() string {
 11518  	return s.String()
 11519  }
 11520  
 11521  // SetUserProfile sets the UserProfile field's value.
 11522  func (s *DescribeMyUserProfileOutput) SetUserProfile(v *SelfUserProfile) *DescribeMyUserProfileOutput {
 11523  	s.UserProfile = v
 11524  	return s
 11525  }
 11526  
 11527  type DescribeOperatingSystemsInput struct {
 11528  	_ struct{} `type:"structure"`
 11529  }
 11530  
 11531  // String returns the string representation.
 11532  //
 11533  // API parameter values that are decorated as "sensitive" in the API will not
 11534  // be included in the string output. The member name will be present, but the
 11535  // value will be replaced with "sensitive".
 11536  func (s DescribeOperatingSystemsInput) String() string {
 11537  	return awsutil.Prettify(s)
 11538  }
 11539  
 11540  // GoString returns the string representation.
 11541  //
 11542  // API parameter values that are decorated as "sensitive" in the API will not
 11543  // be included in the string output. The member name will be present, but the
 11544  // value will be replaced with "sensitive".
 11545  func (s DescribeOperatingSystemsInput) GoString() string {
 11546  	return s.String()
 11547  }
 11548  
 11549  // The response to a DescribeOperatingSystems request.
 11550  type DescribeOperatingSystemsOutput struct {
 11551  	_ struct{} `type:"structure"`
 11552  
 11553  	// Contains information in response to a DescribeOperatingSystems request.
 11554  	OperatingSystems []*OperatingSystem `type:"list"`
 11555  }
 11556  
 11557  // String returns the string representation.
 11558  //
 11559  // API parameter values that are decorated as "sensitive" in the API will not
 11560  // be included in the string output. The member name will be present, but the
 11561  // value will be replaced with "sensitive".
 11562  func (s DescribeOperatingSystemsOutput) String() string {
 11563  	return awsutil.Prettify(s)
 11564  }
 11565  
 11566  // GoString returns the string representation.
 11567  //
 11568  // API parameter values that are decorated as "sensitive" in the API will not
 11569  // be included in the string output. The member name will be present, but the
 11570  // value will be replaced with "sensitive".
 11571  func (s DescribeOperatingSystemsOutput) GoString() string {
 11572  	return s.String()
 11573  }
 11574  
 11575  // SetOperatingSystems sets the OperatingSystems field's value.
 11576  func (s *DescribeOperatingSystemsOutput) SetOperatingSystems(v []*OperatingSystem) *DescribeOperatingSystemsOutput {
 11577  	s.OperatingSystems = v
 11578  	return s
 11579  }
 11580  
 11581  type DescribePermissionsInput struct {
 11582  	_ struct{} `type:"structure"`
 11583  
 11584  	// The user's IAM ARN. This can also be a federated user's ARN. For more information
 11585  	// about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 11586  	IamUserArn *string `type:"string"`
 11587  
 11588  	// The stack ID.
 11589  	StackId *string `type:"string"`
 11590  }
 11591  
 11592  // String returns the string representation.
 11593  //
 11594  // API parameter values that are decorated as "sensitive" in the API will not
 11595  // be included in the string output. The member name will be present, but the
 11596  // value will be replaced with "sensitive".
 11597  func (s DescribePermissionsInput) String() string {
 11598  	return awsutil.Prettify(s)
 11599  }
 11600  
 11601  // GoString returns the string representation.
 11602  //
 11603  // API parameter values that are decorated as "sensitive" in the API will not
 11604  // be included in the string output. The member name will be present, but the
 11605  // value will be replaced with "sensitive".
 11606  func (s DescribePermissionsInput) GoString() string {
 11607  	return s.String()
 11608  }
 11609  
 11610  // SetIamUserArn sets the IamUserArn field's value.
 11611  func (s *DescribePermissionsInput) SetIamUserArn(v string) *DescribePermissionsInput {
 11612  	s.IamUserArn = &v
 11613  	return s
 11614  }
 11615  
 11616  // SetStackId sets the StackId field's value.
 11617  func (s *DescribePermissionsInput) SetStackId(v string) *DescribePermissionsInput {
 11618  	s.StackId = &v
 11619  	return s
 11620  }
 11621  
 11622  // Contains the response to a DescribePermissions request.
 11623  type DescribePermissionsOutput struct {
 11624  	_ struct{} `type:"structure"`
 11625  
 11626  	// An array of Permission objects that describe the stack permissions.
 11627  	//
 11628  	//    * If the request object contains only a stack ID, the array contains a
 11629  	//    Permission object with permissions for each of the stack IAM ARNs.
 11630  	//
 11631  	//    * If the request object contains only an IAM ARN, the array contains a
 11632  	//    Permission object with permissions for each of the user's stack IDs.
 11633  	//
 11634  	//    * If the request contains a stack ID and an IAM ARN, the array contains
 11635  	//    a single Permission object with permissions for the specified stack and
 11636  	//    IAM ARN.
 11637  	Permissions []*Permission `type:"list"`
 11638  }
 11639  
 11640  // String returns the string representation.
 11641  //
 11642  // API parameter values that are decorated as "sensitive" in the API will not
 11643  // be included in the string output. The member name will be present, but the
 11644  // value will be replaced with "sensitive".
 11645  func (s DescribePermissionsOutput) String() string {
 11646  	return awsutil.Prettify(s)
 11647  }
 11648  
 11649  // GoString returns the string representation.
 11650  //
 11651  // API parameter values that are decorated as "sensitive" in the API will not
 11652  // be included in the string output. The member name will be present, but the
 11653  // value will be replaced with "sensitive".
 11654  func (s DescribePermissionsOutput) GoString() string {
 11655  	return s.String()
 11656  }
 11657  
 11658  // SetPermissions sets the Permissions field's value.
 11659  func (s *DescribePermissionsOutput) SetPermissions(v []*Permission) *DescribePermissionsOutput {
 11660  	s.Permissions = v
 11661  	return s
 11662  }
 11663  
 11664  type DescribeRaidArraysInput struct {
 11665  	_ struct{} `type:"structure"`
 11666  
 11667  	// The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions
 11668  	// of the RAID arrays associated with the specified instance.
 11669  	InstanceId *string `type:"string"`
 11670  
 11671  	// An array of RAID array IDs. If you use this parameter, DescribeRaidArrays
 11672  	// returns descriptions of the specified arrays. Otherwise, it returns a description
 11673  	// of every array.
 11674  	RaidArrayIds []*string `type:"list"`
 11675  
 11676  	// The stack ID.
 11677  	StackId *string `type:"string"`
 11678  }
 11679  
 11680  // String returns the string representation.
 11681  //
 11682  // API parameter values that are decorated as "sensitive" in the API will not
 11683  // be included in the string output. The member name will be present, but the
 11684  // value will be replaced with "sensitive".
 11685  func (s DescribeRaidArraysInput) String() string {
 11686  	return awsutil.Prettify(s)
 11687  }
 11688  
 11689  // GoString returns the string representation.
 11690  //
 11691  // API parameter values that are decorated as "sensitive" in the API will not
 11692  // be included in the string output. The member name will be present, but the
 11693  // value will be replaced with "sensitive".
 11694  func (s DescribeRaidArraysInput) GoString() string {
 11695  	return s.String()
 11696  }
 11697  
 11698  // SetInstanceId sets the InstanceId field's value.
 11699  func (s *DescribeRaidArraysInput) SetInstanceId(v string) *DescribeRaidArraysInput {
 11700  	s.InstanceId = &v
 11701  	return s
 11702  }
 11703  
 11704  // SetRaidArrayIds sets the RaidArrayIds field's value.
 11705  func (s *DescribeRaidArraysInput) SetRaidArrayIds(v []*string) *DescribeRaidArraysInput {
 11706  	s.RaidArrayIds = v
 11707  	return s
 11708  }
 11709  
 11710  // SetStackId sets the StackId field's value.
 11711  func (s *DescribeRaidArraysInput) SetStackId(v string) *DescribeRaidArraysInput {
 11712  	s.StackId = &v
 11713  	return s
 11714  }
 11715  
 11716  // Contains the response to a DescribeRaidArrays request.
 11717  type DescribeRaidArraysOutput struct {
 11718  	_ struct{} `type:"structure"`
 11719  
 11720  	// A RaidArrays object that describes the specified RAID arrays.
 11721  	RaidArrays []*RaidArray `type:"list"`
 11722  }
 11723  
 11724  // String returns the string representation.
 11725  //
 11726  // API parameter values that are decorated as "sensitive" in the API will not
 11727  // be included in the string output. The member name will be present, but the
 11728  // value will be replaced with "sensitive".
 11729  func (s DescribeRaidArraysOutput) String() string {
 11730  	return awsutil.Prettify(s)
 11731  }
 11732  
 11733  // GoString returns the string representation.
 11734  //
 11735  // API parameter values that are decorated as "sensitive" in the API will not
 11736  // be included in the string output. The member name will be present, but the
 11737  // value will be replaced with "sensitive".
 11738  func (s DescribeRaidArraysOutput) GoString() string {
 11739  	return s.String()
 11740  }
 11741  
 11742  // SetRaidArrays sets the RaidArrays field's value.
 11743  func (s *DescribeRaidArraysOutput) SetRaidArrays(v []*RaidArray) *DescribeRaidArraysOutput {
 11744  	s.RaidArrays = v
 11745  	return s
 11746  }
 11747  
 11748  type DescribeRdsDbInstancesInput struct {
 11749  	_ struct{} `type:"structure"`
 11750  
 11751  	// An array containing the ARNs of the instances to be described.
 11752  	RdsDbInstanceArns []*string `type:"list"`
 11753  
 11754  	// The ID of the stack with which the instances are registered. The operation
 11755  	// returns descriptions of all registered Amazon RDS instances.
 11756  	//
 11757  	// StackId is a required field
 11758  	StackId *string `type:"string" required:"true"`
 11759  }
 11760  
 11761  // String returns the string representation.
 11762  //
 11763  // API parameter values that are decorated as "sensitive" in the API will not
 11764  // be included in the string output. The member name will be present, but the
 11765  // value will be replaced with "sensitive".
 11766  func (s DescribeRdsDbInstancesInput) String() string {
 11767  	return awsutil.Prettify(s)
 11768  }
 11769  
 11770  // GoString returns the string representation.
 11771  //
 11772  // API parameter values that are decorated as "sensitive" in the API will not
 11773  // be included in the string output. The member name will be present, but the
 11774  // value will be replaced with "sensitive".
 11775  func (s DescribeRdsDbInstancesInput) GoString() string {
 11776  	return s.String()
 11777  }
 11778  
 11779  // Validate inspects the fields of the type to determine if they are valid.
 11780  func (s *DescribeRdsDbInstancesInput) Validate() error {
 11781  	invalidParams := request.ErrInvalidParams{Context: "DescribeRdsDbInstancesInput"}
 11782  	if s.StackId == nil {
 11783  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 11784  	}
 11785  
 11786  	if invalidParams.Len() > 0 {
 11787  		return invalidParams
 11788  	}
 11789  	return nil
 11790  }
 11791  
 11792  // SetRdsDbInstanceArns sets the RdsDbInstanceArns field's value.
 11793  func (s *DescribeRdsDbInstancesInput) SetRdsDbInstanceArns(v []*string) *DescribeRdsDbInstancesInput {
 11794  	s.RdsDbInstanceArns = v
 11795  	return s
 11796  }
 11797  
 11798  // SetStackId sets the StackId field's value.
 11799  func (s *DescribeRdsDbInstancesInput) SetStackId(v string) *DescribeRdsDbInstancesInput {
 11800  	s.StackId = &v
 11801  	return s
 11802  }
 11803  
 11804  // Contains the response to a DescribeRdsDbInstances request.
 11805  type DescribeRdsDbInstancesOutput struct {
 11806  	_ struct{} `type:"structure"`
 11807  
 11808  	// An a array of RdsDbInstance objects that describe the instances.
 11809  	RdsDbInstances []*RdsDbInstance `type:"list"`
 11810  }
 11811  
 11812  // String returns the string representation.
 11813  //
 11814  // API parameter values that are decorated as "sensitive" in the API will not
 11815  // be included in the string output. The member name will be present, but the
 11816  // value will be replaced with "sensitive".
 11817  func (s DescribeRdsDbInstancesOutput) String() string {
 11818  	return awsutil.Prettify(s)
 11819  }
 11820  
 11821  // GoString returns the string representation.
 11822  //
 11823  // API parameter values that are decorated as "sensitive" in the API will not
 11824  // be included in the string output. The member name will be present, but the
 11825  // value will be replaced with "sensitive".
 11826  func (s DescribeRdsDbInstancesOutput) GoString() string {
 11827  	return s.String()
 11828  }
 11829  
 11830  // SetRdsDbInstances sets the RdsDbInstances field's value.
 11831  func (s *DescribeRdsDbInstancesOutput) SetRdsDbInstances(v []*RdsDbInstance) *DescribeRdsDbInstancesOutput {
 11832  	s.RdsDbInstances = v
 11833  	return s
 11834  }
 11835  
 11836  type DescribeServiceErrorsInput struct {
 11837  	_ struct{} `type:"structure"`
 11838  
 11839  	// The instance ID. If you use this parameter, DescribeServiceErrors returns
 11840  	// descriptions of the errors associated with the specified instance.
 11841  	InstanceId *string `type:"string"`
 11842  
 11843  	// An array of service error IDs. If you use this parameter, DescribeServiceErrors
 11844  	// returns descriptions of the specified errors. Otherwise, it returns a description
 11845  	// of every error.
 11846  	ServiceErrorIds []*string `type:"list"`
 11847  
 11848  	// The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions
 11849  	// of the errors associated with the specified stack.
 11850  	StackId *string `type:"string"`
 11851  }
 11852  
 11853  // String returns the string representation.
 11854  //
 11855  // API parameter values that are decorated as "sensitive" in the API will not
 11856  // be included in the string output. The member name will be present, but the
 11857  // value will be replaced with "sensitive".
 11858  func (s DescribeServiceErrorsInput) String() string {
 11859  	return awsutil.Prettify(s)
 11860  }
 11861  
 11862  // GoString returns the string representation.
 11863  //
 11864  // API parameter values that are decorated as "sensitive" in the API will not
 11865  // be included in the string output. The member name will be present, but the
 11866  // value will be replaced with "sensitive".
 11867  func (s DescribeServiceErrorsInput) GoString() string {
 11868  	return s.String()
 11869  }
 11870  
 11871  // SetInstanceId sets the InstanceId field's value.
 11872  func (s *DescribeServiceErrorsInput) SetInstanceId(v string) *DescribeServiceErrorsInput {
 11873  	s.InstanceId = &v
 11874  	return s
 11875  }
 11876  
 11877  // SetServiceErrorIds sets the ServiceErrorIds field's value.
 11878  func (s *DescribeServiceErrorsInput) SetServiceErrorIds(v []*string) *DescribeServiceErrorsInput {
 11879  	s.ServiceErrorIds = v
 11880  	return s
 11881  }
 11882  
 11883  // SetStackId sets the StackId field's value.
 11884  func (s *DescribeServiceErrorsInput) SetStackId(v string) *DescribeServiceErrorsInput {
 11885  	s.StackId = &v
 11886  	return s
 11887  }
 11888  
 11889  // Contains the response to a DescribeServiceErrors request.
 11890  type DescribeServiceErrorsOutput struct {
 11891  	_ struct{} `type:"structure"`
 11892  
 11893  	// An array of ServiceError objects that describe the specified service errors.
 11894  	ServiceErrors []*ServiceError `type:"list"`
 11895  }
 11896  
 11897  // String returns the string representation.
 11898  //
 11899  // API parameter values that are decorated as "sensitive" in the API will not
 11900  // be included in the string output. The member name will be present, but the
 11901  // value will be replaced with "sensitive".
 11902  func (s DescribeServiceErrorsOutput) String() string {
 11903  	return awsutil.Prettify(s)
 11904  }
 11905  
 11906  // GoString returns the string representation.
 11907  //
 11908  // API parameter values that are decorated as "sensitive" in the API will not
 11909  // be included in the string output. The member name will be present, but the
 11910  // value will be replaced with "sensitive".
 11911  func (s DescribeServiceErrorsOutput) GoString() string {
 11912  	return s.String()
 11913  }
 11914  
 11915  // SetServiceErrors sets the ServiceErrors field's value.
 11916  func (s *DescribeServiceErrorsOutput) SetServiceErrors(v []*ServiceError) *DescribeServiceErrorsOutput {
 11917  	s.ServiceErrors = v
 11918  	return s
 11919  }
 11920  
 11921  type DescribeStackProvisioningParametersInput struct {
 11922  	_ struct{} `type:"structure"`
 11923  
 11924  	// The stack ID.
 11925  	//
 11926  	// StackId is a required field
 11927  	StackId *string `type:"string" required:"true"`
 11928  }
 11929  
 11930  // String returns the string representation.
 11931  //
 11932  // API parameter values that are decorated as "sensitive" in the API will not
 11933  // be included in the string output. The member name will be present, but the
 11934  // value will be replaced with "sensitive".
 11935  func (s DescribeStackProvisioningParametersInput) String() string {
 11936  	return awsutil.Prettify(s)
 11937  }
 11938  
 11939  // GoString returns the string representation.
 11940  //
 11941  // API parameter values that are decorated as "sensitive" in the API will not
 11942  // be included in the string output. The member name will be present, but the
 11943  // value will be replaced with "sensitive".
 11944  func (s DescribeStackProvisioningParametersInput) GoString() string {
 11945  	return s.String()
 11946  }
 11947  
 11948  // Validate inspects the fields of the type to determine if they are valid.
 11949  func (s *DescribeStackProvisioningParametersInput) Validate() error {
 11950  	invalidParams := request.ErrInvalidParams{Context: "DescribeStackProvisioningParametersInput"}
 11951  	if s.StackId == nil {
 11952  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 11953  	}
 11954  
 11955  	if invalidParams.Len() > 0 {
 11956  		return invalidParams
 11957  	}
 11958  	return nil
 11959  }
 11960  
 11961  // SetStackId sets the StackId field's value.
 11962  func (s *DescribeStackProvisioningParametersInput) SetStackId(v string) *DescribeStackProvisioningParametersInput {
 11963  	s.StackId = &v
 11964  	return s
 11965  }
 11966  
 11967  // Contains the response to a DescribeStackProvisioningParameters request.
 11968  type DescribeStackProvisioningParametersOutput struct {
 11969  	_ struct{} `type:"structure"`
 11970  
 11971  	// The AWS OpsWorks Stacks agent installer's URL.
 11972  	AgentInstallerUrl *string `type:"string"`
 11973  
 11974  	// An embedded object that contains the provisioning parameters.
 11975  	Parameters map[string]*string `type:"map"`
 11976  }
 11977  
 11978  // String returns the string representation.
 11979  //
 11980  // API parameter values that are decorated as "sensitive" in the API will not
 11981  // be included in the string output. The member name will be present, but the
 11982  // value will be replaced with "sensitive".
 11983  func (s DescribeStackProvisioningParametersOutput) String() string {
 11984  	return awsutil.Prettify(s)
 11985  }
 11986  
 11987  // GoString returns the string representation.
 11988  //
 11989  // API parameter values that are decorated as "sensitive" in the API will not
 11990  // be included in the string output. The member name will be present, but the
 11991  // value will be replaced with "sensitive".
 11992  func (s DescribeStackProvisioningParametersOutput) GoString() string {
 11993  	return s.String()
 11994  }
 11995  
 11996  // SetAgentInstallerUrl sets the AgentInstallerUrl field's value.
 11997  func (s *DescribeStackProvisioningParametersOutput) SetAgentInstallerUrl(v string) *DescribeStackProvisioningParametersOutput {
 11998  	s.AgentInstallerUrl = &v
 11999  	return s
 12000  }
 12001  
 12002  // SetParameters sets the Parameters field's value.
 12003  func (s *DescribeStackProvisioningParametersOutput) SetParameters(v map[string]*string) *DescribeStackProvisioningParametersOutput {
 12004  	s.Parameters = v
 12005  	return s
 12006  }
 12007  
 12008  type DescribeStackSummaryInput struct {
 12009  	_ struct{} `type:"structure"`
 12010  
 12011  	// The stack ID.
 12012  	//
 12013  	// StackId is a required field
 12014  	StackId *string `type:"string" required:"true"`
 12015  }
 12016  
 12017  // String returns the string representation.
 12018  //
 12019  // API parameter values that are decorated as "sensitive" in the API will not
 12020  // be included in the string output. The member name will be present, but the
 12021  // value will be replaced with "sensitive".
 12022  func (s DescribeStackSummaryInput) String() string {
 12023  	return awsutil.Prettify(s)
 12024  }
 12025  
 12026  // GoString returns the string representation.
 12027  //
 12028  // API parameter values that are decorated as "sensitive" in the API will not
 12029  // be included in the string output. The member name will be present, but the
 12030  // value will be replaced with "sensitive".
 12031  func (s DescribeStackSummaryInput) GoString() string {
 12032  	return s.String()
 12033  }
 12034  
 12035  // Validate inspects the fields of the type to determine if they are valid.
 12036  func (s *DescribeStackSummaryInput) Validate() error {
 12037  	invalidParams := request.ErrInvalidParams{Context: "DescribeStackSummaryInput"}
 12038  	if s.StackId == nil {
 12039  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 12040  	}
 12041  
 12042  	if invalidParams.Len() > 0 {
 12043  		return invalidParams
 12044  	}
 12045  	return nil
 12046  }
 12047  
 12048  // SetStackId sets the StackId field's value.
 12049  func (s *DescribeStackSummaryInput) SetStackId(v string) *DescribeStackSummaryInput {
 12050  	s.StackId = &v
 12051  	return s
 12052  }
 12053  
 12054  // Contains the response to a DescribeStackSummary request.
 12055  type DescribeStackSummaryOutput struct {
 12056  	_ struct{} `type:"structure"`
 12057  
 12058  	// A StackSummary object that contains the results.
 12059  	StackSummary *StackSummary `type:"structure"`
 12060  }
 12061  
 12062  // String returns the string representation.
 12063  //
 12064  // API parameter values that are decorated as "sensitive" in the API will not
 12065  // be included in the string output. The member name will be present, but the
 12066  // value will be replaced with "sensitive".
 12067  func (s DescribeStackSummaryOutput) String() string {
 12068  	return awsutil.Prettify(s)
 12069  }
 12070  
 12071  // GoString returns the string representation.
 12072  //
 12073  // API parameter values that are decorated as "sensitive" in the API will not
 12074  // be included in the string output. The member name will be present, but the
 12075  // value will be replaced with "sensitive".
 12076  func (s DescribeStackSummaryOutput) GoString() string {
 12077  	return s.String()
 12078  }
 12079  
 12080  // SetStackSummary sets the StackSummary field's value.
 12081  func (s *DescribeStackSummaryOutput) SetStackSummary(v *StackSummary) *DescribeStackSummaryOutput {
 12082  	s.StackSummary = v
 12083  	return s
 12084  }
 12085  
 12086  type DescribeStacksInput struct {
 12087  	_ struct{} `type:"structure"`
 12088  
 12089  	// An array of stack IDs that specify the stacks to be described. If you omit
 12090  	// this parameter, DescribeStacks returns a description of every stack.
 12091  	StackIds []*string `type:"list"`
 12092  }
 12093  
 12094  // String returns the string representation.
 12095  //
 12096  // API parameter values that are decorated as "sensitive" in the API will not
 12097  // be included in the string output. The member name will be present, but the
 12098  // value will be replaced with "sensitive".
 12099  func (s DescribeStacksInput) String() string {
 12100  	return awsutil.Prettify(s)
 12101  }
 12102  
 12103  // GoString returns the string representation.
 12104  //
 12105  // API parameter values that are decorated as "sensitive" in the API will not
 12106  // be included in the string output. The member name will be present, but the
 12107  // value will be replaced with "sensitive".
 12108  func (s DescribeStacksInput) GoString() string {
 12109  	return s.String()
 12110  }
 12111  
 12112  // SetStackIds sets the StackIds field's value.
 12113  func (s *DescribeStacksInput) SetStackIds(v []*string) *DescribeStacksInput {
 12114  	s.StackIds = v
 12115  	return s
 12116  }
 12117  
 12118  // Contains the response to a DescribeStacks request.
 12119  type DescribeStacksOutput struct {
 12120  	_ struct{} `type:"structure"`
 12121  
 12122  	// An array of Stack objects that describe the stacks.
 12123  	Stacks []*Stack `type:"list"`
 12124  }
 12125  
 12126  // String returns the string representation.
 12127  //
 12128  // API parameter values that are decorated as "sensitive" in the API will not
 12129  // be included in the string output. The member name will be present, but the
 12130  // value will be replaced with "sensitive".
 12131  func (s DescribeStacksOutput) String() string {
 12132  	return awsutil.Prettify(s)
 12133  }
 12134  
 12135  // GoString returns the string representation.
 12136  //
 12137  // API parameter values that are decorated as "sensitive" in the API will not
 12138  // be included in the string output. The member name will be present, but the
 12139  // value will be replaced with "sensitive".
 12140  func (s DescribeStacksOutput) GoString() string {
 12141  	return s.String()
 12142  }
 12143  
 12144  // SetStacks sets the Stacks field's value.
 12145  func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
 12146  	s.Stacks = v
 12147  	return s
 12148  }
 12149  
 12150  type DescribeTimeBasedAutoScalingInput struct {
 12151  	_ struct{} `type:"structure"`
 12152  
 12153  	// An array of instance IDs.
 12154  	//
 12155  	// InstanceIds is a required field
 12156  	InstanceIds []*string `type:"list" required:"true"`
 12157  }
 12158  
 12159  // String returns the string representation.
 12160  //
 12161  // API parameter values that are decorated as "sensitive" in the API will not
 12162  // be included in the string output. The member name will be present, but the
 12163  // value will be replaced with "sensitive".
 12164  func (s DescribeTimeBasedAutoScalingInput) String() string {
 12165  	return awsutil.Prettify(s)
 12166  }
 12167  
 12168  // GoString returns the string representation.
 12169  //
 12170  // API parameter values that are decorated as "sensitive" in the API will not
 12171  // be included in the string output. The member name will be present, but the
 12172  // value will be replaced with "sensitive".
 12173  func (s DescribeTimeBasedAutoScalingInput) GoString() string {
 12174  	return s.String()
 12175  }
 12176  
 12177  // Validate inspects the fields of the type to determine if they are valid.
 12178  func (s *DescribeTimeBasedAutoScalingInput) Validate() error {
 12179  	invalidParams := request.ErrInvalidParams{Context: "DescribeTimeBasedAutoScalingInput"}
 12180  	if s.InstanceIds == nil {
 12181  		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
 12182  	}
 12183  
 12184  	if invalidParams.Len() > 0 {
 12185  		return invalidParams
 12186  	}
 12187  	return nil
 12188  }
 12189  
 12190  // SetInstanceIds sets the InstanceIds field's value.
 12191  func (s *DescribeTimeBasedAutoScalingInput) SetInstanceIds(v []*string) *DescribeTimeBasedAutoScalingInput {
 12192  	s.InstanceIds = v
 12193  	return s
 12194  }
 12195  
 12196  // Contains the response to a DescribeTimeBasedAutoScaling request.
 12197  type DescribeTimeBasedAutoScalingOutput struct {
 12198  	_ struct{} `type:"structure"`
 12199  
 12200  	// An array of TimeBasedAutoScalingConfiguration objects that describe the configuration
 12201  	// for the specified instances.
 12202  	TimeBasedAutoScalingConfigurations []*TimeBasedAutoScalingConfiguration `type:"list"`
 12203  }
 12204  
 12205  // String returns the string representation.
 12206  //
 12207  // API parameter values that are decorated as "sensitive" in the API will not
 12208  // be included in the string output. The member name will be present, but the
 12209  // value will be replaced with "sensitive".
 12210  func (s DescribeTimeBasedAutoScalingOutput) String() string {
 12211  	return awsutil.Prettify(s)
 12212  }
 12213  
 12214  // GoString returns the string representation.
 12215  //
 12216  // API parameter values that are decorated as "sensitive" in the API will not
 12217  // be included in the string output. The member name will be present, but the
 12218  // value will be replaced with "sensitive".
 12219  func (s DescribeTimeBasedAutoScalingOutput) GoString() string {
 12220  	return s.String()
 12221  }
 12222  
 12223  // SetTimeBasedAutoScalingConfigurations sets the TimeBasedAutoScalingConfigurations field's value.
 12224  func (s *DescribeTimeBasedAutoScalingOutput) SetTimeBasedAutoScalingConfigurations(v []*TimeBasedAutoScalingConfiguration) *DescribeTimeBasedAutoScalingOutput {
 12225  	s.TimeBasedAutoScalingConfigurations = v
 12226  	return s
 12227  }
 12228  
 12229  type DescribeUserProfilesInput struct {
 12230  	_ struct{} `type:"structure"`
 12231  
 12232  	// An array of IAM or federated user ARNs that identify the users to be described.
 12233  	IamUserArns []*string `type:"list"`
 12234  }
 12235  
 12236  // String returns the string representation.
 12237  //
 12238  // API parameter values that are decorated as "sensitive" in the API will not
 12239  // be included in the string output. The member name will be present, but the
 12240  // value will be replaced with "sensitive".
 12241  func (s DescribeUserProfilesInput) String() string {
 12242  	return awsutil.Prettify(s)
 12243  }
 12244  
 12245  // GoString returns the string representation.
 12246  //
 12247  // API parameter values that are decorated as "sensitive" in the API will not
 12248  // be included in the string output. The member name will be present, but the
 12249  // value will be replaced with "sensitive".
 12250  func (s DescribeUserProfilesInput) GoString() string {
 12251  	return s.String()
 12252  }
 12253  
 12254  // SetIamUserArns sets the IamUserArns field's value.
 12255  func (s *DescribeUserProfilesInput) SetIamUserArns(v []*string) *DescribeUserProfilesInput {
 12256  	s.IamUserArns = v
 12257  	return s
 12258  }
 12259  
 12260  // Contains the response to a DescribeUserProfiles request.
 12261  type DescribeUserProfilesOutput struct {
 12262  	_ struct{} `type:"structure"`
 12263  
 12264  	// A Users object that describes the specified users.
 12265  	UserProfiles []*UserProfile `type:"list"`
 12266  }
 12267  
 12268  // String returns the string representation.
 12269  //
 12270  // API parameter values that are decorated as "sensitive" in the API will not
 12271  // be included in the string output. The member name will be present, but the
 12272  // value will be replaced with "sensitive".
 12273  func (s DescribeUserProfilesOutput) String() string {
 12274  	return awsutil.Prettify(s)
 12275  }
 12276  
 12277  // GoString returns the string representation.
 12278  //
 12279  // API parameter values that are decorated as "sensitive" in the API will not
 12280  // be included in the string output. The member name will be present, but the
 12281  // value will be replaced with "sensitive".
 12282  func (s DescribeUserProfilesOutput) GoString() string {
 12283  	return s.String()
 12284  }
 12285  
 12286  // SetUserProfiles sets the UserProfiles field's value.
 12287  func (s *DescribeUserProfilesOutput) SetUserProfiles(v []*UserProfile) *DescribeUserProfilesOutput {
 12288  	s.UserProfiles = v
 12289  	return s
 12290  }
 12291  
 12292  type DescribeVolumesInput struct {
 12293  	_ struct{} `type:"structure"`
 12294  
 12295  	// The instance ID. If you use this parameter, DescribeVolumes returns descriptions
 12296  	// of the volumes associated with the specified instance.
 12297  	InstanceId *string `type:"string"`
 12298  
 12299  	// The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions
 12300  	// of the volumes associated with the specified RAID array.
 12301  	RaidArrayId *string `type:"string"`
 12302  
 12303  	// A stack ID. The action describes the stack's registered Amazon EBS volumes.
 12304  	StackId *string `type:"string"`
 12305  
 12306  	// Am array of volume IDs. If you use this parameter, DescribeVolumes returns
 12307  	// descriptions of the specified volumes. Otherwise, it returns a description
 12308  	// of every volume.
 12309  	VolumeIds []*string `type:"list"`
 12310  }
 12311  
 12312  // String returns the string representation.
 12313  //
 12314  // API parameter values that are decorated as "sensitive" in the API will not
 12315  // be included in the string output. The member name will be present, but the
 12316  // value will be replaced with "sensitive".
 12317  func (s DescribeVolumesInput) String() string {
 12318  	return awsutil.Prettify(s)
 12319  }
 12320  
 12321  // GoString returns the string representation.
 12322  //
 12323  // API parameter values that are decorated as "sensitive" in the API will not
 12324  // be included in the string output. The member name will be present, but the
 12325  // value will be replaced with "sensitive".
 12326  func (s DescribeVolumesInput) GoString() string {
 12327  	return s.String()
 12328  }
 12329  
 12330  // SetInstanceId sets the InstanceId field's value.
 12331  func (s *DescribeVolumesInput) SetInstanceId(v string) *DescribeVolumesInput {
 12332  	s.InstanceId = &v
 12333  	return s
 12334  }
 12335  
 12336  // SetRaidArrayId sets the RaidArrayId field's value.
 12337  func (s *DescribeVolumesInput) SetRaidArrayId(v string) *DescribeVolumesInput {
 12338  	s.RaidArrayId = &v
 12339  	return s
 12340  }
 12341  
 12342  // SetStackId sets the StackId field's value.
 12343  func (s *DescribeVolumesInput) SetStackId(v string) *DescribeVolumesInput {
 12344  	s.StackId = &v
 12345  	return s
 12346  }
 12347  
 12348  // SetVolumeIds sets the VolumeIds field's value.
 12349  func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
 12350  	s.VolumeIds = v
 12351  	return s
 12352  }
 12353  
 12354  // Contains the response to a DescribeVolumes request.
 12355  type DescribeVolumesOutput struct {
 12356  	_ struct{} `type:"structure"`
 12357  
 12358  	// An array of volume IDs.
 12359  	Volumes []*Volume `type:"list"`
 12360  }
 12361  
 12362  // String returns the string representation.
 12363  //
 12364  // API parameter values that are decorated as "sensitive" in the API will not
 12365  // be included in the string output. The member name will be present, but the
 12366  // value will be replaced with "sensitive".
 12367  func (s DescribeVolumesOutput) String() string {
 12368  	return awsutil.Prettify(s)
 12369  }
 12370  
 12371  // GoString returns the string representation.
 12372  //
 12373  // API parameter values that are decorated as "sensitive" in the API will not
 12374  // be included in the string output. The member name will be present, but the
 12375  // value will be replaced with "sensitive".
 12376  func (s DescribeVolumesOutput) GoString() string {
 12377  	return s.String()
 12378  }
 12379  
 12380  // SetVolumes sets the Volumes field's value.
 12381  func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
 12382  	s.Volumes = v
 12383  	return s
 12384  }
 12385  
 12386  type DetachElasticLoadBalancerInput struct {
 12387  	_ struct{} `type:"structure"`
 12388  
 12389  	// The Elastic Load Balancing instance's name.
 12390  	//
 12391  	// ElasticLoadBalancerName is a required field
 12392  	ElasticLoadBalancerName *string `type:"string" required:"true"`
 12393  
 12394  	// The ID of the layer that the Elastic Load Balancing instance is attached
 12395  	// to.
 12396  	//
 12397  	// LayerId is a required field
 12398  	LayerId *string `type:"string" required:"true"`
 12399  }
 12400  
 12401  // String returns the string representation.
 12402  //
 12403  // API parameter values that are decorated as "sensitive" in the API will not
 12404  // be included in the string output. The member name will be present, but the
 12405  // value will be replaced with "sensitive".
 12406  func (s DetachElasticLoadBalancerInput) String() string {
 12407  	return awsutil.Prettify(s)
 12408  }
 12409  
 12410  // GoString returns the string representation.
 12411  //
 12412  // API parameter values that are decorated as "sensitive" in the API will not
 12413  // be included in the string output. The member name will be present, but the
 12414  // value will be replaced with "sensitive".
 12415  func (s DetachElasticLoadBalancerInput) GoString() string {
 12416  	return s.String()
 12417  }
 12418  
 12419  // Validate inspects the fields of the type to determine if they are valid.
 12420  func (s *DetachElasticLoadBalancerInput) Validate() error {
 12421  	invalidParams := request.ErrInvalidParams{Context: "DetachElasticLoadBalancerInput"}
 12422  	if s.ElasticLoadBalancerName == nil {
 12423  		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
 12424  	}
 12425  	if s.LayerId == nil {
 12426  		invalidParams.Add(request.NewErrParamRequired("LayerId"))
 12427  	}
 12428  
 12429  	if invalidParams.Len() > 0 {
 12430  		return invalidParams
 12431  	}
 12432  	return nil
 12433  }
 12434  
 12435  // SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
 12436  func (s *DetachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *DetachElasticLoadBalancerInput {
 12437  	s.ElasticLoadBalancerName = &v
 12438  	return s
 12439  }
 12440  
 12441  // SetLayerId sets the LayerId field's value.
 12442  func (s *DetachElasticLoadBalancerInput) SetLayerId(v string) *DetachElasticLoadBalancerInput {
 12443  	s.LayerId = &v
 12444  	return s
 12445  }
 12446  
 12447  type DetachElasticLoadBalancerOutput struct {
 12448  	_ struct{} `type:"structure"`
 12449  }
 12450  
 12451  // String returns the string representation.
 12452  //
 12453  // API parameter values that are decorated as "sensitive" in the API will not
 12454  // be included in the string output. The member name will be present, but the
 12455  // value will be replaced with "sensitive".
 12456  func (s DetachElasticLoadBalancerOutput) String() string {
 12457  	return awsutil.Prettify(s)
 12458  }
 12459  
 12460  // GoString returns the string representation.
 12461  //
 12462  // API parameter values that are decorated as "sensitive" in the API will not
 12463  // be included in the string output. The member name will be present, but the
 12464  // value will be replaced with "sensitive".
 12465  func (s DetachElasticLoadBalancerOutput) GoString() string {
 12466  	return s.String()
 12467  }
 12468  
 12469  type DisassociateElasticIpInput struct {
 12470  	_ struct{} `type:"structure"`
 12471  
 12472  	// The Elastic IP address.
 12473  	//
 12474  	// ElasticIp is a required field
 12475  	ElasticIp *string `type:"string" required:"true"`
 12476  }
 12477  
 12478  // String returns the string representation.
 12479  //
 12480  // API parameter values that are decorated as "sensitive" in the API will not
 12481  // be included in the string output. The member name will be present, but the
 12482  // value will be replaced with "sensitive".
 12483  func (s DisassociateElasticIpInput) String() string {
 12484  	return awsutil.Prettify(s)
 12485  }
 12486  
 12487  // GoString returns the string representation.
 12488  //
 12489  // API parameter values that are decorated as "sensitive" in the API will not
 12490  // be included in the string output. The member name will be present, but the
 12491  // value will be replaced with "sensitive".
 12492  func (s DisassociateElasticIpInput) GoString() string {
 12493  	return s.String()
 12494  }
 12495  
 12496  // Validate inspects the fields of the type to determine if they are valid.
 12497  func (s *DisassociateElasticIpInput) Validate() error {
 12498  	invalidParams := request.ErrInvalidParams{Context: "DisassociateElasticIpInput"}
 12499  	if s.ElasticIp == nil {
 12500  		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
 12501  	}
 12502  
 12503  	if invalidParams.Len() > 0 {
 12504  		return invalidParams
 12505  	}
 12506  	return nil
 12507  }
 12508  
 12509  // SetElasticIp sets the ElasticIp field's value.
 12510  func (s *DisassociateElasticIpInput) SetElasticIp(v string) *DisassociateElasticIpInput {
 12511  	s.ElasticIp = &v
 12512  	return s
 12513  }
 12514  
 12515  type DisassociateElasticIpOutput struct {
 12516  	_ struct{} `type:"structure"`
 12517  }
 12518  
 12519  // String returns the string representation.
 12520  //
 12521  // API parameter values that are decorated as "sensitive" in the API will not
 12522  // be included in the string output. The member name will be present, but the
 12523  // value will be replaced with "sensitive".
 12524  func (s DisassociateElasticIpOutput) String() string {
 12525  	return awsutil.Prettify(s)
 12526  }
 12527  
 12528  // GoString returns the string representation.
 12529  //
 12530  // API parameter values that are decorated as "sensitive" in the API will not
 12531  // be included in the string output. The member name will be present, but the
 12532  // value will be replaced with "sensitive".
 12533  func (s DisassociateElasticIpOutput) GoString() string {
 12534  	return s.String()
 12535  }
 12536  
 12537  // Describes an Amazon EBS volume. This data type maps directly to the Amazon
 12538  // EC2 EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
 12539  // data type.
 12540  type EbsBlockDevice struct {
 12541  	_ struct{} `type:"structure"`
 12542  
 12543  	// Whether the volume is deleted on instance termination.
 12544  	DeleteOnTermination *bool `type:"boolean"`
 12545  
 12546  	// The number of I/O operations per second (IOPS) that the volume supports.
 12547  	// For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
 12548  	Iops *int64 `type:"integer"`
 12549  
 12550  	// The snapshot ID.
 12551  	SnapshotId *string `type:"string"`
 12552  
 12553  	// The volume size, in GiB. For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
 12554  	VolumeSize *int64 `type:"integer"`
 12555  
 12556  	// The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned
 12557  	// IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD),
 12558  	// sc1 for Cold HDD,and standard for Magnetic volumes.
 12559  	//
 12560  	// If you specify the io1 volume type, you must also specify a value for the
 12561  	// Iops attribute. The maximum ratio of provisioned IOPS to requested volume
 12562  	// size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified
 12563  	// in the AMI attributes to set IOPS to 50 x (volume size).
 12564  	VolumeType *string `type:"string" enum:"VolumeType"`
 12565  }
 12566  
 12567  // String returns the string representation.
 12568  //
 12569  // API parameter values that are decorated as "sensitive" in the API will not
 12570  // be included in the string output. The member name will be present, but the
 12571  // value will be replaced with "sensitive".
 12572  func (s EbsBlockDevice) String() string {
 12573  	return awsutil.Prettify(s)
 12574  }
 12575  
 12576  // GoString returns the string representation.
 12577  //
 12578  // API parameter values that are decorated as "sensitive" in the API will not
 12579  // be included in the string output. The member name will be present, but the
 12580  // value will be replaced with "sensitive".
 12581  func (s EbsBlockDevice) GoString() string {
 12582  	return s.String()
 12583  }
 12584  
 12585  // SetDeleteOnTermination sets the DeleteOnTermination field's value.
 12586  func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
 12587  	s.DeleteOnTermination = &v
 12588  	return s
 12589  }
 12590  
 12591  // SetIops sets the Iops field's value.
 12592  func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
 12593  	s.Iops = &v
 12594  	return s
 12595  }
 12596  
 12597  // SetSnapshotId sets the SnapshotId field's value.
 12598  func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
 12599  	s.SnapshotId = &v
 12600  	return s
 12601  }
 12602  
 12603  // SetVolumeSize sets the VolumeSize field's value.
 12604  func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
 12605  	s.VolumeSize = &v
 12606  	return s
 12607  }
 12608  
 12609  // SetVolumeType sets the VolumeType field's value.
 12610  func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
 12611  	s.VolumeType = &v
 12612  	return s
 12613  }
 12614  
 12615  // Describes a registered Amazon ECS cluster.
 12616  type EcsCluster struct {
 12617  	_ struct{} `type:"structure"`
 12618  
 12619  	// The cluster's ARN.
 12620  	EcsClusterArn *string `type:"string"`
 12621  
 12622  	// The cluster name.
 12623  	EcsClusterName *string `type:"string"`
 12624  
 12625  	// The time and date that the cluster was registered with the stack.
 12626  	RegisteredAt *string `type:"string"`
 12627  
 12628  	// The stack ID.
 12629  	StackId *string `type:"string"`
 12630  }
 12631  
 12632  // String returns the string representation.
 12633  //
 12634  // API parameter values that are decorated as "sensitive" in the API will not
 12635  // be included in the string output. The member name will be present, but the
 12636  // value will be replaced with "sensitive".
 12637  func (s EcsCluster) String() string {
 12638  	return awsutil.Prettify(s)
 12639  }
 12640  
 12641  // GoString returns the string representation.
 12642  //
 12643  // API parameter values that are decorated as "sensitive" in the API will not
 12644  // be included in the string output. The member name will be present, but the
 12645  // value will be replaced with "sensitive".
 12646  func (s EcsCluster) GoString() string {
 12647  	return s.String()
 12648  }
 12649  
 12650  // SetEcsClusterArn sets the EcsClusterArn field's value.
 12651  func (s *EcsCluster) SetEcsClusterArn(v string) *EcsCluster {
 12652  	s.EcsClusterArn = &v
 12653  	return s
 12654  }
 12655  
 12656  // SetEcsClusterName sets the EcsClusterName field's value.
 12657  func (s *EcsCluster) SetEcsClusterName(v string) *EcsCluster {
 12658  	s.EcsClusterName = &v
 12659  	return s
 12660  }
 12661  
 12662  // SetRegisteredAt sets the RegisteredAt field's value.
 12663  func (s *EcsCluster) SetRegisteredAt(v string) *EcsCluster {
 12664  	s.RegisteredAt = &v
 12665  	return s
 12666  }
 12667  
 12668  // SetStackId sets the StackId field's value.
 12669  func (s *EcsCluster) SetStackId(v string) *EcsCluster {
 12670  	s.StackId = &v
 12671  	return s
 12672  }
 12673  
 12674  // Describes an Elastic IP address.
 12675  type ElasticIp struct {
 12676  	_ struct{} `type:"structure"`
 12677  
 12678  	// The domain.
 12679  	Domain *string `type:"string"`
 12680  
 12681  	// The ID of the instance that the address is attached to.
 12682  	InstanceId *string `type:"string"`
 12683  
 12684  	// The IP address.
 12685  	Ip *string `type:"string"`
 12686  
 12687  	// The name.
 12688  	Name *string `type:"string"`
 12689  
 12690  	// The AWS region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 12691  	Region *string `type:"string"`
 12692  }
 12693  
 12694  // String returns the string representation.
 12695  //
 12696  // API parameter values that are decorated as "sensitive" in the API will not
 12697  // be included in the string output. The member name will be present, but the
 12698  // value will be replaced with "sensitive".
 12699  func (s ElasticIp) String() string {
 12700  	return awsutil.Prettify(s)
 12701  }
 12702  
 12703  // GoString returns the string representation.
 12704  //
 12705  // API parameter values that are decorated as "sensitive" in the API will not
 12706  // be included in the string output. The member name will be present, but the
 12707  // value will be replaced with "sensitive".
 12708  func (s ElasticIp) GoString() string {
 12709  	return s.String()
 12710  }
 12711  
 12712  // SetDomain sets the Domain field's value.
 12713  func (s *ElasticIp) SetDomain(v string) *ElasticIp {
 12714  	s.Domain = &v
 12715  	return s
 12716  }
 12717  
 12718  // SetInstanceId sets the InstanceId field's value.
 12719  func (s *ElasticIp) SetInstanceId(v string) *ElasticIp {
 12720  	s.InstanceId = &v
 12721  	return s
 12722  }
 12723  
 12724  // SetIp sets the Ip field's value.
 12725  func (s *ElasticIp) SetIp(v string) *ElasticIp {
 12726  	s.Ip = &v
 12727  	return s
 12728  }
 12729  
 12730  // SetName sets the Name field's value.
 12731  func (s *ElasticIp) SetName(v string) *ElasticIp {
 12732  	s.Name = &v
 12733  	return s
 12734  }
 12735  
 12736  // SetRegion sets the Region field's value.
 12737  func (s *ElasticIp) SetRegion(v string) *ElasticIp {
 12738  	s.Region = &v
 12739  	return s
 12740  }
 12741  
 12742  // Describes an Elastic Load Balancing instance.
 12743  type ElasticLoadBalancer struct {
 12744  	_ struct{} `type:"structure"`
 12745  
 12746  	// A list of Availability Zones.
 12747  	AvailabilityZones []*string `type:"list"`
 12748  
 12749  	// The instance's public DNS name.
 12750  	DnsName *string `type:"string"`
 12751  
 12752  	// A list of the EC2 instances that the Elastic Load Balancing instance is managing
 12753  	// traffic for.
 12754  	Ec2InstanceIds []*string `type:"list"`
 12755  
 12756  	// The Elastic Load Balancing instance's name.
 12757  	ElasticLoadBalancerName *string `type:"string"`
 12758  
 12759  	// The ID of the layer that the instance is attached to.
 12760  	LayerId *string `type:"string"`
 12761  
 12762  	// The instance's AWS region.
 12763  	Region *string `type:"string"`
 12764  
 12765  	// The ID of the stack that the instance is associated with.
 12766  	StackId *string `type:"string"`
 12767  
 12768  	// A list of subnet IDs, if the stack is running in a VPC.
 12769  	SubnetIds []*string `type:"list"`
 12770  
 12771  	// The VPC ID.
 12772  	VpcId *string `type:"string"`
 12773  }
 12774  
 12775  // String returns the string representation.
 12776  //
 12777  // API parameter values that are decorated as "sensitive" in the API will not
 12778  // be included in the string output. The member name will be present, but the
 12779  // value will be replaced with "sensitive".
 12780  func (s ElasticLoadBalancer) String() string {
 12781  	return awsutil.Prettify(s)
 12782  }
 12783  
 12784  // GoString returns the string representation.
 12785  //
 12786  // API parameter values that are decorated as "sensitive" in the API will not
 12787  // be included in the string output. The member name will be present, but the
 12788  // value will be replaced with "sensitive".
 12789  func (s ElasticLoadBalancer) GoString() string {
 12790  	return s.String()
 12791  }
 12792  
 12793  // SetAvailabilityZones sets the AvailabilityZones field's value.
 12794  func (s *ElasticLoadBalancer) SetAvailabilityZones(v []*string) *ElasticLoadBalancer {
 12795  	s.AvailabilityZones = v
 12796  	return s
 12797  }
 12798  
 12799  // SetDnsName sets the DnsName field's value.
 12800  func (s *ElasticLoadBalancer) SetDnsName(v string) *ElasticLoadBalancer {
 12801  	s.DnsName = &v
 12802  	return s
 12803  }
 12804  
 12805  // SetEc2InstanceIds sets the Ec2InstanceIds field's value.
 12806  func (s *ElasticLoadBalancer) SetEc2InstanceIds(v []*string) *ElasticLoadBalancer {
 12807  	s.Ec2InstanceIds = v
 12808  	return s
 12809  }
 12810  
 12811  // SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
 12812  func (s *ElasticLoadBalancer) SetElasticLoadBalancerName(v string) *ElasticLoadBalancer {
 12813  	s.ElasticLoadBalancerName = &v
 12814  	return s
 12815  }
 12816  
 12817  // SetLayerId sets the LayerId field's value.
 12818  func (s *ElasticLoadBalancer) SetLayerId(v string) *ElasticLoadBalancer {
 12819  	s.LayerId = &v
 12820  	return s
 12821  }
 12822  
 12823  // SetRegion sets the Region field's value.
 12824  func (s *ElasticLoadBalancer) SetRegion(v string) *ElasticLoadBalancer {
 12825  	s.Region = &v
 12826  	return s
 12827  }
 12828  
 12829  // SetStackId sets the StackId field's value.
 12830  func (s *ElasticLoadBalancer) SetStackId(v string) *ElasticLoadBalancer {
 12831  	s.StackId = &v
 12832  	return s
 12833  }
 12834  
 12835  // SetSubnetIds sets the SubnetIds field's value.
 12836  func (s *ElasticLoadBalancer) SetSubnetIds(v []*string) *ElasticLoadBalancer {
 12837  	s.SubnetIds = v
 12838  	return s
 12839  }
 12840  
 12841  // SetVpcId sets the VpcId field's value.
 12842  func (s *ElasticLoadBalancer) SetVpcId(v string) *ElasticLoadBalancer {
 12843  	s.VpcId = &v
 12844  	return s
 12845  }
 12846  
 12847  // Represents an app's environment variable.
 12848  type EnvironmentVariable struct {
 12849  	_ struct{} `type:"structure"`
 12850  
 12851  	// (Required) The environment variable's name, which can consist of up to 64
 12852  	// characters and must be specified. The name can contain upper- and lowercase
 12853  	// letters, numbers, and underscores (_), but it must start with a letter or
 12854  	// underscore.
 12855  	//
 12856  	// Key is a required field
 12857  	Key *string `type:"string" required:"true"`
 12858  
 12859  	// (Optional) Whether the variable's value will be returned by the DescribeApps
 12860  	// action. To conceal an environment variable's value, set Secure to true. DescribeApps
 12861  	// then returns *****FILTERED***** instead of the actual value. The default
 12862  	// value for Secure is false.
 12863  	Secure *bool `type:"boolean"`
 12864  
 12865  	// (Optional) The environment variable's value, which can be left empty. If
 12866  	// you specify a value, it can contain up to 256 characters, which must all
 12867  	// be printable.
 12868  	//
 12869  	// Value is a required field
 12870  	Value *string `type:"string" required:"true"`
 12871  }
 12872  
 12873  // String returns the string representation.
 12874  //
 12875  // API parameter values that are decorated as "sensitive" in the API will not
 12876  // be included in the string output. The member name will be present, but the
 12877  // value will be replaced with "sensitive".
 12878  func (s EnvironmentVariable) String() string {
 12879  	return awsutil.Prettify(s)
 12880  }
 12881  
 12882  // GoString returns the string representation.
 12883  //
 12884  // API parameter values that are decorated as "sensitive" in the API will not
 12885  // be included in the string output. The member name will be present, but the
 12886  // value will be replaced with "sensitive".
 12887  func (s EnvironmentVariable) GoString() string {
 12888  	return s.String()
 12889  }
 12890  
 12891  // Validate inspects the fields of the type to determine if they are valid.
 12892  func (s *EnvironmentVariable) Validate() error {
 12893  	invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"}
 12894  	if s.Key == nil {
 12895  		invalidParams.Add(request.NewErrParamRequired("Key"))
 12896  	}
 12897  	if s.Value == nil {
 12898  		invalidParams.Add(request.NewErrParamRequired("Value"))
 12899  	}
 12900  
 12901  	if invalidParams.Len() > 0 {
 12902  		return invalidParams
 12903  	}
 12904  	return nil
 12905  }
 12906  
 12907  // SetKey sets the Key field's value.
 12908  func (s *EnvironmentVariable) SetKey(v string) *EnvironmentVariable {
 12909  	s.Key = &v
 12910  	return s
 12911  }
 12912  
 12913  // SetSecure sets the Secure field's value.
 12914  func (s *EnvironmentVariable) SetSecure(v bool) *EnvironmentVariable {
 12915  	s.Secure = &v
 12916  	return s
 12917  }
 12918  
 12919  // SetValue sets the Value field's value.
 12920  func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable {
 12921  	s.Value = &v
 12922  	return s
 12923  }
 12924  
 12925  type GetHostnameSuggestionInput struct {
 12926  	_ struct{} `type:"structure"`
 12927  
 12928  	// The layer ID.
 12929  	//
 12930  	// LayerId is a required field
 12931  	LayerId *string `type:"string" required:"true"`
 12932  }
 12933  
 12934  // String returns the string representation.
 12935  //
 12936  // API parameter values that are decorated as "sensitive" in the API will not
 12937  // be included in the string output. The member name will be present, but the
 12938  // value will be replaced with "sensitive".
 12939  func (s GetHostnameSuggestionInput) String() string {
 12940  	return awsutil.Prettify(s)
 12941  }
 12942  
 12943  // GoString returns the string representation.
 12944  //
 12945  // API parameter values that are decorated as "sensitive" in the API will not
 12946  // be included in the string output. The member name will be present, but the
 12947  // value will be replaced with "sensitive".
 12948  func (s GetHostnameSuggestionInput) GoString() string {
 12949  	return s.String()
 12950  }
 12951  
 12952  // Validate inspects the fields of the type to determine if they are valid.
 12953  func (s *GetHostnameSuggestionInput) Validate() error {
 12954  	invalidParams := request.ErrInvalidParams{Context: "GetHostnameSuggestionInput"}
 12955  	if s.LayerId == nil {
 12956  		invalidParams.Add(request.NewErrParamRequired("LayerId"))
 12957  	}
 12958  
 12959  	if invalidParams.Len() > 0 {
 12960  		return invalidParams
 12961  	}
 12962  	return nil
 12963  }
 12964  
 12965  // SetLayerId sets the LayerId field's value.
 12966  func (s *GetHostnameSuggestionInput) SetLayerId(v string) *GetHostnameSuggestionInput {
 12967  	s.LayerId = &v
 12968  	return s
 12969  }
 12970  
 12971  // Contains the response to a GetHostnameSuggestion request.
 12972  type GetHostnameSuggestionOutput struct {
 12973  	_ struct{} `type:"structure"`
 12974  
 12975  	// The generated host name.
 12976  	Hostname *string `type:"string"`
 12977  
 12978  	// The layer ID.
 12979  	LayerId *string `type:"string"`
 12980  }
 12981  
 12982  // String returns the string representation.
 12983  //
 12984  // API parameter values that are decorated as "sensitive" in the API will not
 12985  // be included in the string output. The member name will be present, but the
 12986  // value will be replaced with "sensitive".
 12987  func (s GetHostnameSuggestionOutput) String() string {
 12988  	return awsutil.Prettify(s)
 12989  }
 12990  
 12991  // GoString returns the string representation.
 12992  //
 12993  // API parameter values that are decorated as "sensitive" in the API will not
 12994  // be included in the string output. The member name will be present, but the
 12995  // value will be replaced with "sensitive".
 12996  func (s GetHostnameSuggestionOutput) GoString() string {
 12997  	return s.String()
 12998  }
 12999  
 13000  // SetHostname sets the Hostname field's value.
 13001  func (s *GetHostnameSuggestionOutput) SetHostname(v string) *GetHostnameSuggestionOutput {
 13002  	s.Hostname = &v
 13003  	return s
 13004  }
 13005  
 13006  // SetLayerId sets the LayerId field's value.
 13007  func (s *GetHostnameSuggestionOutput) SetLayerId(v string) *GetHostnameSuggestionOutput {
 13008  	s.LayerId = &v
 13009  	return s
 13010  }
 13011  
 13012  type GrantAccessInput struct {
 13013  	_ struct{} `type:"structure"`
 13014  
 13015  	// The instance's AWS OpsWorks Stacks ID.
 13016  	//
 13017  	// InstanceId is a required field
 13018  	InstanceId *string `type:"string" required:"true"`
 13019  
 13020  	// The length of time (in minutes) that the grant is valid. When the grant expires
 13021  	// at the end of this period, the user will no longer be able to use the credentials
 13022  	// to log in. If the user is logged in at the time, he or she automatically
 13023  	// will be logged out.
 13024  	ValidForInMinutes *int64 `min:"60" type:"integer"`
 13025  }
 13026  
 13027  // String returns the string representation.
 13028  //
 13029  // API parameter values that are decorated as "sensitive" in the API will not
 13030  // be included in the string output. The member name will be present, but the
 13031  // value will be replaced with "sensitive".
 13032  func (s GrantAccessInput) String() string {
 13033  	return awsutil.Prettify(s)
 13034  }
 13035  
 13036  // GoString returns the string representation.
 13037  //
 13038  // API parameter values that are decorated as "sensitive" in the API will not
 13039  // be included in the string output. The member name will be present, but the
 13040  // value will be replaced with "sensitive".
 13041  func (s GrantAccessInput) GoString() string {
 13042  	return s.String()
 13043  }
 13044  
 13045  // Validate inspects the fields of the type to determine if they are valid.
 13046  func (s *GrantAccessInput) Validate() error {
 13047  	invalidParams := request.ErrInvalidParams{Context: "GrantAccessInput"}
 13048  	if s.InstanceId == nil {
 13049  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 13050  	}
 13051  	if s.ValidForInMinutes != nil && *s.ValidForInMinutes < 60 {
 13052  		invalidParams.Add(request.NewErrParamMinValue("ValidForInMinutes", 60))
 13053  	}
 13054  
 13055  	if invalidParams.Len() > 0 {
 13056  		return invalidParams
 13057  	}
 13058  	return nil
 13059  }
 13060  
 13061  // SetInstanceId sets the InstanceId field's value.
 13062  func (s *GrantAccessInput) SetInstanceId(v string) *GrantAccessInput {
 13063  	s.InstanceId = &v
 13064  	return s
 13065  }
 13066  
 13067  // SetValidForInMinutes sets the ValidForInMinutes field's value.
 13068  func (s *GrantAccessInput) SetValidForInMinutes(v int64) *GrantAccessInput {
 13069  	s.ValidForInMinutes = &v
 13070  	return s
 13071  }
 13072  
 13073  // Contains the response to a GrantAccess request.
 13074  type GrantAccessOutput struct {
 13075  	_ struct{} `type:"structure"`
 13076  
 13077  	// A TemporaryCredential object that contains the data needed to log in to the
 13078  	// instance by RDP clients, such as the Microsoft Remote Desktop Connection.
 13079  	TemporaryCredential *TemporaryCredential `type:"structure"`
 13080  }
 13081  
 13082  // String returns the string representation.
 13083  //
 13084  // API parameter values that are decorated as "sensitive" in the API will not
 13085  // be included in the string output. The member name will be present, but the
 13086  // value will be replaced with "sensitive".
 13087  func (s GrantAccessOutput) String() string {
 13088  	return awsutil.Prettify(s)
 13089  }
 13090  
 13091  // GoString returns the string representation.
 13092  //
 13093  // API parameter values that are decorated as "sensitive" in the API will not
 13094  // be included in the string output. The member name will be present, but the
 13095  // value will be replaced with "sensitive".
 13096  func (s GrantAccessOutput) GoString() string {
 13097  	return s.String()
 13098  }
 13099  
 13100  // SetTemporaryCredential sets the TemporaryCredential field's value.
 13101  func (s *GrantAccessOutput) SetTemporaryCredential(v *TemporaryCredential) *GrantAccessOutput {
 13102  	s.TemporaryCredential = v
 13103  	return s
 13104  }
 13105  
 13106  // Describes an instance.
 13107  type Instance struct {
 13108  	_ struct{} `type:"structure"`
 13109  
 13110  	// The agent version. This parameter is set to INHERIT if the instance inherits
 13111  	// the default stack setting or to a a version number for a fixed agent version.
 13112  	AgentVersion *string `type:"string"`
 13113  
 13114  	// A custom AMI ID to be used to create the instance. For more information,
 13115  	// see Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html)
 13116  	AmiId *string `type:"string"`
 13117  
 13118  	// The instance architecture: "i386" or "x86_64".
 13119  	Architecture *string `type:"string" enum:"Architecture"`
 13120  
 13121  	// The instance's Amazon Resource Number (ARN).
 13122  	Arn *string `type:"string"`
 13123  
 13124  	// For load-based or time-based instances, the type.
 13125  	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
 13126  
 13127  	// The instance Availability Zone. For more information, see Regions and Endpoints
 13128  	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 13129  	AvailabilityZone *string `type:"string"`
 13130  
 13131  	// An array of BlockDeviceMapping objects that specify the instance's block
 13132  	// device mappings.
 13133  	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
 13134  
 13135  	// The time that the instance was created.
 13136  	CreatedAt *string `type:"string"`
 13137  
 13138  	// Whether this is an Amazon EBS-optimized instance.
 13139  	EbsOptimized *bool `type:"boolean"`
 13140  
 13141  	// The ID of the associated Amazon EC2 instance.
 13142  	Ec2InstanceId *string `type:"string"`
 13143  
 13144  	// For container instances, the Amazon ECS cluster's ARN.
 13145  	EcsClusterArn *string `type:"string"`
 13146  
 13147  	// For container instances, the instance's ARN.
 13148  	EcsContainerInstanceArn *string `type:"string"`
 13149  
 13150  	// The instance Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
 13151  	ElasticIp *string `type:"string"`
 13152  
 13153  	// The instance host name.
 13154  	Hostname *string `type:"string"`
 13155  
 13156  	// For registered instances, the infrastructure class: ec2 or on-premises.
 13157  	InfrastructureClass *string `type:"string"`
 13158  
 13159  	// Whether to install operating system and package updates when the instance
 13160  	// boots. The default value is true. If this value is set to false, you must
 13161  	// then update your instances manually by using CreateDeployment to run the
 13162  	// update_dependencies stack command or by manually running yum (Amazon Linux)
 13163  	// or apt-get (Ubuntu) on the instances.
 13164  	//
 13165  	// We strongly recommend using the default value of true, to ensure that your
 13166  	// instances have the latest security updates.
 13167  	InstallUpdatesOnBoot *bool `type:"boolean"`
 13168  
 13169  	// The instance ID.
 13170  	InstanceId *string `type:"string"`
 13171  
 13172  	// The ARN of the instance's IAM profile. For more information about IAM ARNs,
 13173  	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 13174  	InstanceProfileArn *string `type:"string"`
 13175  
 13176  	// The instance type, such as t2.micro.
 13177  	InstanceType *string `type:"string"`
 13178  
 13179  	// The ID of the last service error. For more information, call DescribeServiceErrors.
 13180  	LastServiceErrorId *string `type:"string"`
 13181  
 13182  	// An array containing the instance layer IDs.
 13183  	LayerIds []*string `type:"list"`
 13184  
 13185  	// The instance's operating system.
 13186  	Os *string `type:"string"`
 13187  
 13188  	// The instance's platform.
 13189  	Platform *string `type:"string"`
 13190  
 13191  	// The instance's private DNS name.
 13192  	PrivateDns *string `type:"string"`
 13193  
 13194  	// The instance's private IP address.
 13195  	PrivateIp *string `type:"string"`
 13196  
 13197  	// The instance public DNS name.
 13198  	PublicDns *string `type:"string"`
 13199  
 13200  	// The instance public IP address.
 13201  	PublicIp *string `type:"string"`
 13202  
 13203  	// For registered instances, who performed the registration.
 13204  	RegisteredBy *string `type:"string"`
 13205  
 13206  	// The instance's reported AWS OpsWorks Stacks agent version.
 13207  	ReportedAgentVersion *string `type:"string"`
 13208  
 13209  	// For registered instances, the reported operating system.
 13210  	ReportedOs *ReportedOs `type:"structure"`
 13211  
 13212  	// The instance's root device type. For more information, see Storage for the
 13213  	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
 13214  	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
 13215  
 13216  	// The root device volume ID.
 13217  	RootDeviceVolumeId *string `type:"string"`
 13218  
 13219  	// An array containing the instance security group IDs.
 13220  	SecurityGroupIds []*string `type:"list"`
 13221  
 13222  	// The SSH key's Deep Security Agent (DSA) fingerprint.
 13223  	SshHostDsaKeyFingerprint *string `type:"string"`
 13224  
 13225  	// The SSH key's RSA fingerprint.
 13226  	SshHostRsaKeyFingerprint *string `type:"string"`
 13227  
 13228  	// The instance's Amazon EC2 key-pair name.
 13229  	SshKeyName *string `type:"string"`
 13230  
 13231  	// The stack ID.
 13232  	StackId *string `type:"string"`
 13233  
 13234  	// The instance status:
 13235  	//
 13236  	//    * booting
 13237  	//
 13238  	//    * connection_lost
 13239  	//
 13240  	//    * online
 13241  	//
 13242  	//    * pending
 13243  	//
 13244  	//    * rebooting
 13245  	//
 13246  	//    * requested
 13247  	//
 13248  	//    * running_setup
 13249  	//
 13250  	//    * setup_failed
 13251  	//
 13252  	//    * shutting_down
 13253  	//
 13254  	//    * start_failed
 13255  	//
 13256  	//    * stop_failed
 13257  	//
 13258  	//    * stopped
 13259  	//
 13260  	//    * stopping
 13261  	//
 13262  	//    * terminated
 13263  	//
 13264  	//    * terminating
 13265  	Status *string `type:"string"`
 13266  
 13267  	// The instance's subnet ID; applicable only if the stack is running in a VPC.
 13268  	SubnetId *string `type:"string"`
 13269  
 13270  	// The instance's tenancy option, such as dedicated or host.
 13271  	Tenancy *string `type:"string"`
 13272  
 13273  	// The instance's virtualization type: paravirtual or hvm.
 13274  	VirtualizationType *string `type:"string" enum:"VirtualizationType"`
 13275  }
 13276  
 13277  // String returns the string representation.
 13278  //
 13279  // API parameter values that are decorated as "sensitive" in the API will not
 13280  // be included in the string output. The member name will be present, but the
 13281  // value will be replaced with "sensitive".
 13282  func (s Instance) String() string {
 13283  	return awsutil.Prettify(s)
 13284  }
 13285  
 13286  // GoString returns the string representation.
 13287  //
 13288  // API parameter values that are decorated as "sensitive" in the API will not
 13289  // be included in the string output. The member name will be present, but the
 13290  // value will be replaced with "sensitive".
 13291  func (s Instance) GoString() string {
 13292  	return s.String()
 13293  }
 13294  
 13295  // SetAgentVersion sets the AgentVersion field's value.
 13296  func (s *Instance) SetAgentVersion(v string) *Instance {
 13297  	s.AgentVersion = &v
 13298  	return s
 13299  }
 13300  
 13301  // SetAmiId sets the AmiId field's value.
 13302  func (s *Instance) SetAmiId(v string) *Instance {
 13303  	s.AmiId = &v
 13304  	return s
 13305  }
 13306  
 13307  // SetArchitecture sets the Architecture field's value.
 13308  func (s *Instance) SetArchitecture(v string) *Instance {
 13309  	s.Architecture = &v
 13310  	return s
 13311  }
 13312  
 13313  // SetArn sets the Arn field's value.
 13314  func (s *Instance) SetArn(v string) *Instance {
 13315  	s.Arn = &v
 13316  	return s
 13317  }
 13318  
 13319  // SetAutoScalingType sets the AutoScalingType field's value.
 13320  func (s *Instance) SetAutoScalingType(v string) *Instance {
 13321  	s.AutoScalingType = &v
 13322  	return s
 13323  }
 13324  
 13325  // SetAvailabilityZone sets the AvailabilityZone field's value.
 13326  func (s *Instance) SetAvailabilityZone(v string) *Instance {
 13327  	s.AvailabilityZone = &v
 13328  	return s
 13329  }
 13330  
 13331  // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
 13332  func (s *Instance) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Instance {
 13333  	s.BlockDeviceMappings = v
 13334  	return s
 13335  }
 13336  
 13337  // SetCreatedAt sets the CreatedAt field's value.
 13338  func (s *Instance) SetCreatedAt(v string) *Instance {
 13339  	s.CreatedAt = &v
 13340  	return s
 13341  }
 13342  
 13343  // SetEbsOptimized sets the EbsOptimized field's value.
 13344  func (s *Instance) SetEbsOptimized(v bool) *Instance {
 13345  	s.EbsOptimized = &v
 13346  	return s
 13347  }
 13348  
 13349  // SetEc2InstanceId sets the Ec2InstanceId field's value.
 13350  func (s *Instance) SetEc2InstanceId(v string) *Instance {
 13351  	s.Ec2InstanceId = &v
 13352  	return s
 13353  }
 13354  
 13355  // SetEcsClusterArn sets the EcsClusterArn field's value.
 13356  func (s *Instance) SetEcsClusterArn(v string) *Instance {
 13357  	s.EcsClusterArn = &v
 13358  	return s
 13359  }
 13360  
 13361  // SetEcsContainerInstanceArn sets the EcsContainerInstanceArn field's value.
 13362  func (s *Instance) SetEcsContainerInstanceArn(v string) *Instance {
 13363  	s.EcsContainerInstanceArn = &v
 13364  	return s
 13365  }
 13366  
 13367  // SetElasticIp sets the ElasticIp field's value.
 13368  func (s *Instance) SetElasticIp(v string) *Instance {
 13369  	s.ElasticIp = &v
 13370  	return s
 13371  }
 13372  
 13373  // SetHostname sets the Hostname field's value.
 13374  func (s *Instance) SetHostname(v string) *Instance {
 13375  	s.Hostname = &v
 13376  	return s
 13377  }
 13378  
 13379  // SetInfrastructureClass sets the InfrastructureClass field's value.
 13380  func (s *Instance) SetInfrastructureClass(v string) *Instance {
 13381  	s.InfrastructureClass = &v
 13382  	return s
 13383  }
 13384  
 13385  // SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
 13386  func (s *Instance) SetInstallUpdatesOnBoot(v bool) *Instance {
 13387  	s.InstallUpdatesOnBoot = &v
 13388  	return s
 13389  }
 13390  
 13391  // SetInstanceId sets the InstanceId field's value.
 13392  func (s *Instance) SetInstanceId(v string) *Instance {
 13393  	s.InstanceId = &v
 13394  	return s
 13395  }
 13396  
 13397  // SetInstanceProfileArn sets the InstanceProfileArn field's value.
 13398  func (s *Instance) SetInstanceProfileArn(v string) *Instance {
 13399  	s.InstanceProfileArn = &v
 13400  	return s
 13401  }
 13402  
 13403  // SetInstanceType sets the InstanceType field's value.
 13404  func (s *Instance) SetInstanceType(v string) *Instance {
 13405  	s.InstanceType = &v
 13406  	return s
 13407  }
 13408  
 13409  // SetLastServiceErrorId sets the LastServiceErrorId field's value.
 13410  func (s *Instance) SetLastServiceErrorId(v string) *Instance {
 13411  	s.LastServiceErrorId = &v
 13412  	return s
 13413  }
 13414  
 13415  // SetLayerIds sets the LayerIds field's value.
 13416  func (s *Instance) SetLayerIds(v []*string) *Instance {
 13417  	s.LayerIds = v
 13418  	return s
 13419  }
 13420  
 13421  // SetOs sets the Os field's value.
 13422  func (s *Instance) SetOs(v string) *Instance {
 13423  	s.Os = &v
 13424  	return s
 13425  }
 13426  
 13427  // SetPlatform sets the Platform field's value.
 13428  func (s *Instance) SetPlatform(v string) *Instance {
 13429  	s.Platform = &v
 13430  	return s
 13431  }
 13432  
 13433  // SetPrivateDns sets the PrivateDns field's value.
 13434  func (s *Instance) SetPrivateDns(v string) *Instance {
 13435  	s.PrivateDns = &v
 13436  	return s
 13437  }
 13438  
 13439  // SetPrivateIp sets the PrivateIp field's value.
 13440  func (s *Instance) SetPrivateIp(v string) *Instance {
 13441  	s.PrivateIp = &v
 13442  	return s
 13443  }
 13444  
 13445  // SetPublicDns sets the PublicDns field's value.
 13446  func (s *Instance) SetPublicDns(v string) *Instance {
 13447  	s.PublicDns = &v
 13448  	return s
 13449  }
 13450  
 13451  // SetPublicIp sets the PublicIp field's value.
 13452  func (s *Instance) SetPublicIp(v string) *Instance {
 13453  	s.PublicIp = &v
 13454  	return s
 13455  }
 13456  
 13457  // SetRegisteredBy sets the RegisteredBy field's value.
 13458  func (s *Instance) SetRegisteredBy(v string) *Instance {
 13459  	s.RegisteredBy = &v
 13460  	return s
 13461  }
 13462  
 13463  // SetReportedAgentVersion sets the ReportedAgentVersion field's value.
 13464  func (s *Instance) SetReportedAgentVersion(v string) *Instance {
 13465  	s.ReportedAgentVersion = &v
 13466  	return s
 13467  }
 13468  
 13469  // SetReportedOs sets the ReportedOs field's value.
 13470  func (s *Instance) SetReportedOs(v *ReportedOs) *Instance {
 13471  	s.ReportedOs = v
 13472  	return s
 13473  }
 13474  
 13475  // SetRootDeviceType sets the RootDeviceType field's value.
 13476  func (s *Instance) SetRootDeviceType(v string) *Instance {
 13477  	s.RootDeviceType = &v
 13478  	return s
 13479  }
 13480  
 13481  // SetRootDeviceVolumeId sets the RootDeviceVolumeId field's value.
 13482  func (s *Instance) SetRootDeviceVolumeId(v string) *Instance {
 13483  	s.RootDeviceVolumeId = &v
 13484  	return s
 13485  }
 13486  
 13487  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 13488  func (s *Instance) SetSecurityGroupIds(v []*string) *Instance {
 13489  	s.SecurityGroupIds = v
 13490  	return s
 13491  }
 13492  
 13493  // SetSshHostDsaKeyFingerprint sets the SshHostDsaKeyFingerprint field's value.
 13494  func (s *Instance) SetSshHostDsaKeyFingerprint(v string) *Instance {
 13495  	s.SshHostDsaKeyFingerprint = &v
 13496  	return s
 13497  }
 13498  
 13499  // SetSshHostRsaKeyFingerprint sets the SshHostRsaKeyFingerprint field's value.
 13500  func (s *Instance) SetSshHostRsaKeyFingerprint(v string) *Instance {
 13501  	s.SshHostRsaKeyFingerprint = &v
 13502  	return s
 13503  }
 13504  
 13505  // SetSshKeyName sets the SshKeyName field's value.
 13506  func (s *Instance) SetSshKeyName(v string) *Instance {
 13507  	s.SshKeyName = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetStackId sets the StackId field's value.
 13512  func (s *Instance) SetStackId(v string) *Instance {
 13513  	s.StackId = &v
 13514  	return s
 13515  }
 13516  
 13517  // SetStatus sets the Status field's value.
 13518  func (s *Instance) SetStatus(v string) *Instance {
 13519  	s.Status = &v
 13520  	return s
 13521  }
 13522  
 13523  // SetSubnetId sets the SubnetId field's value.
 13524  func (s *Instance) SetSubnetId(v string) *Instance {
 13525  	s.SubnetId = &v
 13526  	return s
 13527  }
 13528  
 13529  // SetTenancy sets the Tenancy field's value.
 13530  func (s *Instance) SetTenancy(v string) *Instance {
 13531  	s.Tenancy = &v
 13532  	return s
 13533  }
 13534  
 13535  // SetVirtualizationType sets the VirtualizationType field's value.
 13536  func (s *Instance) SetVirtualizationType(v string) *Instance {
 13537  	s.VirtualizationType = &v
 13538  	return s
 13539  }
 13540  
 13541  // Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata
 13542  // service. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html).
 13543  type InstanceIdentity struct {
 13544  	_ struct{} `type:"structure"`
 13545  
 13546  	// A JSON document that contains the metadata.
 13547  	Document *string `type:"string"`
 13548  
 13549  	// A signature that can be used to verify the document's accuracy and authenticity.
 13550  	Signature *string `type:"string"`
 13551  }
 13552  
 13553  // String returns the string representation.
 13554  //
 13555  // API parameter values that are decorated as "sensitive" in the API will not
 13556  // be included in the string output. The member name will be present, but the
 13557  // value will be replaced with "sensitive".
 13558  func (s InstanceIdentity) String() string {
 13559  	return awsutil.Prettify(s)
 13560  }
 13561  
 13562  // GoString returns the string representation.
 13563  //
 13564  // API parameter values that are decorated as "sensitive" in the API will not
 13565  // be included in the string output. The member name will be present, but the
 13566  // value will be replaced with "sensitive".
 13567  func (s InstanceIdentity) GoString() string {
 13568  	return s.String()
 13569  }
 13570  
 13571  // SetDocument sets the Document field's value.
 13572  func (s *InstanceIdentity) SetDocument(v string) *InstanceIdentity {
 13573  	s.Document = &v
 13574  	return s
 13575  }
 13576  
 13577  // SetSignature sets the Signature field's value.
 13578  func (s *InstanceIdentity) SetSignature(v string) *InstanceIdentity {
 13579  	s.Signature = &v
 13580  	return s
 13581  }
 13582  
 13583  // Describes how many instances a stack has for each status.
 13584  type InstancesCount struct {
 13585  	_ struct{} `type:"structure"`
 13586  
 13587  	// The number of instances in the Assigning state.
 13588  	Assigning *int64 `type:"integer"`
 13589  
 13590  	// The number of instances with booting status.
 13591  	Booting *int64 `type:"integer"`
 13592  
 13593  	// The number of instances with connection_lost status.
 13594  	ConnectionLost *int64 `type:"integer"`
 13595  
 13596  	// The number of instances in the Deregistering state.
 13597  	Deregistering *int64 `type:"integer"`
 13598  
 13599  	// The number of instances with online status.
 13600  	Online *int64 `type:"integer"`
 13601  
 13602  	// The number of instances with pending status.
 13603  	Pending *int64 `type:"integer"`
 13604  
 13605  	// The number of instances with rebooting status.
 13606  	Rebooting *int64 `type:"integer"`
 13607  
 13608  	// The number of instances in the Registered state.
 13609  	Registered *int64 `type:"integer"`
 13610  
 13611  	// The number of instances in the Registering state.
 13612  	Registering *int64 `type:"integer"`
 13613  
 13614  	// The number of instances with requested status.
 13615  	Requested *int64 `type:"integer"`
 13616  
 13617  	// The number of instances with running_setup status.
 13618  	RunningSetup *int64 `type:"integer"`
 13619  
 13620  	// The number of instances with setup_failed status.
 13621  	SetupFailed *int64 `type:"integer"`
 13622  
 13623  	// The number of instances with shutting_down status.
 13624  	ShuttingDown *int64 `type:"integer"`
 13625  
 13626  	// The number of instances with start_failed status.
 13627  	StartFailed *int64 `type:"integer"`
 13628  
 13629  	// The number of instances with stop_failed status.
 13630  	StopFailed *int64 `type:"integer"`
 13631  
 13632  	// The number of instances with stopped status.
 13633  	Stopped *int64 `type:"integer"`
 13634  
 13635  	// The number of instances with stopping status.
 13636  	Stopping *int64 `type:"integer"`
 13637  
 13638  	// The number of instances with terminated status.
 13639  	Terminated *int64 `type:"integer"`
 13640  
 13641  	// The number of instances with terminating status.
 13642  	Terminating *int64 `type:"integer"`
 13643  
 13644  	// The number of instances in the Unassigning state.
 13645  	Unassigning *int64 `type:"integer"`
 13646  }
 13647  
 13648  // String returns the string representation.
 13649  //
 13650  // API parameter values that are decorated as "sensitive" in the API will not
 13651  // be included in the string output. The member name will be present, but the
 13652  // value will be replaced with "sensitive".
 13653  func (s InstancesCount) String() string {
 13654  	return awsutil.Prettify(s)
 13655  }
 13656  
 13657  // GoString returns the string representation.
 13658  //
 13659  // API parameter values that are decorated as "sensitive" in the API will not
 13660  // be included in the string output. The member name will be present, but the
 13661  // value will be replaced with "sensitive".
 13662  func (s InstancesCount) GoString() string {
 13663  	return s.String()
 13664  }
 13665  
 13666  // SetAssigning sets the Assigning field's value.
 13667  func (s *InstancesCount) SetAssigning(v int64) *InstancesCount {
 13668  	s.Assigning = &v
 13669  	return s
 13670  }
 13671  
 13672  // SetBooting sets the Booting field's value.
 13673  func (s *InstancesCount) SetBooting(v int64) *InstancesCount {
 13674  	s.Booting = &v
 13675  	return s
 13676  }
 13677  
 13678  // SetConnectionLost sets the ConnectionLost field's value.
 13679  func (s *InstancesCount) SetConnectionLost(v int64) *InstancesCount {
 13680  	s.ConnectionLost = &v
 13681  	return s
 13682  }
 13683  
 13684  // SetDeregistering sets the Deregistering field's value.
 13685  func (s *InstancesCount) SetDeregistering(v int64) *InstancesCount {
 13686  	s.Deregistering = &v
 13687  	return s
 13688  }
 13689  
 13690  // SetOnline sets the Online field's value.
 13691  func (s *InstancesCount) SetOnline(v int64) *InstancesCount {
 13692  	s.Online = &v
 13693  	return s
 13694  }
 13695  
 13696  // SetPending sets the Pending field's value.
 13697  func (s *InstancesCount) SetPending(v int64) *InstancesCount {
 13698  	s.Pending = &v
 13699  	return s
 13700  }
 13701  
 13702  // SetRebooting sets the Rebooting field's value.
 13703  func (s *InstancesCount) SetRebooting(v int64) *InstancesCount {
 13704  	s.Rebooting = &v
 13705  	return s
 13706  }
 13707  
 13708  // SetRegistered sets the Registered field's value.
 13709  func (s *InstancesCount) SetRegistered(v int64) *InstancesCount {
 13710  	s.Registered = &v
 13711  	return s
 13712  }
 13713  
 13714  // SetRegistering sets the Registering field's value.
 13715  func (s *InstancesCount) SetRegistering(v int64) *InstancesCount {
 13716  	s.Registering = &v
 13717  	return s
 13718  }
 13719  
 13720  // SetRequested sets the Requested field's value.
 13721  func (s *InstancesCount) SetRequested(v int64) *InstancesCount {
 13722  	s.Requested = &v
 13723  	return s
 13724  }
 13725  
 13726  // SetRunningSetup sets the RunningSetup field's value.
 13727  func (s *InstancesCount) SetRunningSetup(v int64) *InstancesCount {
 13728  	s.RunningSetup = &v
 13729  	return s
 13730  }
 13731  
 13732  // SetSetupFailed sets the SetupFailed field's value.
 13733  func (s *InstancesCount) SetSetupFailed(v int64) *InstancesCount {
 13734  	s.SetupFailed = &v
 13735  	return s
 13736  }
 13737  
 13738  // SetShuttingDown sets the ShuttingDown field's value.
 13739  func (s *InstancesCount) SetShuttingDown(v int64) *InstancesCount {
 13740  	s.ShuttingDown = &v
 13741  	return s
 13742  }
 13743  
 13744  // SetStartFailed sets the StartFailed field's value.
 13745  func (s *InstancesCount) SetStartFailed(v int64) *InstancesCount {
 13746  	s.StartFailed = &v
 13747  	return s
 13748  }
 13749  
 13750  // SetStopFailed sets the StopFailed field's value.
 13751  func (s *InstancesCount) SetStopFailed(v int64) *InstancesCount {
 13752  	s.StopFailed = &v
 13753  	return s
 13754  }
 13755  
 13756  // SetStopped sets the Stopped field's value.
 13757  func (s *InstancesCount) SetStopped(v int64) *InstancesCount {
 13758  	s.Stopped = &v
 13759  	return s
 13760  }
 13761  
 13762  // SetStopping sets the Stopping field's value.
 13763  func (s *InstancesCount) SetStopping(v int64) *InstancesCount {
 13764  	s.Stopping = &v
 13765  	return s
 13766  }
 13767  
 13768  // SetTerminated sets the Terminated field's value.
 13769  func (s *InstancesCount) SetTerminated(v int64) *InstancesCount {
 13770  	s.Terminated = &v
 13771  	return s
 13772  }
 13773  
 13774  // SetTerminating sets the Terminating field's value.
 13775  func (s *InstancesCount) SetTerminating(v int64) *InstancesCount {
 13776  	s.Terminating = &v
 13777  	return s
 13778  }
 13779  
 13780  // SetUnassigning sets the Unassigning field's value.
 13781  func (s *InstancesCount) SetUnassigning(v int64) *InstancesCount {
 13782  	s.Unassigning = &v
 13783  	return s
 13784  }
 13785  
 13786  // Describes a layer.
 13787  type Layer struct {
 13788  	_ struct{} `type:"structure"`
 13789  
 13790  	// The Amazon Resource Number (ARN) of a layer.
 13791  	Arn *string `type:"string"`
 13792  
 13793  	// The layer attributes.
 13794  	//
 13795  	// For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes,
 13796  	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value
 13797  	//
 13798  	// For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute
 13799  	// is set to the cluster's ARN.
 13800  	Attributes map[string]*string `type:"map"`
 13801  
 13802  	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
 13803  	// to the layer's instances. For more information, see How to Edit a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
 13804  	AutoAssignElasticIps *bool `type:"boolean"`
 13805  
 13806  	// For stacks that are running in a VPC, whether to automatically assign a public
 13807  	// IP address to the layer's instances. For more information, see How to Edit
 13808  	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
 13809  	AutoAssignPublicIps *bool `type:"boolean"`
 13810  
 13811  	// The Amazon CloudWatch Logs configuration settings for the layer.
 13812  	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
 13813  
 13814  	// Date when the layer was created.
 13815  	CreatedAt *string `type:"string"`
 13816  
 13817  	// The ARN of the default IAM profile to be used for the layer's EC2 instances.
 13818  	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 13819  	CustomInstanceProfileArn *string `type:"string"`
 13820  
 13821  	// A JSON formatted string containing the layer's custom stack configuration
 13822  	// and deployment attributes.
 13823  	CustomJson *string `type:"string"`
 13824  
 13825  	// A LayerCustomRecipes object that specifies the layer's custom recipes.
 13826  	CustomRecipes *Recipes `type:"structure"`
 13827  
 13828  	// An array containing the layer's custom security group IDs.
 13829  	CustomSecurityGroupIds []*string `type:"list"`
 13830  
 13831  	// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
 13832  	// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
 13833  	// a set of standard recipes for each event. You can also provide custom recipes
 13834  	// for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes
 13835  	// after the standard recipes. LayerCustomRecipes specifies the custom recipes
 13836  	// for a particular layer to be run in response to each of the five events.
 13837  	//
 13838  	// To specify a recipe, use the cookbook's directory name in the repository
 13839  	// followed by two colons and the recipe name, which is the recipe's file name
 13840  	// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
 13841  	// recipe in the repository's phpapp2 folder.
 13842  	DefaultRecipes *Recipes `type:"structure"`
 13843  
 13844  	// An array containing the layer's security group names.
 13845  	DefaultSecurityGroupNames []*string `type:"list"`
 13846  
 13847  	// Whether auto healing is disabled for the layer.
 13848  	EnableAutoHealing *bool `type:"boolean"`
 13849  
 13850  	// Whether to install operating system and package updates when the instance
 13851  	// boots. The default value is true. If this value is set to false, you must
 13852  	// then update your instances manually by using CreateDeployment to run the
 13853  	// update_dependencies stack command or manually running yum (Amazon Linux)
 13854  	// or apt-get (Ubuntu) on the instances.
 13855  	//
 13856  	// We strongly recommend using the default value of true, to ensure that your
 13857  	// instances have the latest security updates.
 13858  	InstallUpdatesOnBoot *bool `type:"boolean"`
 13859  
 13860  	// The layer ID.
 13861  	LayerId *string `type:"string"`
 13862  
 13863  	// A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.
 13864  	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
 13865  
 13866  	// The layer name.
 13867  	Name *string `type:"string"`
 13868  
 13869  	// An array of Package objects that describe the layer's packages.
 13870  	Packages []*string `type:"list"`
 13871  
 13872  	// The layer short name.
 13873  	Shortname *string `type:"string"`
 13874  
 13875  	// The layer stack ID.
 13876  	StackId *string `type:"string"`
 13877  
 13878  	// The layer type.
 13879  	Type *string `type:"string" enum:"LayerType"`
 13880  
 13881  	// Whether the layer uses Amazon EBS-optimized instances.
 13882  	UseEbsOptimizedInstances *bool `type:"boolean"`
 13883  
 13884  	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
 13885  	VolumeConfigurations []*VolumeConfiguration `type:"list"`
 13886  }
 13887  
 13888  // String returns the string representation.
 13889  //
 13890  // API parameter values that are decorated as "sensitive" in the API will not
 13891  // be included in the string output. The member name will be present, but the
 13892  // value will be replaced with "sensitive".
 13893  func (s Layer) String() string {
 13894  	return awsutil.Prettify(s)
 13895  }
 13896  
 13897  // GoString returns the string representation.
 13898  //
 13899  // API parameter values that are decorated as "sensitive" in the API will not
 13900  // be included in the string output. The member name will be present, but the
 13901  // value will be replaced with "sensitive".
 13902  func (s Layer) GoString() string {
 13903  	return s.String()
 13904  }
 13905  
 13906  // SetArn sets the Arn field's value.
 13907  func (s *Layer) SetArn(v string) *Layer {
 13908  	s.Arn = &v
 13909  	return s
 13910  }
 13911  
 13912  // SetAttributes sets the Attributes field's value.
 13913  func (s *Layer) SetAttributes(v map[string]*string) *Layer {
 13914  	s.Attributes = v
 13915  	return s
 13916  }
 13917  
 13918  // SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
 13919  func (s *Layer) SetAutoAssignElasticIps(v bool) *Layer {
 13920  	s.AutoAssignElasticIps = &v
 13921  	return s
 13922  }
 13923  
 13924  // SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
 13925  func (s *Layer) SetAutoAssignPublicIps(v bool) *Layer {
 13926  	s.AutoAssignPublicIps = &v
 13927  	return s
 13928  }
 13929  
 13930  // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
 13931  func (s *Layer) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *Layer {
 13932  	s.CloudWatchLogsConfiguration = v
 13933  	return s
 13934  }
 13935  
 13936  // SetCreatedAt sets the CreatedAt field's value.
 13937  func (s *Layer) SetCreatedAt(v string) *Layer {
 13938  	s.CreatedAt = &v
 13939  	return s
 13940  }
 13941  
 13942  // SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
 13943  func (s *Layer) SetCustomInstanceProfileArn(v string) *Layer {
 13944  	s.CustomInstanceProfileArn = &v
 13945  	return s
 13946  }
 13947  
 13948  // SetCustomJson sets the CustomJson field's value.
 13949  func (s *Layer) SetCustomJson(v string) *Layer {
 13950  	s.CustomJson = &v
 13951  	return s
 13952  }
 13953  
 13954  // SetCustomRecipes sets the CustomRecipes field's value.
 13955  func (s *Layer) SetCustomRecipes(v *Recipes) *Layer {
 13956  	s.CustomRecipes = v
 13957  	return s
 13958  }
 13959  
 13960  // SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
 13961  func (s *Layer) SetCustomSecurityGroupIds(v []*string) *Layer {
 13962  	s.CustomSecurityGroupIds = v
 13963  	return s
 13964  }
 13965  
 13966  // SetDefaultRecipes sets the DefaultRecipes field's value.
 13967  func (s *Layer) SetDefaultRecipes(v *Recipes) *Layer {
 13968  	s.DefaultRecipes = v
 13969  	return s
 13970  }
 13971  
 13972  // SetDefaultSecurityGroupNames sets the DefaultSecurityGroupNames field's value.
 13973  func (s *Layer) SetDefaultSecurityGroupNames(v []*string) *Layer {
 13974  	s.DefaultSecurityGroupNames = v
 13975  	return s
 13976  }
 13977  
 13978  // SetEnableAutoHealing sets the EnableAutoHealing field's value.
 13979  func (s *Layer) SetEnableAutoHealing(v bool) *Layer {
 13980  	s.EnableAutoHealing = &v
 13981  	return s
 13982  }
 13983  
 13984  // SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
 13985  func (s *Layer) SetInstallUpdatesOnBoot(v bool) *Layer {
 13986  	s.InstallUpdatesOnBoot = &v
 13987  	return s
 13988  }
 13989  
 13990  // SetLayerId sets the LayerId field's value.
 13991  func (s *Layer) SetLayerId(v string) *Layer {
 13992  	s.LayerId = &v
 13993  	return s
 13994  }
 13995  
 13996  // SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
 13997  func (s *Layer) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *Layer {
 13998  	s.LifecycleEventConfiguration = v
 13999  	return s
 14000  }
 14001  
 14002  // SetName sets the Name field's value.
 14003  func (s *Layer) SetName(v string) *Layer {
 14004  	s.Name = &v
 14005  	return s
 14006  }
 14007  
 14008  // SetPackages sets the Packages field's value.
 14009  func (s *Layer) SetPackages(v []*string) *Layer {
 14010  	s.Packages = v
 14011  	return s
 14012  }
 14013  
 14014  // SetShortname sets the Shortname field's value.
 14015  func (s *Layer) SetShortname(v string) *Layer {
 14016  	s.Shortname = &v
 14017  	return s
 14018  }
 14019  
 14020  // SetStackId sets the StackId field's value.
 14021  func (s *Layer) SetStackId(v string) *Layer {
 14022  	s.StackId = &v
 14023  	return s
 14024  }
 14025  
 14026  // SetType sets the Type field's value.
 14027  func (s *Layer) SetType(v string) *Layer {
 14028  	s.Type = &v
 14029  	return s
 14030  }
 14031  
 14032  // SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
 14033  func (s *Layer) SetUseEbsOptimizedInstances(v bool) *Layer {
 14034  	s.UseEbsOptimizedInstances = &v
 14035  	return s
 14036  }
 14037  
 14038  // SetVolumeConfigurations sets the VolumeConfigurations field's value.
 14039  func (s *Layer) SetVolumeConfigurations(v []*VolumeConfiguration) *Layer {
 14040  	s.VolumeConfigurations = v
 14041  	return s
 14042  }
 14043  
 14044  // Specifies the lifecycle event configuration
 14045  type LifecycleEventConfiguration struct {
 14046  	_ struct{} `type:"structure"`
 14047  
 14048  	// A ShutdownEventConfiguration object that specifies the Shutdown event configuration.
 14049  	Shutdown *ShutdownEventConfiguration `type:"structure"`
 14050  }
 14051  
 14052  // String returns the string representation.
 14053  //
 14054  // API parameter values that are decorated as "sensitive" in the API will not
 14055  // be included in the string output. The member name will be present, but the
 14056  // value will be replaced with "sensitive".
 14057  func (s LifecycleEventConfiguration) String() string {
 14058  	return awsutil.Prettify(s)
 14059  }
 14060  
 14061  // GoString returns the string representation.
 14062  //
 14063  // API parameter values that are decorated as "sensitive" in the API will not
 14064  // be included in the string output. The member name will be present, but the
 14065  // value will be replaced with "sensitive".
 14066  func (s LifecycleEventConfiguration) GoString() string {
 14067  	return s.String()
 14068  }
 14069  
 14070  // SetShutdown sets the Shutdown field's value.
 14071  func (s *LifecycleEventConfiguration) SetShutdown(v *ShutdownEventConfiguration) *LifecycleEventConfiguration {
 14072  	s.Shutdown = v
 14073  	return s
 14074  }
 14075  
 14076  type ListTagsInput struct {
 14077  	_ struct{} `type:"structure"`
 14078  
 14079  	// Do not use. A validation exception occurs if you add a MaxResults parameter
 14080  	// to a ListTagsRequest call.
 14081  	MaxResults *int64 `type:"integer"`
 14082  
 14083  	// Do not use. A validation exception occurs if you add a NextToken parameter
 14084  	// to a ListTagsRequest call.
 14085  	NextToken *string `type:"string"`
 14086  
 14087  	// The stack or layer's Amazon Resource Number (ARN).
 14088  	//
 14089  	// ResourceArn is a required field
 14090  	ResourceArn *string `type:"string" required:"true"`
 14091  }
 14092  
 14093  // String returns the string representation.
 14094  //
 14095  // API parameter values that are decorated as "sensitive" in the API will not
 14096  // be included in the string output. The member name will be present, but the
 14097  // value will be replaced with "sensitive".
 14098  func (s ListTagsInput) String() string {
 14099  	return awsutil.Prettify(s)
 14100  }
 14101  
 14102  // GoString returns the string representation.
 14103  //
 14104  // API parameter values that are decorated as "sensitive" in the API will not
 14105  // be included in the string output. The member name will be present, but the
 14106  // value will be replaced with "sensitive".
 14107  func (s ListTagsInput) GoString() string {
 14108  	return s.String()
 14109  }
 14110  
 14111  // Validate inspects the fields of the type to determine if they are valid.
 14112  func (s *ListTagsInput) Validate() error {
 14113  	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
 14114  	if s.ResourceArn == nil {
 14115  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14116  	}
 14117  
 14118  	if invalidParams.Len() > 0 {
 14119  		return invalidParams
 14120  	}
 14121  	return nil
 14122  }
 14123  
 14124  // SetMaxResults sets the MaxResults field's value.
 14125  func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
 14126  	s.MaxResults = &v
 14127  	return s
 14128  }
 14129  
 14130  // SetNextToken sets the NextToken field's value.
 14131  func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
 14132  	s.NextToken = &v
 14133  	return s
 14134  }
 14135  
 14136  // SetResourceArn sets the ResourceArn field's value.
 14137  func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
 14138  	s.ResourceArn = &v
 14139  	return s
 14140  }
 14141  
 14142  // Contains the response to a ListTags request.
 14143  type ListTagsOutput struct {
 14144  	_ struct{} `type:"structure"`
 14145  
 14146  	// If a paginated request does not return all of the remaining results, this
 14147  	// parameter is set to a token that you can assign to the request object's NextToken
 14148  	// parameter to get the next set of results. If the previous paginated request
 14149  	// returned all of the remaining results, this parameter is set to null.
 14150  	NextToken *string `type:"string"`
 14151  
 14152  	// A set of key-value pairs that contain tag keys and tag values that are attached
 14153  	// to a stack or layer.
 14154  	Tags map[string]*string `type:"map"`
 14155  }
 14156  
 14157  // String returns the string representation.
 14158  //
 14159  // API parameter values that are decorated as "sensitive" in the API will not
 14160  // be included in the string output. The member name will be present, but the
 14161  // value will be replaced with "sensitive".
 14162  func (s ListTagsOutput) String() string {
 14163  	return awsutil.Prettify(s)
 14164  }
 14165  
 14166  // GoString returns the string representation.
 14167  //
 14168  // API parameter values that are decorated as "sensitive" in the API will not
 14169  // be included in the string output. The member name will be present, but the
 14170  // value will be replaced with "sensitive".
 14171  func (s ListTagsOutput) GoString() string {
 14172  	return s.String()
 14173  }
 14174  
 14175  // SetNextToken sets the NextToken field's value.
 14176  func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
 14177  	s.NextToken = &v
 14178  	return s
 14179  }
 14180  
 14181  // SetTags sets the Tags field's value.
 14182  func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
 14183  	s.Tags = v
 14184  	return s
 14185  }
 14186  
 14187  // Describes a layer's load-based auto scaling configuration.
 14188  type LoadBasedAutoScalingConfiguration struct {
 14189  	_ struct{} `type:"structure"`
 14190  
 14191  	// An AutoScalingThresholds object that describes the downscaling configuration,
 14192  	// which defines how and when AWS OpsWorks Stacks reduces the number of instances.
 14193  	DownScaling *AutoScalingThresholds `type:"structure"`
 14194  
 14195  	// Whether load-based auto scaling is enabled for the layer.
 14196  	Enable *bool `type:"boolean"`
 14197  
 14198  	// The layer ID.
 14199  	LayerId *string `type:"string"`
 14200  
 14201  	// An AutoScalingThresholds object that describes the upscaling configuration,
 14202  	// which defines how and when AWS OpsWorks Stacks increases the number of instances.
 14203  	UpScaling *AutoScalingThresholds `type:"structure"`
 14204  }
 14205  
 14206  // String returns the string representation.
 14207  //
 14208  // API parameter values that are decorated as "sensitive" in the API will not
 14209  // be included in the string output. The member name will be present, but the
 14210  // value will be replaced with "sensitive".
 14211  func (s LoadBasedAutoScalingConfiguration) String() string {
 14212  	return awsutil.Prettify(s)
 14213  }
 14214  
 14215  // GoString returns the string representation.
 14216  //
 14217  // API parameter values that are decorated as "sensitive" in the API will not
 14218  // be included in the string output. The member name will be present, but the
 14219  // value will be replaced with "sensitive".
 14220  func (s LoadBasedAutoScalingConfiguration) GoString() string {
 14221  	return s.String()
 14222  }
 14223  
 14224  // SetDownScaling sets the DownScaling field's value.
 14225  func (s *LoadBasedAutoScalingConfiguration) SetDownScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
 14226  	s.DownScaling = v
 14227  	return s
 14228  }
 14229  
 14230  // SetEnable sets the Enable field's value.
 14231  func (s *LoadBasedAutoScalingConfiguration) SetEnable(v bool) *LoadBasedAutoScalingConfiguration {
 14232  	s.Enable = &v
 14233  	return s
 14234  }
 14235  
 14236  // SetLayerId sets the LayerId field's value.
 14237  func (s *LoadBasedAutoScalingConfiguration) SetLayerId(v string) *LoadBasedAutoScalingConfiguration {
 14238  	s.LayerId = &v
 14239  	return s
 14240  }
 14241  
 14242  // SetUpScaling sets the UpScaling field's value.
 14243  func (s *LoadBasedAutoScalingConfiguration) SetUpScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
 14244  	s.UpScaling = v
 14245  	return s
 14246  }
 14247  
 14248  // Describes supported operating systems in AWS OpsWorks Stacks.
 14249  type OperatingSystem struct {
 14250  	_ struct{} `type:"structure"`
 14251  
 14252  	// Supported configuration manager name and versions for an AWS OpsWorks Stacks
 14253  	// operating system.
 14254  	ConfigurationManagers []*OperatingSystemConfigurationManager `type:"list"`
 14255  
 14256  	// The ID of a supported operating system, such as Amazon Linux 2018.03.
 14257  	Id *string `type:"string"`
 14258  
 14259  	// The name of the operating system, such as Amazon Linux 2018.03.
 14260  	Name *string `type:"string"`
 14261  
 14262  	// A short name for the operating system manufacturer.
 14263  	ReportedName *string `type:"string"`
 14264  
 14265  	// The version of the operating system, including the release and edition, if
 14266  	// applicable.
 14267  	ReportedVersion *string `type:"string"`
 14268  
 14269  	// Indicates that an operating system is not supported for new instances.
 14270  	Supported *bool `type:"boolean"`
 14271  
 14272  	// The type of a supported operating system, either Linux or Windows.
 14273  	Type *string `type:"string"`
 14274  }
 14275  
 14276  // String returns the string representation.
 14277  //
 14278  // API parameter values that are decorated as "sensitive" in the API will not
 14279  // be included in the string output. The member name will be present, but the
 14280  // value will be replaced with "sensitive".
 14281  func (s OperatingSystem) String() string {
 14282  	return awsutil.Prettify(s)
 14283  }
 14284  
 14285  // GoString returns the string representation.
 14286  //
 14287  // API parameter values that are decorated as "sensitive" in the API will not
 14288  // be included in the string output. The member name will be present, but the
 14289  // value will be replaced with "sensitive".
 14290  func (s OperatingSystem) GoString() string {
 14291  	return s.String()
 14292  }
 14293  
 14294  // SetConfigurationManagers sets the ConfigurationManagers field's value.
 14295  func (s *OperatingSystem) SetConfigurationManagers(v []*OperatingSystemConfigurationManager) *OperatingSystem {
 14296  	s.ConfigurationManagers = v
 14297  	return s
 14298  }
 14299  
 14300  // SetId sets the Id field's value.
 14301  func (s *OperatingSystem) SetId(v string) *OperatingSystem {
 14302  	s.Id = &v
 14303  	return s
 14304  }
 14305  
 14306  // SetName sets the Name field's value.
 14307  func (s *OperatingSystem) SetName(v string) *OperatingSystem {
 14308  	s.Name = &v
 14309  	return s
 14310  }
 14311  
 14312  // SetReportedName sets the ReportedName field's value.
 14313  func (s *OperatingSystem) SetReportedName(v string) *OperatingSystem {
 14314  	s.ReportedName = &v
 14315  	return s
 14316  }
 14317  
 14318  // SetReportedVersion sets the ReportedVersion field's value.
 14319  func (s *OperatingSystem) SetReportedVersion(v string) *OperatingSystem {
 14320  	s.ReportedVersion = &v
 14321  	return s
 14322  }
 14323  
 14324  // SetSupported sets the Supported field's value.
 14325  func (s *OperatingSystem) SetSupported(v bool) *OperatingSystem {
 14326  	s.Supported = &v
 14327  	return s
 14328  }
 14329  
 14330  // SetType sets the Type field's value.
 14331  func (s *OperatingSystem) SetType(v string) *OperatingSystem {
 14332  	s.Type = &v
 14333  	return s
 14334  }
 14335  
 14336  // A block that contains information about the configuration manager (Chef)
 14337  // and the versions of the configuration manager that are supported for an operating
 14338  // system.
 14339  type OperatingSystemConfigurationManager struct {
 14340  	_ struct{} `type:"structure"`
 14341  
 14342  	// The name of the configuration manager, which is Chef.
 14343  	Name *string `type:"string"`
 14344  
 14345  	// The versions of the configuration manager that are supported by an operating
 14346  	// system.
 14347  	Version *string `type:"string"`
 14348  }
 14349  
 14350  // String returns the string representation.
 14351  //
 14352  // API parameter values that are decorated as "sensitive" in the API will not
 14353  // be included in the string output. The member name will be present, but the
 14354  // value will be replaced with "sensitive".
 14355  func (s OperatingSystemConfigurationManager) String() string {
 14356  	return awsutil.Prettify(s)
 14357  }
 14358  
 14359  // GoString returns the string representation.
 14360  //
 14361  // API parameter values that are decorated as "sensitive" in the API will not
 14362  // be included in the string output. The member name will be present, but the
 14363  // value will be replaced with "sensitive".
 14364  func (s OperatingSystemConfigurationManager) GoString() string {
 14365  	return s.String()
 14366  }
 14367  
 14368  // SetName sets the Name field's value.
 14369  func (s *OperatingSystemConfigurationManager) SetName(v string) *OperatingSystemConfigurationManager {
 14370  	s.Name = &v
 14371  	return s
 14372  }
 14373  
 14374  // SetVersion sets the Version field's value.
 14375  func (s *OperatingSystemConfigurationManager) SetVersion(v string) *OperatingSystemConfigurationManager {
 14376  	s.Version = &v
 14377  	return s
 14378  }
 14379  
 14380  // Describes stack or user permissions.
 14381  type Permission struct {
 14382  	_ struct{} `type:"structure"`
 14383  
 14384  	// Whether the user can use SSH.
 14385  	AllowSsh *bool `type:"boolean"`
 14386  
 14387  	// Whether the user can use sudo.
 14388  	AllowSudo *bool `type:"boolean"`
 14389  
 14390  	// The Amazon Resource Name (ARN) for an AWS Identity and Access Management
 14391  	// (IAM) role. For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 14392  	IamUserArn *string `type:"string"`
 14393  
 14394  	// The user's permission level, which must be the following:
 14395  	//
 14396  	//    * deny
 14397  	//
 14398  	//    * show
 14399  	//
 14400  	//    * deploy
 14401  	//
 14402  	//    * manage
 14403  	//
 14404  	//    * iam_only
 14405  	//
 14406  	// For more information on the permissions associated with these levels, see
 14407  	// Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html)
 14408  	Level *string `type:"string"`
 14409  
 14410  	// A stack ID.
 14411  	StackId *string `type:"string"`
 14412  }
 14413  
 14414  // String returns the string representation.
 14415  //
 14416  // API parameter values that are decorated as "sensitive" in the API will not
 14417  // be included in the string output. The member name will be present, but the
 14418  // value will be replaced with "sensitive".
 14419  func (s Permission) String() string {
 14420  	return awsutil.Prettify(s)
 14421  }
 14422  
 14423  // GoString returns the string representation.
 14424  //
 14425  // API parameter values that are decorated as "sensitive" in the API will not
 14426  // be included in the string output. The member name will be present, but the
 14427  // value will be replaced with "sensitive".
 14428  func (s Permission) GoString() string {
 14429  	return s.String()
 14430  }
 14431  
 14432  // SetAllowSsh sets the AllowSsh field's value.
 14433  func (s *Permission) SetAllowSsh(v bool) *Permission {
 14434  	s.AllowSsh = &v
 14435  	return s
 14436  }
 14437  
 14438  // SetAllowSudo sets the AllowSudo field's value.
 14439  func (s *Permission) SetAllowSudo(v bool) *Permission {
 14440  	s.AllowSudo = &v
 14441  	return s
 14442  }
 14443  
 14444  // SetIamUserArn sets the IamUserArn field's value.
 14445  func (s *Permission) SetIamUserArn(v string) *Permission {
 14446  	s.IamUserArn = &v
 14447  	return s
 14448  }
 14449  
 14450  // SetLevel sets the Level field's value.
 14451  func (s *Permission) SetLevel(v string) *Permission {
 14452  	s.Level = &v
 14453  	return s
 14454  }
 14455  
 14456  // SetStackId sets the StackId field's value.
 14457  func (s *Permission) SetStackId(v string) *Permission {
 14458  	s.StackId = &v
 14459  	return s
 14460  }
 14461  
 14462  // Describes an instance's RAID array.
 14463  type RaidArray struct {
 14464  	_ struct{} `type:"structure"`
 14465  
 14466  	// The array's Availability Zone. For more information, see Regions and Endpoints
 14467  	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 14468  	AvailabilityZone *string `type:"string"`
 14469  
 14470  	// When the RAID array was created.
 14471  	CreatedAt *string `type:"string"`
 14472  
 14473  	// The array's Linux device. For example /dev/mdadm0.
 14474  	Device *string `type:"string"`
 14475  
 14476  	// The instance ID.
 14477  	InstanceId *string `type:"string"`
 14478  
 14479  	// For PIOPS volumes, the IOPS per disk.
 14480  	Iops *int64 `type:"integer"`
 14481  
 14482  	// The array's mount point.
 14483  	MountPoint *string `type:"string"`
 14484  
 14485  	// The array name.
 14486  	Name *string `type:"string"`
 14487  
 14488  	// The number of disks in the array.
 14489  	NumberOfDisks *int64 `type:"integer"`
 14490  
 14491  	// The array ID.
 14492  	RaidArrayId *string `type:"string"`
 14493  
 14494  	// The RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
 14495  	RaidLevel *int64 `type:"integer"`
 14496  
 14497  	// The array's size.
 14498  	Size *int64 `type:"integer"`
 14499  
 14500  	// The stack ID.
 14501  	StackId *string `type:"string"`
 14502  
 14503  	// The volume type, standard or PIOPS.
 14504  	VolumeType *string `type:"string"`
 14505  }
 14506  
 14507  // String returns the string representation.
 14508  //
 14509  // API parameter values that are decorated as "sensitive" in the API will not
 14510  // be included in the string output. The member name will be present, but the
 14511  // value will be replaced with "sensitive".
 14512  func (s RaidArray) String() string {
 14513  	return awsutil.Prettify(s)
 14514  }
 14515  
 14516  // GoString returns the string representation.
 14517  //
 14518  // API parameter values that are decorated as "sensitive" in the API will not
 14519  // be included in the string output. The member name will be present, but the
 14520  // value will be replaced with "sensitive".
 14521  func (s RaidArray) GoString() string {
 14522  	return s.String()
 14523  }
 14524  
 14525  // SetAvailabilityZone sets the AvailabilityZone field's value.
 14526  func (s *RaidArray) SetAvailabilityZone(v string) *RaidArray {
 14527  	s.AvailabilityZone = &v
 14528  	return s
 14529  }
 14530  
 14531  // SetCreatedAt sets the CreatedAt field's value.
 14532  func (s *RaidArray) SetCreatedAt(v string) *RaidArray {
 14533  	s.CreatedAt = &v
 14534  	return s
 14535  }
 14536  
 14537  // SetDevice sets the Device field's value.
 14538  func (s *RaidArray) SetDevice(v string) *RaidArray {
 14539  	s.Device = &v
 14540  	return s
 14541  }
 14542  
 14543  // SetInstanceId sets the InstanceId field's value.
 14544  func (s *RaidArray) SetInstanceId(v string) *RaidArray {
 14545  	s.InstanceId = &v
 14546  	return s
 14547  }
 14548  
 14549  // SetIops sets the Iops field's value.
 14550  func (s *RaidArray) SetIops(v int64) *RaidArray {
 14551  	s.Iops = &v
 14552  	return s
 14553  }
 14554  
 14555  // SetMountPoint sets the MountPoint field's value.
 14556  func (s *RaidArray) SetMountPoint(v string) *RaidArray {
 14557  	s.MountPoint = &v
 14558  	return s
 14559  }
 14560  
 14561  // SetName sets the Name field's value.
 14562  func (s *RaidArray) SetName(v string) *RaidArray {
 14563  	s.Name = &v
 14564  	return s
 14565  }
 14566  
 14567  // SetNumberOfDisks sets the NumberOfDisks field's value.
 14568  func (s *RaidArray) SetNumberOfDisks(v int64) *RaidArray {
 14569  	s.NumberOfDisks = &v
 14570  	return s
 14571  }
 14572  
 14573  // SetRaidArrayId sets the RaidArrayId field's value.
 14574  func (s *RaidArray) SetRaidArrayId(v string) *RaidArray {
 14575  	s.RaidArrayId = &v
 14576  	return s
 14577  }
 14578  
 14579  // SetRaidLevel sets the RaidLevel field's value.
 14580  func (s *RaidArray) SetRaidLevel(v int64) *RaidArray {
 14581  	s.RaidLevel = &v
 14582  	return s
 14583  }
 14584  
 14585  // SetSize sets the Size field's value.
 14586  func (s *RaidArray) SetSize(v int64) *RaidArray {
 14587  	s.Size = &v
 14588  	return s
 14589  }
 14590  
 14591  // SetStackId sets the StackId field's value.
 14592  func (s *RaidArray) SetStackId(v string) *RaidArray {
 14593  	s.StackId = &v
 14594  	return s
 14595  }
 14596  
 14597  // SetVolumeType sets the VolumeType field's value.
 14598  func (s *RaidArray) SetVolumeType(v string) *RaidArray {
 14599  	s.VolumeType = &v
 14600  	return s
 14601  }
 14602  
 14603  // Describes an Amazon RDS instance.
 14604  type RdsDbInstance struct {
 14605  	_ struct{} `type:"structure"`
 14606  
 14607  	// The instance's address.
 14608  	Address *string `type:"string"`
 14609  
 14610  	// The DB instance identifier.
 14611  	DbInstanceIdentifier *string `type:"string"`
 14612  
 14613  	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.
 14614  	DbPassword *string `type:"string"`
 14615  
 14616  	// The master user name.
 14617  	DbUser *string `type:"string"`
 14618  
 14619  	// The instance's database engine.
 14620  	Engine *string `type:"string"`
 14621  
 14622  	// Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance.
 14623  	// AWS OpsWorks Stacks attempts to discover the instance only once. If this
 14624  	// value is set to true, you must deregister the instance, and then register
 14625  	// it again.
 14626  	MissingOnRds *bool `type:"boolean"`
 14627  
 14628  	// The instance's ARN.
 14629  	RdsDbInstanceArn *string `type:"string"`
 14630  
 14631  	// The instance's AWS region.
 14632  	Region *string `type:"string"`
 14633  
 14634  	// The ID of the stack with which the instance is registered.
 14635  	StackId *string `type:"string"`
 14636  }
 14637  
 14638  // String returns the string representation.
 14639  //
 14640  // API parameter values that are decorated as "sensitive" in the API will not
 14641  // be included in the string output. The member name will be present, but the
 14642  // value will be replaced with "sensitive".
 14643  func (s RdsDbInstance) String() string {
 14644  	return awsutil.Prettify(s)
 14645  }
 14646  
 14647  // GoString returns the string representation.
 14648  //
 14649  // API parameter values that are decorated as "sensitive" in the API will not
 14650  // be included in the string output. The member name will be present, but the
 14651  // value will be replaced with "sensitive".
 14652  func (s RdsDbInstance) GoString() string {
 14653  	return s.String()
 14654  }
 14655  
 14656  // SetAddress sets the Address field's value.
 14657  func (s *RdsDbInstance) SetAddress(v string) *RdsDbInstance {
 14658  	s.Address = &v
 14659  	return s
 14660  }
 14661  
 14662  // SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
 14663  func (s *RdsDbInstance) SetDbInstanceIdentifier(v string) *RdsDbInstance {
 14664  	s.DbInstanceIdentifier = &v
 14665  	return s
 14666  }
 14667  
 14668  // SetDbPassword sets the DbPassword field's value.
 14669  func (s *RdsDbInstance) SetDbPassword(v string) *RdsDbInstance {
 14670  	s.DbPassword = &v
 14671  	return s
 14672  }
 14673  
 14674  // SetDbUser sets the DbUser field's value.
 14675  func (s *RdsDbInstance) SetDbUser(v string) *RdsDbInstance {
 14676  	s.DbUser = &v
 14677  	return s
 14678  }
 14679  
 14680  // SetEngine sets the Engine field's value.
 14681  func (s *RdsDbInstance) SetEngine(v string) *RdsDbInstance {
 14682  	s.Engine = &v
 14683  	return s
 14684  }
 14685  
 14686  // SetMissingOnRds sets the MissingOnRds field's value.
 14687  func (s *RdsDbInstance) SetMissingOnRds(v bool) *RdsDbInstance {
 14688  	s.MissingOnRds = &v
 14689  	return s
 14690  }
 14691  
 14692  // SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
 14693  func (s *RdsDbInstance) SetRdsDbInstanceArn(v string) *RdsDbInstance {
 14694  	s.RdsDbInstanceArn = &v
 14695  	return s
 14696  }
 14697  
 14698  // SetRegion sets the Region field's value.
 14699  func (s *RdsDbInstance) SetRegion(v string) *RdsDbInstance {
 14700  	s.Region = &v
 14701  	return s
 14702  }
 14703  
 14704  // SetStackId sets the StackId field's value.
 14705  func (s *RdsDbInstance) SetStackId(v string) *RdsDbInstance {
 14706  	s.StackId = &v
 14707  	return s
 14708  }
 14709  
 14710  type RebootInstanceInput struct {
 14711  	_ struct{} `type:"structure"`
 14712  
 14713  	// The instance ID.
 14714  	//
 14715  	// InstanceId is a required field
 14716  	InstanceId *string `type:"string" required:"true"`
 14717  }
 14718  
 14719  // String returns the string representation.
 14720  //
 14721  // API parameter values that are decorated as "sensitive" in the API will not
 14722  // be included in the string output. The member name will be present, but the
 14723  // value will be replaced with "sensitive".
 14724  func (s RebootInstanceInput) String() string {
 14725  	return awsutil.Prettify(s)
 14726  }
 14727  
 14728  // GoString returns the string representation.
 14729  //
 14730  // API parameter values that are decorated as "sensitive" in the API will not
 14731  // be included in the string output. The member name will be present, but the
 14732  // value will be replaced with "sensitive".
 14733  func (s RebootInstanceInput) GoString() string {
 14734  	return s.String()
 14735  }
 14736  
 14737  // Validate inspects the fields of the type to determine if they are valid.
 14738  func (s *RebootInstanceInput) Validate() error {
 14739  	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
 14740  	if s.InstanceId == nil {
 14741  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14742  	}
 14743  
 14744  	if invalidParams.Len() > 0 {
 14745  		return invalidParams
 14746  	}
 14747  	return nil
 14748  }
 14749  
 14750  // SetInstanceId sets the InstanceId field's value.
 14751  func (s *RebootInstanceInput) SetInstanceId(v string) *RebootInstanceInput {
 14752  	s.InstanceId = &v
 14753  	return s
 14754  }
 14755  
 14756  type RebootInstanceOutput struct {
 14757  	_ struct{} `type:"structure"`
 14758  }
 14759  
 14760  // String returns the string representation.
 14761  //
 14762  // API parameter values that are decorated as "sensitive" in the API will not
 14763  // be included in the string output. The member name will be present, but the
 14764  // value will be replaced with "sensitive".
 14765  func (s RebootInstanceOutput) String() string {
 14766  	return awsutil.Prettify(s)
 14767  }
 14768  
 14769  // GoString returns the string representation.
 14770  //
 14771  // API parameter values that are decorated as "sensitive" in the API will not
 14772  // be included in the string output. The member name will be present, but the
 14773  // value will be replaced with "sensitive".
 14774  func (s RebootInstanceOutput) GoString() string {
 14775  	return s.String()
 14776  }
 14777  
 14778  // AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
 14779  // deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
 14780  // a set of standard recipes for each event. In addition, you can provide custom
 14781  // recipes for any or all layers and events. AWS OpsWorks Stacks runs custom
 14782  // event recipes after the standard recipes. LayerCustomRecipes specifies the
 14783  // custom recipes for a particular layer to be run in response to each of the
 14784  // five events.
 14785  //
 14786  // To specify a recipe, use the cookbook's directory name in the repository
 14787  // followed by two colons and the recipe name, which is the recipe's file name
 14788  // without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
 14789  // recipe in the repository's phpapp2 folder.
 14790  type Recipes struct {
 14791  	_ struct{} `type:"structure"`
 14792  
 14793  	// An array of custom recipe names to be run following a configure event.
 14794  	Configure []*string `type:"list"`
 14795  
 14796  	// An array of custom recipe names to be run following a deploy event.
 14797  	Deploy []*string `type:"list"`
 14798  
 14799  	// An array of custom recipe names to be run following a setup event.
 14800  	Setup []*string `type:"list"`
 14801  
 14802  	// An array of custom recipe names to be run following a shutdown event.
 14803  	Shutdown []*string `type:"list"`
 14804  
 14805  	// An array of custom recipe names to be run following a undeploy event.
 14806  	Undeploy []*string `type:"list"`
 14807  }
 14808  
 14809  // String returns the string representation.
 14810  //
 14811  // API parameter values that are decorated as "sensitive" in the API will not
 14812  // be included in the string output. The member name will be present, but the
 14813  // value will be replaced with "sensitive".
 14814  func (s Recipes) String() string {
 14815  	return awsutil.Prettify(s)
 14816  }
 14817  
 14818  // GoString returns the string representation.
 14819  //
 14820  // API parameter values that are decorated as "sensitive" in the API will not
 14821  // be included in the string output. The member name will be present, but the
 14822  // value will be replaced with "sensitive".
 14823  func (s Recipes) GoString() string {
 14824  	return s.String()
 14825  }
 14826  
 14827  // SetConfigure sets the Configure field's value.
 14828  func (s *Recipes) SetConfigure(v []*string) *Recipes {
 14829  	s.Configure = v
 14830  	return s
 14831  }
 14832  
 14833  // SetDeploy sets the Deploy field's value.
 14834  func (s *Recipes) SetDeploy(v []*string) *Recipes {
 14835  	s.Deploy = v
 14836  	return s
 14837  }
 14838  
 14839  // SetSetup sets the Setup field's value.
 14840  func (s *Recipes) SetSetup(v []*string) *Recipes {
 14841  	s.Setup = v
 14842  	return s
 14843  }
 14844  
 14845  // SetShutdown sets the Shutdown field's value.
 14846  func (s *Recipes) SetShutdown(v []*string) *Recipes {
 14847  	s.Shutdown = v
 14848  	return s
 14849  }
 14850  
 14851  // SetUndeploy sets the Undeploy field's value.
 14852  func (s *Recipes) SetUndeploy(v []*string) *Recipes {
 14853  	s.Undeploy = v
 14854  	return s
 14855  }
 14856  
 14857  type RegisterEcsClusterInput struct {
 14858  	_ struct{} `type:"structure"`
 14859  
 14860  	// The cluster's ARN.
 14861  	//
 14862  	// EcsClusterArn is a required field
 14863  	EcsClusterArn *string `type:"string" required:"true"`
 14864  
 14865  	// The stack ID.
 14866  	//
 14867  	// StackId is a required field
 14868  	StackId *string `type:"string" required:"true"`
 14869  }
 14870  
 14871  // String returns the string representation.
 14872  //
 14873  // API parameter values that are decorated as "sensitive" in the API will not
 14874  // be included in the string output. The member name will be present, but the
 14875  // value will be replaced with "sensitive".
 14876  func (s RegisterEcsClusterInput) String() string {
 14877  	return awsutil.Prettify(s)
 14878  }
 14879  
 14880  // GoString returns the string representation.
 14881  //
 14882  // API parameter values that are decorated as "sensitive" in the API will not
 14883  // be included in the string output. The member name will be present, but the
 14884  // value will be replaced with "sensitive".
 14885  func (s RegisterEcsClusterInput) GoString() string {
 14886  	return s.String()
 14887  }
 14888  
 14889  // Validate inspects the fields of the type to determine if they are valid.
 14890  func (s *RegisterEcsClusterInput) Validate() error {
 14891  	invalidParams := request.ErrInvalidParams{Context: "RegisterEcsClusterInput"}
 14892  	if s.EcsClusterArn == nil {
 14893  		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
 14894  	}
 14895  	if s.StackId == nil {
 14896  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 14897  	}
 14898  
 14899  	if invalidParams.Len() > 0 {
 14900  		return invalidParams
 14901  	}
 14902  	return nil
 14903  }
 14904  
 14905  // SetEcsClusterArn sets the EcsClusterArn field's value.
 14906  func (s *RegisterEcsClusterInput) SetEcsClusterArn(v string) *RegisterEcsClusterInput {
 14907  	s.EcsClusterArn = &v
 14908  	return s
 14909  }
 14910  
 14911  // SetStackId sets the StackId field's value.
 14912  func (s *RegisterEcsClusterInput) SetStackId(v string) *RegisterEcsClusterInput {
 14913  	s.StackId = &v
 14914  	return s
 14915  }
 14916  
 14917  // Contains the response to a RegisterEcsCluster request.
 14918  type RegisterEcsClusterOutput struct {
 14919  	_ struct{} `type:"structure"`
 14920  
 14921  	// The cluster's ARN.
 14922  	EcsClusterArn *string `type:"string"`
 14923  }
 14924  
 14925  // String returns the string representation.
 14926  //
 14927  // API parameter values that are decorated as "sensitive" in the API will not
 14928  // be included in the string output. The member name will be present, but the
 14929  // value will be replaced with "sensitive".
 14930  func (s RegisterEcsClusterOutput) String() string {
 14931  	return awsutil.Prettify(s)
 14932  }
 14933  
 14934  // GoString returns the string representation.
 14935  //
 14936  // API parameter values that are decorated as "sensitive" in the API will not
 14937  // be included in the string output. The member name will be present, but the
 14938  // value will be replaced with "sensitive".
 14939  func (s RegisterEcsClusterOutput) GoString() string {
 14940  	return s.String()
 14941  }
 14942  
 14943  // SetEcsClusterArn sets the EcsClusterArn field's value.
 14944  func (s *RegisterEcsClusterOutput) SetEcsClusterArn(v string) *RegisterEcsClusterOutput {
 14945  	s.EcsClusterArn = &v
 14946  	return s
 14947  }
 14948  
 14949  type RegisterElasticIpInput struct {
 14950  	_ struct{} `type:"structure"`
 14951  
 14952  	// The Elastic IP address.
 14953  	//
 14954  	// ElasticIp is a required field
 14955  	ElasticIp *string `type:"string" required:"true"`
 14956  
 14957  	// The stack ID.
 14958  	//
 14959  	// StackId is a required field
 14960  	StackId *string `type:"string" required:"true"`
 14961  }
 14962  
 14963  // String returns the string representation.
 14964  //
 14965  // API parameter values that are decorated as "sensitive" in the API will not
 14966  // be included in the string output. The member name will be present, but the
 14967  // value will be replaced with "sensitive".
 14968  func (s RegisterElasticIpInput) String() string {
 14969  	return awsutil.Prettify(s)
 14970  }
 14971  
 14972  // GoString returns the string representation.
 14973  //
 14974  // API parameter values that are decorated as "sensitive" in the API will not
 14975  // be included in the string output. The member name will be present, but the
 14976  // value will be replaced with "sensitive".
 14977  func (s RegisterElasticIpInput) GoString() string {
 14978  	return s.String()
 14979  }
 14980  
 14981  // Validate inspects the fields of the type to determine if they are valid.
 14982  func (s *RegisterElasticIpInput) Validate() error {
 14983  	invalidParams := request.ErrInvalidParams{Context: "RegisterElasticIpInput"}
 14984  	if s.ElasticIp == nil {
 14985  		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
 14986  	}
 14987  	if s.StackId == nil {
 14988  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 14989  	}
 14990  
 14991  	if invalidParams.Len() > 0 {
 14992  		return invalidParams
 14993  	}
 14994  	return nil
 14995  }
 14996  
 14997  // SetElasticIp sets the ElasticIp field's value.
 14998  func (s *RegisterElasticIpInput) SetElasticIp(v string) *RegisterElasticIpInput {
 14999  	s.ElasticIp = &v
 15000  	return s
 15001  }
 15002  
 15003  // SetStackId sets the StackId field's value.
 15004  func (s *RegisterElasticIpInput) SetStackId(v string) *RegisterElasticIpInput {
 15005  	s.StackId = &v
 15006  	return s
 15007  }
 15008  
 15009  // Contains the response to a RegisterElasticIp request.
 15010  type RegisterElasticIpOutput struct {
 15011  	_ struct{} `type:"structure"`
 15012  
 15013  	// The Elastic IP address.
 15014  	ElasticIp *string `type:"string"`
 15015  }
 15016  
 15017  // String returns the string representation.
 15018  //
 15019  // API parameter values that are decorated as "sensitive" in the API will not
 15020  // be included in the string output. The member name will be present, but the
 15021  // value will be replaced with "sensitive".
 15022  func (s RegisterElasticIpOutput) String() string {
 15023  	return awsutil.Prettify(s)
 15024  }
 15025  
 15026  // GoString returns the string representation.
 15027  //
 15028  // API parameter values that are decorated as "sensitive" in the API will not
 15029  // be included in the string output. The member name will be present, but the
 15030  // value will be replaced with "sensitive".
 15031  func (s RegisterElasticIpOutput) GoString() string {
 15032  	return s.String()
 15033  }
 15034  
 15035  // SetElasticIp sets the ElasticIp field's value.
 15036  func (s *RegisterElasticIpOutput) SetElasticIp(v string) *RegisterElasticIpOutput {
 15037  	s.ElasticIp = &v
 15038  	return s
 15039  }
 15040  
 15041  type RegisterInstanceInput struct {
 15042  	_ struct{} `type:"structure"`
 15043  
 15044  	// The instance's hostname.
 15045  	Hostname *string `type:"string"`
 15046  
 15047  	// An InstanceIdentity object that contains the instance's identity.
 15048  	InstanceIdentity *InstanceIdentity `type:"structure"`
 15049  
 15050  	// The instance's private IP address.
 15051  	PrivateIp *string `type:"string"`
 15052  
 15053  	// The instance's public IP address.
 15054  	PublicIp *string `type:"string"`
 15055  
 15056  	// The instances public RSA key. This key is used to encrypt communication between
 15057  	// the instance and the service.
 15058  	RsaPublicKey *string `type:"string"`
 15059  
 15060  	// The instances public RSA key fingerprint.
 15061  	RsaPublicKeyFingerprint *string `type:"string"`
 15062  
 15063  	// The ID of the stack that the instance is to be registered with.
 15064  	//
 15065  	// StackId is a required field
 15066  	StackId *string `type:"string" required:"true"`
 15067  }
 15068  
 15069  // String returns the string representation.
 15070  //
 15071  // API parameter values that are decorated as "sensitive" in the API will not
 15072  // be included in the string output. The member name will be present, but the
 15073  // value will be replaced with "sensitive".
 15074  func (s RegisterInstanceInput) String() string {
 15075  	return awsutil.Prettify(s)
 15076  }
 15077  
 15078  // GoString returns the string representation.
 15079  //
 15080  // API parameter values that are decorated as "sensitive" in the API will not
 15081  // be included in the string output. The member name will be present, but the
 15082  // value will be replaced with "sensitive".
 15083  func (s RegisterInstanceInput) GoString() string {
 15084  	return s.String()
 15085  }
 15086  
 15087  // Validate inspects the fields of the type to determine if they are valid.
 15088  func (s *RegisterInstanceInput) Validate() error {
 15089  	invalidParams := request.ErrInvalidParams{Context: "RegisterInstanceInput"}
 15090  	if s.StackId == nil {
 15091  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 15092  	}
 15093  
 15094  	if invalidParams.Len() > 0 {
 15095  		return invalidParams
 15096  	}
 15097  	return nil
 15098  }
 15099  
 15100  // SetHostname sets the Hostname field's value.
 15101  func (s *RegisterInstanceInput) SetHostname(v string) *RegisterInstanceInput {
 15102  	s.Hostname = &v
 15103  	return s
 15104  }
 15105  
 15106  // SetInstanceIdentity sets the InstanceIdentity field's value.
 15107  func (s *RegisterInstanceInput) SetInstanceIdentity(v *InstanceIdentity) *RegisterInstanceInput {
 15108  	s.InstanceIdentity = v
 15109  	return s
 15110  }
 15111  
 15112  // SetPrivateIp sets the PrivateIp field's value.
 15113  func (s *RegisterInstanceInput) SetPrivateIp(v string) *RegisterInstanceInput {
 15114  	s.PrivateIp = &v
 15115  	return s
 15116  }
 15117  
 15118  // SetPublicIp sets the PublicIp field's value.
 15119  func (s *RegisterInstanceInput) SetPublicIp(v string) *RegisterInstanceInput {
 15120  	s.PublicIp = &v
 15121  	return s
 15122  }
 15123  
 15124  // SetRsaPublicKey sets the RsaPublicKey field's value.
 15125  func (s *RegisterInstanceInput) SetRsaPublicKey(v string) *RegisterInstanceInput {
 15126  	s.RsaPublicKey = &v
 15127  	return s
 15128  }
 15129  
 15130  // SetRsaPublicKeyFingerprint sets the RsaPublicKeyFingerprint field's value.
 15131  func (s *RegisterInstanceInput) SetRsaPublicKeyFingerprint(v string) *RegisterInstanceInput {
 15132  	s.RsaPublicKeyFingerprint = &v
 15133  	return s
 15134  }
 15135  
 15136  // SetStackId sets the StackId field's value.
 15137  func (s *RegisterInstanceInput) SetStackId(v string) *RegisterInstanceInput {
 15138  	s.StackId = &v
 15139  	return s
 15140  }
 15141  
 15142  // Contains the response to a RegisterInstanceResult request.
 15143  type RegisterInstanceOutput struct {
 15144  	_ struct{} `type:"structure"`
 15145  
 15146  	// The registered instance's AWS OpsWorks Stacks ID.
 15147  	InstanceId *string `type:"string"`
 15148  }
 15149  
 15150  // String returns the string representation.
 15151  //
 15152  // API parameter values that are decorated as "sensitive" in the API will not
 15153  // be included in the string output. The member name will be present, but the
 15154  // value will be replaced with "sensitive".
 15155  func (s RegisterInstanceOutput) String() string {
 15156  	return awsutil.Prettify(s)
 15157  }
 15158  
 15159  // GoString returns the string representation.
 15160  //
 15161  // API parameter values that are decorated as "sensitive" in the API will not
 15162  // be included in the string output. The member name will be present, but the
 15163  // value will be replaced with "sensitive".
 15164  func (s RegisterInstanceOutput) GoString() string {
 15165  	return s.String()
 15166  }
 15167  
 15168  // SetInstanceId sets the InstanceId field's value.
 15169  func (s *RegisterInstanceOutput) SetInstanceId(v string) *RegisterInstanceOutput {
 15170  	s.InstanceId = &v
 15171  	return s
 15172  }
 15173  
 15174  type RegisterRdsDbInstanceInput struct {
 15175  	_ struct{} `type:"structure"`
 15176  
 15177  	// The database password.
 15178  	//
 15179  	// DbPassword is a required field
 15180  	DbPassword *string `type:"string" required:"true"`
 15181  
 15182  	// The database's master user name.
 15183  	//
 15184  	// DbUser is a required field
 15185  	DbUser *string `type:"string" required:"true"`
 15186  
 15187  	// The Amazon RDS instance's ARN.
 15188  	//
 15189  	// RdsDbInstanceArn is a required field
 15190  	RdsDbInstanceArn *string `type:"string" required:"true"`
 15191  
 15192  	// The stack ID.
 15193  	//
 15194  	// StackId is a required field
 15195  	StackId *string `type:"string" required:"true"`
 15196  }
 15197  
 15198  // String returns the string representation.
 15199  //
 15200  // API parameter values that are decorated as "sensitive" in the API will not
 15201  // be included in the string output. The member name will be present, but the
 15202  // value will be replaced with "sensitive".
 15203  func (s RegisterRdsDbInstanceInput) String() string {
 15204  	return awsutil.Prettify(s)
 15205  }
 15206  
 15207  // GoString returns the string representation.
 15208  //
 15209  // API parameter values that are decorated as "sensitive" in the API will not
 15210  // be included in the string output. The member name will be present, but the
 15211  // value will be replaced with "sensitive".
 15212  func (s RegisterRdsDbInstanceInput) GoString() string {
 15213  	return s.String()
 15214  }
 15215  
 15216  // Validate inspects the fields of the type to determine if they are valid.
 15217  func (s *RegisterRdsDbInstanceInput) Validate() error {
 15218  	invalidParams := request.ErrInvalidParams{Context: "RegisterRdsDbInstanceInput"}
 15219  	if s.DbPassword == nil {
 15220  		invalidParams.Add(request.NewErrParamRequired("DbPassword"))
 15221  	}
 15222  	if s.DbUser == nil {
 15223  		invalidParams.Add(request.NewErrParamRequired("DbUser"))
 15224  	}
 15225  	if s.RdsDbInstanceArn == nil {
 15226  		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
 15227  	}
 15228  	if s.StackId == nil {
 15229  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 15230  	}
 15231  
 15232  	if invalidParams.Len() > 0 {
 15233  		return invalidParams
 15234  	}
 15235  	return nil
 15236  }
 15237  
 15238  // SetDbPassword sets the DbPassword field's value.
 15239  func (s *RegisterRdsDbInstanceInput) SetDbPassword(v string) *RegisterRdsDbInstanceInput {
 15240  	s.DbPassword = &v
 15241  	return s
 15242  }
 15243  
 15244  // SetDbUser sets the DbUser field's value.
 15245  func (s *RegisterRdsDbInstanceInput) SetDbUser(v string) *RegisterRdsDbInstanceInput {
 15246  	s.DbUser = &v
 15247  	return s
 15248  }
 15249  
 15250  // SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
 15251  func (s *RegisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *RegisterRdsDbInstanceInput {
 15252  	s.RdsDbInstanceArn = &v
 15253  	return s
 15254  }
 15255  
 15256  // SetStackId sets the StackId field's value.
 15257  func (s *RegisterRdsDbInstanceInput) SetStackId(v string) *RegisterRdsDbInstanceInput {
 15258  	s.StackId = &v
 15259  	return s
 15260  }
 15261  
 15262  type RegisterRdsDbInstanceOutput struct {
 15263  	_ struct{} `type:"structure"`
 15264  }
 15265  
 15266  // String returns the string representation.
 15267  //
 15268  // API parameter values that are decorated as "sensitive" in the API will not
 15269  // be included in the string output. The member name will be present, but the
 15270  // value will be replaced with "sensitive".
 15271  func (s RegisterRdsDbInstanceOutput) String() string {
 15272  	return awsutil.Prettify(s)
 15273  }
 15274  
 15275  // GoString returns the string representation.
 15276  //
 15277  // API parameter values that are decorated as "sensitive" in the API will not
 15278  // be included in the string output. The member name will be present, but the
 15279  // value will be replaced with "sensitive".
 15280  func (s RegisterRdsDbInstanceOutput) GoString() string {
 15281  	return s.String()
 15282  }
 15283  
 15284  type RegisterVolumeInput struct {
 15285  	_ struct{} `type:"structure"`
 15286  
 15287  	// The Amazon EBS volume ID.
 15288  	Ec2VolumeId *string `type:"string"`
 15289  
 15290  	// The stack ID.
 15291  	//
 15292  	// StackId is a required field
 15293  	StackId *string `type:"string" required:"true"`
 15294  }
 15295  
 15296  // String returns the string representation.
 15297  //
 15298  // API parameter values that are decorated as "sensitive" in the API will not
 15299  // be included in the string output. The member name will be present, but the
 15300  // value will be replaced with "sensitive".
 15301  func (s RegisterVolumeInput) String() string {
 15302  	return awsutil.Prettify(s)
 15303  }
 15304  
 15305  // GoString returns the string representation.
 15306  //
 15307  // API parameter values that are decorated as "sensitive" in the API will not
 15308  // be included in the string output. The member name will be present, but the
 15309  // value will be replaced with "sensitive".
 15310  func (s RegisterVolumeInput) GoString() string {
 15311  	return s.String()
 15312  }
 15313  
 15314  // Validate inspects the fields of the type to determine if they are valid.
 15315  func (s *RegisterVolumeInput) Validate() error {
 15316  	invalidParams := request.ErrInvalidParams{Context: "RegisterVolumeInput"}
 15317  	if s.StackId == nil {
 15318  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 15319  	}
 15320  
 15321  	if invalidParams.Len() > 0 {
 15322  		return invalidParams
 15323  	}
 15324  	return nil
 15325  }
 15326  
 15327  // SetEc2VolumeId sets the Ec2VolumeId field's value.
 15328  func (s *RegisterVolumeInput) SetEc2VolumeId(v string) *RegisterVolumeInput {
 15329  	s.Ec2VolumeId = &v
 15330  	return s
 15331  }
 15332  
 15333  // SetStackId sets the StackId field's value.
 15334  func (s *RegisterVolumeInput) SetStackId(v string) *RegisterVolumeInput {
 15335  	s.StackId = &v
 15336  	return s
 15337  }
 15338  
 15339  // Contains the response to a RegisterVolume request.
 15340  type RegisterVolumeOutput struct {
 15341  	_ struct{} `type:"structure"`
 15342  
 15343  	// The volume ID.
 15344  	VolumeId *string `type:"string"`
 15345  }
 15346  
 15347  // String returns the string representation.
 15348  //
 15349  // API parameter values that are decorated as "sensitive" in the API will not
 15350  // be included in the string output. The member name will be present, but the
 15351  // value will be replaced with "sensitive".
 15352  func (s RegisterVolumeOutput) String() string {
 15353  	return awsutil.Prettify(s)
 15354  }
 15355  
 15356  // GoString returns the string representation.
 15357  //
 15358  // API parameter values that are decorated as "sensitive" in the API will not
 15359  // be included in the string output. The member name will be present, but the
 15360  // value will be replaced with "sensitive".
 15361  func (s RegisterVolumeOutput) GoString() string {
 15362  	return s.String()
 15363  }
 15364  
 15365  // SetVolumeId sets the VolumeId field's value.
 15366  func (s *RegisterVolumeOutput) SetVolumeId(v string) *RegisterVolumeOutput {
 15367  	s.VolumeId = &v
 15368  	return s
 15369  }
 15370  
 15371  // A registered instance's reported operating system.
 15372  type ReportedOs struct {
 15373  	_ struct{} `type:"structure"`
 15374  
 15375  	// The operating system family.
 15376  	Family *string `type:"string"`
 15377  
 15378  	// The operating system name.
 15379  	Name *string `type:"string"`
 15380  
 15381  	// The operating system version.
 15382  	Version *string `type:"string"`
 15383  }
 15384  
 15385  // String returns the string representation.
 15386  //
 15387  // API parameter values that are decorated as "sensitive" in the API will not
 15388  // be included in the string output. The member name will be present, but the
 15389  // value will be replaced with "sensitive".
 15390  func (s ReportedOs) String() string {
 15391  	return awsutil.Prettify(s)
 15392  }
 15393  
 15394  // GoString returns the string representation.
 15395  //
 15396  // API parameter values that are decorated as "sensitive" in the API will not
 15397  // be included in the string output. The member name will be present, but the
 15398  // value will be replaced with "sensitive".
 15399  func (s ReportedOs) GoString() string {
 15400  	return s.String()
 15401  }
 15402  
 15403  // SetFamily sets the Family field's value.
 15404  func (s *ReportedOs) SetFamily(v string) *ReportedOs {
 15405  	s.Family = &v
 15406  	return s
 15407  }
 15408  
 15409  // SetName sets the Name field's value.
 15410  func (s *ReportedOs) SetName(v string) *ReportedOs {
 15411  	s.Name = &v
 15412  	return s
 15413  }
 15414  
 15415  // SetVersion sets the Version field's value.
 15416  func (s *ReportedOs) SetVersion(v string) *ReportedOs {
 15417  	s.Version = &v
 15418  	return s
 15419  }
 15420  
 15421  // Indicates that a resource was not found.
 15422  type ResourceNotFoundException struct {
 15423  	_            struct{}                  `type:"structure"`
 15424  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15425  
 15426  	// The exception message.
 15427  	Message_ *string `locationName:"message" type:"string"`
 15428  }
 15429  
 15430  // String returns the string representation.
 15431  //
 15432  // API parameter values that are decorated as "sensitive" in the API will not
 15433  // be included in the string output. The member name will be present, but the
 15434  // value will be replaced with "sensitive".
 15435  func (s ResourceNotFoundException) String() string {
 15436  	return awsutil.Prettify(s)
 15437  }
 15438  
 15439  // GoString returns the string representation.
 15440  //
 15441  // API parameter values that are decorated as "sensitive" in the API will not
 15442  // be included in the string output. The member name will be present, but the
 15443  // value will be replaced with "sensitive".
 15444  func (s ResourceNotFoundException) GoString() string {
 15445  	return s.String()
 15446  }
 15447  
 15448  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 15449  	return &ResourceNotFoundException{
 15450  		RespMetadata: v,
 15451  	}
 15452  }
 15453  
 15454  // Code returns the exception type name.
 15455  func (s *ResourceNotFoundException) Code() string {
 15456  	return "ResourceNotFoundException"
 15457  }
 15458  
 15459  // Message returns the exception's message.
 15460  func (s *ResourceNotFoundException) Message() string {
 15461  	if s.Message_ != nil {
 15462  		return *s.Message_
 15463  	}
 15464  	return ""
 15465  }
 15466  
 15467  // OrigErr always returns nil, satisfies awserr.Error interface.
 15468  func (s *ResourceNotFoundException) OrigErr() error {
 15469  	return nil
 15470  }
 15471  
 15472  func (s *ResourceNotFoundException) Error() string {
 15473  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15474  }
 15475  
 15476  // Status code returns the HTTP status code for the request's response error.
 15477  func (s *ResourceNotFoundException) StatusCode() int {
 15478  	return s.RespMetadata.StatusCode
 15479  }
 15480  
 15481  // RequestID returns the service's response RequestID for request.
 15482  func (s *ResourceNotFoundException) RequestID() string {
 15483  	return s.RespMetadata.RequestID
 15484  }
 15485  
 15486  // Describes a user's SSH information.
 15487  type SelfUserProfile struct {
 15488  	_ struct{} `type:"structure"`
 15489  
 15490  	// The user's IAM ARN.
 15491  	IamUserArn *string `type:"string"`
 15492  
 15493  	// The user's name.
 15494  	Name *string `type:"string"`
 15495  
 15496  	// The user's SSH public key.
 15497  	SshPublicKey *string `type:"string"`
 15498  
 15499  	// The user's SSH user name.
 15500  	SshUsername *string `type:"string"`
 15501  }
 15502  
 15503  // String returns the string representation.
 15504  //
 15505  // API parameter values that are decorated as "sensitive" in the API will not
 15506  // be included in the string output. The member name will be present, but the
 15507  // value will be replaced with "sensitive".
 15508  func (s SelfUserProfile) String() string {
 15509  	return awsutil.Prettify(s)
 15510  }
 15511  
 15512  // GoString returns the string representation.
 15513  //
 15514  // API parameter values that are decorated as "sensitive" in the API will not
 15515  // be included in the string output. The member name will be present, but the
 15516  // value will be replaced with "sensitive".
 15517  func (s SelfUserProfile) GoString() string {
 15518  	return s.String()
 15519  }
 15520  
 15521  // SetIamUserArn sets the IamUserArn field's value.
 15522  func (s *SelfUserProfile) SetIamUserArn(v string) *SelfUserProfile {
 15523  	s.IamUserArn = &v
 15524  	return s
 15525  }
 15526  
 15527  // SetName sets the Name field's value.
 15528  func (s *SelfUserProfile) SetName(v string) *SelfUserProfile {
 15529  	s.Name = &v
 15530  	return s
 15531  }
 15532  
 15533  // SetSshPublicKey sets the SshPublicKey field's value.
 15534  func (s *SelfUserProfile) SetSshPublicKey(v string) *SelfUserProfile {
 15535  	s.SshPublicKey = &v
 15536  	return s
 15537  }
 15538  
 15539  // SetSshUsername sets the SshUsername field's value.
 15540  func (s *SelfUserProfile) SetSshUsername(v string) *SelfUserProfile {
 15541  	s.SshUsername = &v
 15542  	return s
 15543  }
 15544  
 15545  // Describes an AWS OpsWorks Stacks service error.
 15546  type ServiceError struct {
 15547  	_ struct{} `type:"structure"`
 15548  
 15549  	// When the error occurred.
 15550  	CreatedAt *string `type:"string"`
 15551  
 15552  	// The instance ID.
 15553  	InstanceId *string `type:"string"`
 15554  
 15555  	// A message that describes the error.
 15556  	Message *string `type:"string"`
 15557  
 15558  	// The error ID.
 15559  	ServiceErrorId *string `type:"string"`
 15560  
 15561  	// The stack ID.
 15562  	StackId *string `type:"string"`
 15563  
 15564  	// The error type.
 15565  	Type *string `type:"string"`
 15566  }
 15567  
 15568  // String returns the string representation.
 15569  //
 15570  // API parameter values that are decorated as "sensitive" in the API will not
 15571  // be included in the string output. The member name will be present, but the
 15572  // value will be replaced with "sensitive".
 15573  func (s ServiceError) String() string {
 15574  	return awsutil.Prettify(s)
 15575  }
 15576  
 15577  // GoString returns the string representation.
 15578  //
 15579  // API parameter values that are decorated as "sensitive" in the API will not
 15580  // be included in the string output. The member name will be present, but the
 15581  // value will be replaced with "sensitive".
 15582  func (s ServiceError) GoString() string {
 15583  	return s.String()
 15584  }
 15585  
 15586  // SetCreatedAt sets the CreatedAt field's value.
 15587  func (s *ServiceError) SetCreatedAt(v string) *ServiceError {
 15588  	s.CreatedAt = &v
 15589  	return s
 15590  }
 15591  
 15592  // SetInstanceId sets the InstanceId field's value.
 15593  func (s *ServiceError) SetInstanceId(v string) *ServiceError {
 15594  	s.InstanceId = &v
 15595  	return s
 15596  }
 15597  
 15598  // SetMessage sets the Message field's value.
 15599  func (s *ServiceError) SetMessage(v string) *ServiceError {
 15600  	s.Message = &v
 15601  	return s
 15602  }
 15603  
 15604  // SetServiceErrorId sets the ServiceErrorId field's value.
 15605  func (s *ServiceError) SetServiceErrorId(v string) *ServiceError {
 15606  	s.ServiceErrorId = &v
 15607  	return s
 15608  }
 15609  
 15610  // SetStackId sets the StackId field's value.
 15611  func (s *ServiceError) SetStackId(v string) *ServiceError {
 15612  	s.StackId = &v
 15613  	return s
 15614  }
 15615  
 15616  // SetType sets the Type field's value.
 15617  func (s *ServiceError) SetType(v string) *ServiceError {
 15618  	s.Type = &v
 15619  	return s
 15620  }
 15621  
 15622  type SetLoadBasedAutoScalingInput struct {
 15623  	_ struct{} `type:"structure"`
 15624  
 15625  	// An AutoScalingThresholds object with the downscaling threshold configuration.
 15626  	// If the load falls below these thresholds for a specified amount of time,
 15627  	// AWS OpsWorks Stacks stops a specified number of instances.
 15628  	DownScaling *AutoScalingThresholds `type:"structure"`
 15629  
 15630  	// Enables load-based auto scaling for the layer.
 15631  	Enable *bool `type:"boolean"`
 15632  
 15633  	// The layer ID.
 15634  	//
 15635  	// LayerId is a required field
 15636  	LayerId *string `type:"string" required:"true"`
 15637  
 15638  	// An AutoScalingThresholds object with the upscaling threshold configuration.
 15639  	// If the load exceeds these thresholds for a specified amount of time, AWS
 15640  	// OpsWorks Stacks starts a specified number of instances.
 15641  	UpScaling *AutoScalingThresholds `type:"structure"`
 15642  }
 15643  
 15644  // String returns the string representation.
 15645  //
 15646  // API parameter values that are decorated as "sensitive" in the API will not
 15647  // be included in the string output. The member name will be present, but the
 15648  // value will be replaced with "sensitive".
 15649  func (s SetLoadBasedAutoScalingInput) String() string {
 15650  	return awsutil.Prettify(s)
 15651  }
 15652  
 15653  // GoString returns the string representation.
 15654  //
 15655  // API parameter values that are decorated as "sensitive" in the API will not
 15656  // be included in the string output. The member name will be present, but the
 15657  // value will be replaced with "sensitive".
 15658  func (s SetLoadBasedAutoScalingInput) GoString() string {
 15659  	return s.String()
 15660  }
 15661  
 15662  // Validate inspects the fields of the type to determine if they are valid.
 15663  func (s *SetLoadBasedAutoScalingInput) Validate() error {
 15664  	invalidParams := request.ErrInvalidParams{Context: "SetLoadBasedAutoScalingInput"}
 15665  	if s.LayerId == nil {
 15666  		invalidParams.Add(request.NewErrParamRequired("LayerId"))
 15667  	}
 15668  	if s.DownScaling != nil {
 15669  		if err := s.DownScaling.Validate(); err != nil {
 15670  			invalidParams.AddNested("DownScaling", err.(request.ErrInvalidParams))
 15671  		}
 15672  	}
 15673  	if s.UpScaling != nil {
 15674  		if err := s.UpScaling.Validate(); err != nil {
 15675  			invalidParams.AddNested("UpScaling", err.(request.ErrInvalidParams))
 15676  		}
 15677  	}
 15678  
 15679  	if invalidParams.Len() > 0 {
 15680  		return invalidParams
 15681  	}
 15682  	return nil
 15683  }
 15684  
 15685  // SetDownScaling sets the DownScaling field's value.
 15686  func (s *SetLoadBasedAutoScalingInput) SetDownScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
 15687  	s.DownScaling = v
 15688  	return s
 15689  }
 15690  
 15691  // SetEnable sets the Enable field's value.
 15692  func (s *SetLoadBasedAutoScalingInput) SetEnable(v bool) *SetLoadBasedAutoScalingInput {
 15693  	s.Enable = &v
 15694  	return s
 15695  }
 15696  
 15697  // SetLayerId sets the LayerId field's value.
 15698  func (s *SetLoadBasedAutoScalingInput) SetLayerId(v string) *SetLoadBasedAutoScalingInput {
 15699  	s.LayerId = &v
 15700  	return s
 15701  }
 15702  
 15703  // SetUpScaling sets the UpScaling field's value.
 15704  func (s *SetLoadBasedAutoScalingInput) SetUpScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
 15705  	s.UpScaling = v
 15706  	return s
 15707  }
 15708  
 15709  type SetLoadBasedAutoScalingOutput struct {
 15710  	_ struct{} `type:"structure"`
 15711  }
 15712  
 15713  // String returns the string representation.
 15714  //
 15715  // API parameter values that are decorated as "sensitive" in the API will not
 15716  // be included in the string output. The member name will be present, but the
 15717  // value will be replaced with "sensitive".
 15718  func (s SetLoadBasedAutoScalingOutput) String() string {
 15719  	return awsutil.Prettify(s)
 15720  }
 15721  
 15722  // GoString returns the string representation.
 15723  //
 15724  // API parameter values that are decorated as "sensitive" in the API will not
 15725  // be included in the string output. The member name will be present, but the
 15726  // value will be replaced with "sensitive".
 15727  func (s SetLoadBasedAutoScalingOutput) GoString() string {
 15728  	return s.String()
 15729  }
 15730  
 15731  type SetPermissionInput struct {
 15732  	_ struct{} `type:"structure"`
 15733  
 15734  	// The user is allowed to use SSH to communicate with the instance.
 15735  	AllowSsh *bool `type:"boolean"`
 15736  
 15737  	// The user is allowed to use sudo to elevate privileges.
 15738  	AllowSudo *bool `type:"boolean"`
 15739  
 15740  	// The user's IAM ARN. This can also be a federated user's ARN.
 15741  	//
 15742  	// IamUserArn is a required field
 15743  	IamUserArn *string `type:"string" required:"true"`
 15744  
 15745  	// The user's permission level, which must be set to one of the following strings.
 15746  	// You cannot set your own permissions level.
 15747  	//
 15748  	//    * deny
 15749  	//
 15750  	//    * show
 15751  	//
 15752  	//    * deploy
 15753  	//
 15754  	//    * manage
 15755  	//
 15756  	//    * iam_only
 15757  	//
 15758  	// For more information about the permissions associated with these levels,
 15759  	// see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
 15760  	Level *string `type:"string"`
 15761  
 15762  	// The stack ID.
 15763  	//
 15764  	// StackId is a required field
 15765  	StackId *string `type:"string" required:"true"`
 15766  }
 15767  
 15768  // String returns the string representation.
 15769  //
 15770  // API parameter values that are decorated as "sensitive" in the API will not
 15771  // be included in the string output. The member name will be present, but the
 15772  // value will be replaced with "sensitive".
 15773  func (s SetPermissionInput) String() string {
 15774  	return awsutil.Prettify(s)
 15775  }
 15776  
 15777  // GoString returns the string representation.
 15778  //
 15779  // API parameter values that are decorated as "sensitive" in the API will not
 15780  // be included in the string output. The member name will be present, but the
 15781  // value will be replaced with "sensitive".
 15782  func (s SetPermissionInput) GoString() string {
 15783  	return s.String()
 15784  }
 15785  
 15786  // Validate inspects the fields of the type to determine if they are valid.
 15787  func (s *SetPermissionInput) Validate() error {
 15788  	invalidParams := request.ErrInvalidParams{Context: "SetPermissionInput"}
 15789  	if s.IamUserArn == nil {
 15790  		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
 15791  	}
 15792  	if s.StackId == nil {
 15793  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 15794  	}
 15795  
 15796  	if invalidParams.Len() > 0 {
 15797  		return invalidParams
 15798  	}
 15799  	return nil
 15800  }
 15801  
 15802  // SetAllowSsh sets the AllowSsh field's value.
 15803  func (s *SetPermissionInput) SetAllowSsh(v bool) *SetPermissionInput {
 15804  	s.AllowSsh = &v
 15805  	return s
 15806  }
 15807  
 15808  // SetAllowSudo sets the AllowSudo field's value.
 15809  func (s *SetPermissionInput) SetAllowSudo(v bool) *SetPermissionInput {
 15810  	s.AllowSudo = &v
 15811  	return s
 15812  }
 15813  
 15814  // SetIamUserArn sets the IamUserArn field's value.
 15815  func (s *SetPermissionInput) SetIamUserArn(v string) *SetPermissionInput {
 15816  	s.IamUserArn = &v
 15817  	return s
 15818  }
 15819  
 15820  // SetLevel sets the Level field's value.
 15821  func (s *SetPermissionInput) SetLevel(v string) *SetPermissionInput {
 15822  	s.Level = &v
 15823  	return s
 15824  }
 15825  
 15826  // SetStackId sets the StackId field's value.
 15827  func (s *SetPermissionInput) SetStackId(v string) *SetPermissionInput {
 15828  	s.StackId = &v
 15829  	return s
 15830  }
 15831  
 15832  type SetPermissionOutput struct {
 15833  	_ struct{} `type:"structure"`
 15834  }
 15835  
 15836  // String returns the string representation.
 15837  //
 15838  // API parameter values that are decorated as "sensitive" in the API will not
 15839  // be included in the string output. The member name will be present, but the
 15840  // value will be replaced with "sensitive".
 15841  func (s SetPermissionOutput) String() string {
 15842  	return awsutil.Prettify(s)
 15843  }
 15844  
 15845  // GoString returns the string representation.
 15846  //
 15847  // API parameter values that are decorated as "sensitive" in the API will not
 15848  // be included in the string output. The member name will be present, but the
 15849  // value will be replaced with "sensitive".
 15850  func (s SetPermissionOutput) GoString() string {
 15851  	return s.String()
 15852  }
 15853  
 15854  type SetTimeBasedAutoScalingInput struct {
 15855  	_ struct{} `type:"structure"`
 15856  
 15857  	// An AutoScalingSchedule with the instance schedule.
 15858  	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
 15859  
 15860  	// The instance ID.
 15861  	//
 15862  	// InstanceId is a required field
 15863  	InstanceId *string `type:"string" required:"true"`
 15864  }
 15865  
 15866  // String returns the string representation.
 15867  //
 15868  // API parameter values that are decorated as "sensitive" in the API will not
 15869  // be included in the string output. The member name will be present, but the
 15870  // value will be replaced with "sensitive".
 15871  func (s SetTimeBasedAutoScalingInput) String() string {
 15872  	return awsutil.Prettify(s)
 15873  }
 15874  
 15875  // GoString returns the string representation.
 15876  //
 15877  // API parameter values that are decorated as "sensitive" in the API will not
 15878  // be included in the string output. The member name will be present, but the
 15879  // value will be replaced with "sensitive".
 15880  func (s SetTimeBasedAutoScalingInput) GoString() string {
 15881  	return s.String()
 15882  }
 15883  
 15884  // Validate inspects the fields of the type to determine if they are valid.
 15885  func (s *SetTimeBasedAutoScalingInput) Validate() error {
 15886  	invalidParams := request.ErrInvalidParams{Context: "SetTimeBasedAutoScalingInput"}
 15887  	if s.InstanceId == nil {
 15888  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15889  	}
 15890  
 15891  	if invalidParams.Len() > 0 {
 15892  		return invalidParams
 15893  	}
 15894  	return nil
 15895  }
 15896  
 15897  // SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
 15898  func (s *SetTimeBasedAutoScalingInput) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *SetTimeBasedAutoScalingInput {
 15899  	s.AutoScalingSchedule = v
 15900  	return s
 15901  }
 15902  
 15903  // SetInstanceId sets the InstanceId field's value.
 15904  func (s *SetTimeBasedAutoScalingInput) SetInstanceId(v string) *SetTimeBasedAutoScalingInput {
 15905  	s.InstanceId = &v
 15906  	return s
 15907  }
 15908  
 15909  type SetTimeBasedAutoScalingOutput struct {
 15910  	_ struct{} `type:"structure"`
 15911  }
 15912  
 15913  // String returns the string representation.
 15914  //
 15915  // API parameter values that are decorated as "sensitive" in the API will not
 15916  // be included in the string output. The member name will be present, but the
 15917  // value will be replaced with "sensitive".
 15918  func (s SetTimeBasedAutoScalingOutput) String() string {
 15919  	return awsutil.Prettify(s)
 15920  }
 15921  
 15922  // GoString returns the string representation.
 15923  //
 15924  // API parameter values that are decorated as "sensitive" in the API will not
 15925  // be included in the string output. The member name will be present, but the
 15926  // value will be replaced with "sensitive".
 15927  func (s SetTimeBasedAutoScalingOutput) GoString() string {
 15928  	return s.String()
 15929  }
 15930  
 15931  // The Shutdown event configuration.
 15932  type ShutdownEventConfiguration struct {
 15933  	_ struct{} `type:"structure"`
 15934  
 15935  	// Whether to enable Elastic Load Balancing connection draining. For more information,
 15936  	// see Connection Draining (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain)
 15937  	DelayUntilElbConnectionsDrained *bool `type:"boolean"`
 15938  
 15939  	// The time, in seconds, that AWS OpsWorks Stacks will wait after triggering
 15940  	// a Shutdown event before shutting down an instance.
 15941  	ExecutionTimeout *int64 `type:"integer"`
 15942  }
 15943  
 15944  // String returns the string representation.
 15945  //
 15946  // API parameter values that are decorated as "sensitive" in the API will not
 15947  // be included in the string output. The member name will be present, but the
 15948  // value will be replaced with "sensitive".
 15949  func (s ShutdownEventConfiguration) String() string {
 15950  	return awsutil.Prettify(s)
 15951  }
 15952  
 15953  // GoString returns the string representation.
 15954  //
 15955  // API parameter values that are decorated as "sensitive" in the API will not
 15956  // be included in the string output. The member name will be present, but the
 15957  // value will be replaced with "sensitive".
 15958  func (s ShutdownEventConfiguration) GoString() string {
 15959  	return s.String()
 15960  }
 15961  
 15962  // SetDelayUntilElbConnectionsDrained sets the DelayUntilElbConnectionsDrained field's value.
 15963  func (s *ShutdownEventConfiguration) SetDelayUntilElbConnectionsDrained(v bool) *ShutdownEventConfiguration {
 15964  	s.DelayUntilElbConnectionsDrained = &v
 15965  	return s
 15966  }
 15967  
 15968  // SetExecutionTimeout sets the ExecutionTimeout field's value.
 15969  func (s *ShutdownEventConfiguration) SetExecutionTimeout(v int64) *ShutdownEventConfiguration {
 15970  	s.ExecutionTimeout = &v
 15971  	return s
 15972  }
 15973  
 15974  // Contains the information required to retrieve an app or cookbook from a repository.
 15975  // For more information, see Creating Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
 15976  // or Custom Recipes and Cookbooks (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
 15977  type Source struct {
 15978  	_ struct{} `type:"structure"`
 15979  
 15980  	// When included in a request, the parameter depends on the repository type.
 15981  	//
 15982  	//    * For Amazon S3 bundles, set Password to the appropriate IAM secret access
 15983  	//    key.
 15984  	//
 15985  	//    * For HTTP bundles and Subversion repositories, set Password to the password.
 15986  	//
 15987  	// For more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html
 15988  	// (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
 15989  	//
 15990  	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
 15991  	// actual value.
 15992  	Password *string `type:"string"`
 15993  
 15994  	// The application's version. AWS OpsWorks Stacks enables you to easily deploy
 15995  	// new versions of an application. One of the simplest approaches is to have
 15996  	// branches or revisions in your repository that represent different versions
 15997  	// that can potentially be deployed.
 15998  	Revision *string `type:"string"`
 15999  
 16000  	// In requests, the repository's SSH key.
 16001  	//
 16002  	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
 16003  	// actual value.
 16004  	SshKey *string `type:"string"`
 16005  
 16006  	// The repository type.
 16007  	Type *string `type:"string" enum:"SourceType"`
 16008  
 16009  	// The source URL. The following is an example of an Amazon S3 source URL: https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.
 16010  	Url *string `type:"string"`
 16011  
 16012  	// This parameter depends on the repository type.
 16013  	//
 16014  	//    * For Amazon S3 bundles, set Username to the appropriate IAM access key
 16015  	//    ID.
 16016  	//
 16017  	//    * For HTTP bundles, Git repositories, and Subversion repositories, set
 16018  	//    Username to the user name.
 16019  	Username *string `type:"string"`
 16020  }
 16021  
 16022  // String returns the string representation.
 16023  //
 16024  // API parameter values that are decorated as "sensitive" in the API will not
 16025  // be included in the string output. The member name will be present, but the
 16026  // value will be replaced with "sensitive".
 16027  func (s Source) String() string {
 16028  	return awsutil.Prettify(s)
 16029  }
 16030  
 16031  // GoString returns the string representation.
 16032  //
 16033  // API parameter values that are decorated as "sensitive" in the API will not
 16034  // be included in the string output. The member name will be present, but the
 16035  // value will be replaced with "sensitive".
 16036  func (s Source) GoString() string {
 16037  	return s.String()
 16038  }
 16039  
 16040  // SetPassword sets the Password field's value.
 16041  func (s *Source) SetPassword(v string) *Source {
 16042  	s.Password = &v
 16043  	return s
 16044  }
 16045  
 16046  // SetRevision sets the Revision field's value.
 16047  func (s *Source) SetRevision(v string) *Source {
 16048  	s.Revision = &v
 16049  	return s
 16050  }
 16051  
 16052  // SetSshKey sets the SshKey field's value.
 16053  func (s *Source) SetSshKey(v string) *Source {
 16054  	s.SshKey = &v
 16055  	return s
 16056  }
 16057  
 16058  // SetType sets the Type field's value.
 16059  func (s *Source) SetType(v string) *Source {
 16060  	s.Type = &v
 16061  	return s
 16062  }
 16063  
 16064  // SetUrl sets the Url field's value.
 16065  func (s *Source) SetUrl(v string) *Source {
 16066  	s.Url = &v
 16067  	return s
 16068  }
 16069  
 16070  // SetUsername sets the Username field's value.
 16071  func (s *Source) SetUsername(v string) *Source {
 16072  	s.Username = &v
 16073  	return s
 16074  }
 16075  
 16076  // Describes an app's SSL configuration.
 16077  type SslConfiguration struct {
 16078  	_ struct{} `type:"structure"`
 16079  
 16080  	// The contents of the certificate's domain.crt file.
 16081  	//
 16082  	// Certificate is a required field
 16083  	Certificate *string `type:"string" required:"true"`
 16084  
 16085  	// Optional. Can be used to specify an intermediate certificate authority key
 16086  	// or client authentication.
 16087  	Chain *string `type:"string"`
 16088  
 16089  	// The private key; the contents of the certificate's domain.kex file.
 16090  	//
 16091  	// PrivateKey is a required field
 16092  	PrivateKey *string `type:"string" required:"true"`
 16093  }
 16094  
 16095  // String returns the string representation.
 16096  //
 16097  // API parameter values that are decorated as "sensitive" in the API will not
 16098  // be included in the string output. The member name will be present, but the
 16099  // value will be replaced with "sensitive".
 16100  func (s SslConfiguration) String() string {
 16101  	return awsutil.Prettify(s)
 16102  }
 16103  
 16104  // GoString returns the string representation.
 16105  //
 16106  // API parameter values that are decorated as "sensitive" in the API will not
 16107  // be included in the string output. The member name will be present, but the
 16108  // value will be replaced with "sensitive".
 16109  func (s SslConfiguration) GoString() string {
 16110  	return s.String()
 16111  }
 16112  
 16113  // Validate inspects the fields of the type to determine if they are valid.
 16114  func (s *SslConfiguration) Validate() error {
 16115  	invalidParams := request.ErrInvalidParams{Context: "SslConfiguration"}
 16116  	if s.Certificate == nil {
 16117  		invalidParams.Add(request.NewErrParamRequired("Certificate"))
 16118  	}
 16119  	if s.PrivateKey == nil {
 16120  		invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
 16121  	}
 16122  
 16123  	if invalidParams.Len() > 0 {
 16124  		return invalidParams
 16125  	}
 16126  	return nil
 16127  }
 16128  
 16129  // SetCertificate sets the Certificate field's value.
 16130  func (s *SslConfiguration) SetCertificate(v string) *SslConfiguration {
 16131  	s.Certificate = &v
 16132  	return s
 16133  }
 16134  
 16135  // SetChain sets the Chain field's value.
 16136  func (s *SslConfiguration) SetChain(v string) *SslConfiguration {
 16137  	s.Chain = &v
 16138  	return s
 16139  }
 16140  
 16141  // SetPrivateKey sets the PrivateKey field's value.
 16142  func (s *SslConfiguration) SetPrivateKey(v string) *SslConfiguration {
 16143  	s.PrivateKey = &v
 16144  	return s
 16145  }
 16146  
 16147  // Describes a stack.
 16148  type Stack struct {
 16149  	_ struct{} `type:"structure"`
 16150  
 16151  	// The agent version. This parameter is set to LATEST for auto-update. or a
 16152  	// version number for a fixed agent version.
 16153  	AgentVersion *string `type:"string"`
 16154  
 16155  	// The stack's ARN.
 16156  	Arn *string `type:"string"`
 16157  
 16158  	// The stack's attributes.
 16159  	Attributes map[string]*string `type:"map"`
 16160  
 16161  	// A ChefConfiguration object that specifies whether to enable Berkshelf and
 16162  	// the Berkshelf version. For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
 16163  	ChefConfiguration *ChefConfiguration `type:"structure"`
 16164  
 16165  	// The configuration manager.
 16166  	ConfigurationManager *StackConfigurationManager `type:"structure"`
 16167  
 16168  	// The date when the stack was created.
 16169  	CreatedAt *string `type:"string"`
 16170  
 16171  	// Contains the information required to retrieve an app or cookbook from a repository.
 16172  	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
 16173  	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
 16174  	CustomCookbooksSource *Source `type:"structure"`
 16175  
 16176  	// A JSON object that contains user-defined attributes to be added to the stack
 16177  	// configuration and deployment attributes. You can use custom JSON to override
 16178  	// the corresponding default stack configuration attribute values or to pass
 16179  	// data to recipes. The string should be in the following format:
 16180  	//
 16181  	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
 16182  	//
 16183  	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
 16184  	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
 16185  	CustomJson *string `type:"string"`
 16186  
 16187  	// The stack's default Availability Zone. For more information, see Regions
 16188  	// and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 16189  	DefaultAvailabilityZone *string `type:"string"`
 16190  
 16191  	// The ARN of an IAM profile that is the default profile for all of the stack's
 16192  	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
 16193  	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 16194  	DefaultInstanceProfileArn *string `type:"string"`
 16195  
 16196  	// The stack's default operating system.
 16197  	DefaultOs *string `type:"string"`
 16198  
 16199  	// The default root device type. This value is used by default for all instances
 16200  	// in the stack, but you can override it when you create an instance. For more
 16201  	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
 16202  	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
 16203  
 16204  	// A default Amazon EC2 key pair for the stack's instances. You can override
 16205  	// this value when you create or update an instance.
 16206  	DefaultSshKeyName *string `type:"string"`
 16207  
 16208  	// The default subnet ID; applicable only if the stack is running in a VPC.
 16209  	DefaultSubnetId *string `type:"string"`
 16210  
 16211  	// The stack host name theme, with spaces replaced by underscores.
 16212  	HostnameTheme *string `type:"string"`
 16213  
 16214  	// The stack name.
 16215  	Name *string `type:"string"`
 16216  
 16217  	// The stack AWS region, such as "ap-northeast-2". For more information about
 16218  	// AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 16219  	Region *string `type:"string"`
 16220  
 16221  	// The stack AWS Identity and Access Management (IAM) role.
 16222  	ServiceRoleArn *string `type:"string"`
 16223  
 16224  	// The stack ID.
 16225  	StackId *string `type:"string"`
 16226  
 16227  	// Whether the stack uses custom cookbooks.
 16228  	UseCustomCookbooks *bool `type:"boolean"`
 16229  
 16230  	// Whether the stack automatically associates the AWS OpsWorks Stacks built-in
 16231  	// security groups with the stack's layers.
 16232  	UseOpsworksSecurityGroups *bool `type:"boolean"`
 16233  
 16234  	// The VPC ID; applicable only if the stack is running in a VPC.
 16235  	VpcId *string `type:"string"`
 16236  }
 16237  
 16238  // String returns the string representation.
 16239  //
 16240  // API parameter values that are decorated as "sensitive" in the API will not
 16241  // be included in the string output. The member name will be present, but the
 16242  // value will be replaced with "sensitive".
 16243  func (s Stack) String() string {
 16244  	return awsutil.Prettify(s)
 16245  }
 16246  
 16247  // GoString returns the string representation.
 16248  //
 16249  // API parameter values that are decorated as "sensitive" in the API will not
 16250  // be included in the string output. The member name will be present, but the
 16251  // value will be replaced with "sensitive".
 16252  func (s Stack) GoString() string {
 16253  	return s.String()
 16254  }
 16255  
 16256  // SetAgentVersion sets the AgentVersion field's value.
 16257  func (s *Stack) SetAgentVersion(v string) *Stack {
 16258  	s.AgentVersion = &v
 16259  	return s
 16260  }
 16261  
 16262  // SetArn sets the Arn field's value.
 16263  func (s *Stack) SetArn(v string) *Stack {
 16264  	s.Arn = &v
 16265  	return s
 16266  }
 16267  
 16268  // SetAttributes sets the Attributes field's value.
 16269  func (s *Stack) SetAttributes(v map[string]*string) *Stack {
 16270  	s.Attributes = v
 16271  	return s
 16272  }
 16273  
 16274  // SetChefConfiguration sets the ChefConfiguration field's value.
 16275  func (s *Stack) SetChefConfiguration(v *ChefConfiguration) *Stack {
 16276  	s.ChefConfiguration = v
 16277  	return s
 16278  }
 16279  
 16280  // SetConfigurationManager sets the ConfigurationManager field's value.
 16281  func (s *Stack) SetConfigurationManager(v *StackConfigurationManager) *Stack {
 16282  	s.ConfigurationManager = v
 16283  	return s
 16284  }
 16285  
 16286  // SetCreatedAt sets the CreatedAt field's value.
 16287  func (s *Stack) SetCreatedAt(v string) *Stack {
 16288  	s.CreatedAt = &v
 16289  	return s
 16290  }
 16291  
 16292  // SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
 16293  func (s *Stack) SetCustomCookbooksSource(v *Source) *Stack {
 16294  	s.CustomCookbooksSource = v
 16295  	return s
 16296  }
 16297  
 16298  // SetCustomJson sets the CustomJson field's value.
 16299  func (s *Stack) SetCustomJson(v string) *Stack {
 16300  	s.CustomJson = &v
 16301  	return s
 16302  }
 16303  
 16304  // SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
 16305  func (s *Stack) SetDefaultAvailabilityZone(v string) *Stack {
 16306  	s.DefaultAvailabilityZone = &v
 16307  	return s
 16308  }
 16309  
 16310  // SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
 16311  func (s *Stack) SetDefaultInstanceProfileArn(v string) *Stack {
 16312  	s.DefaultInstanceProfileArn = &v
 16313  	return s
 16314  }
 16315  
 16316  // SetDefaultOs sets the DefaultOs field's value.
 16317  func (s *Stack) SetDefaultOs(v string) *Stack {
 16318  	s.DefaultOs = &v
 16319  	return s
 16320  }
 16321  
 16322  // SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
 16323  func (s *Stack) SetDefaultRootDeviceType(v string) *Stack {
 16324  	s.DefaultRootDeviceType = &v
 16325  	return s
 16326  }
 16327  
 16328  // SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
 16329  func (s *Stack) SetDefaultSshKeyName(v string) *Stack {
 16330  	s.DefaultSshKeyName = &v
 16331  	return s
 16332  }
 16333  
 16334  // SetDefaultSubnetId sets the DefaultSubnetId field's value.
 16335  func (s *Stack) SetDefaultSubnetId(v string) *Stack {
 16336  	s.DefaultSubnetId = &v
 16337  	return s
 16338  }
 16339  
 16340  // SetHostnameTheme sets the HostnameTheme field's value.
 16341  func (s *Stack) SetHostnameTheme(v string) *Stack {
 16342  	s.HostnameTheme = &v
 16343  	return s
 16344  }
 16345  
 16346  // SetName sets the Name field's value.
 16347  func (s *Stack) SetName(v string) *Stack {
 16348  	s.Name = &v
 16349  	return s
 16350  }
 16351  
 16352  // SetRegion sets the Region field's value.
 16353  func (s *Stack) SetRegion(v string) *Stack {
 16354  	s.Region = &v
 16355  	return s
 16356  }
 16357  
 16358  // SetServiceRoleArn sets the ServiceRoleArn field's value.
 16359  func (s *Stack) SetServiceRoleArn(v string) *Stack {
 16360  	s.ServiceRoleArn = &v
 16361  	return s
 16362  }
 16363  
 16364  // SetStackId sets the StackId field's value.
 16365  func (s *Stack) SetStackId(v string) *Stack {
 16366  	s.StackId = &v
 16367  	return s
 16368  }
 16369  
 16370  // SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
 16371  func (s *Stack) SetUseCustomCookbooks(v bool) *Stack {
 16372  	s.UseCustomCookbooks = &v
 16373  	return s
 16374  }
 16375  
 16376  // SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
 16377  func (s *Stack) SetUseOpsworksSecurityGroups(v bool) *Stack {
 16378  	s.UseOpsworksSecurityGroups = &v
 16379  	return s
 16380  }
 16381  
 16382  // SetVpcId sets the VpcId field's value.
 16383  func (s *Stack) SetVpcId(v string) *Stack {
 16384  	s.VpcId = &v
 16385  	return s
 16386  }
 16387  
 16388  // Describes the configuration manager.
 16389  type StackConfigurationManager struct {
 16390  	_ struct{} `type:"structure"`
 16391  
 16392  	// The name. This parameter must be set to "Chef".
 16393  	Name *string `type:"string"`
 16394  
 16395  	// The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux
 16396  	// stacks, and to 12.2 for Windows stacks. The default value for Linux stacks
 16397  	// is 11.4.
 16398  	Version *string `type:"string"`
 16399  }
 16400  
 16401  // String returns the string representation.
 16402  //
 16403  // API parameter values that are decorated as "sensitive" in the API will not
 16404  // be included in the string output. The member name will be present, but the
 16405  // value will be replaced with "sensitive".
 16406  func (s StackConfigurationManager) String() string {
 16407  	return awsutil.Prettify(s)
 16408  }
 16409  
 16410  // GoString returns the string representation.
 16411  //
 16412  // API parameter values that are decorated as "sensitive" in the API will not
 16413  // be included in the string output. The member name will be present, but the
 16414  // value will be replaced with "sensitive".
 16415  func (s StackConfigurationManager) GoString() string {
 16416  	return s.String()
 16417  }
 16418  
 16419  // SetName sets the Name field's value.
 16420  func (s *StackConfigurationManager) SetName(v string) *StackConfigurationManager {
 16421  	s.Name = &v
 16422  	return s
 16423  }
 16424  
 16425  // SetVersion sets the Version field's value.
 16426  func (s *StackConfigurationManager) SetVersion(v string) *StackConfigurationManager {
 16427  	s.Version = &v
 16428  	return s
 16429  }
 16430  
 16431  // Summarizes the number of layers, instances, and apps in a stack.
 16432  type StackSummary struct {
 16433  	_ struct{} `type:"structure"`
 16434  
 16435  	// The number of apps.
 16436  	AppsCount *int64 `type:"integer"`
 16437  
 16438  	// The stack's ARN.
 16439  	Arn *string `type:"string"`
 16440  
 16441  	// An InstancesCount object with the number of instances in each status.
 16442  	InstancesCount *InstancesCount `type:"structure"`
 16443  
 16444  	// The number of layers.
 16445  	LayersCount *int64 `type:"integer"`
 16446  
 16447  	// The stack name.
 16448  	Name *string `type:"string"`
 16449  
 16450  	// The stack ID.
 16451  	StackId *string `type:"string"`
 16452  }
 16453  
 16454  // String returns the string representation.
 16455  //
 16456  // API parameter values that are decorated as "sensitive" in the API will not
 16457  // be included in the string output. The member name will be present, but the
 16458  // value will be replaced with "sensitive".
 16459  func (s StackSummary) String() string {
 16460  	return awsutil.Prettify(s)
 16461  }
 16462  
 16463  // GoString returns the string representation.
 16464  //
 16465  // API parameter values that are decorated as "sensitive" in the API will not
 16466  // be included in the string output. The member name will be present, but the
 16467  // value will be replaced with "sensitive".
 16468  func (s StackSummary) GoString() string {
 16469  	return s.String()
 16470  }
 16471  
 16472  // SetAppsCount sets the AppsCount field's value.
 16473  func (s *StackSummary) SetAppsCount(v int64) *StackSummary {
 16474  	s.AppsCount = &v
 16475  	return s
 16476  }
 16477  
 16478  // SetArn sets the Arn field's value.
 16479  func (s *StackSummary) SetArn(v string) *StackSummary {
 16480  	s.Arn = &v
 16481  	return s
 16482  }
 16483  
 16484  // SetInstancesCount sets the InstancesCount field's value.
 16485  func (s *StackSummary) SetInstancesCount(v *InstancesCount) *StackSummary {
 16486  	s.InstancesCount = v
 16487  	return s
 16488  }
 16489  
 16490  // SetLayersCount sets the LayersCount field's value.
 16491  func (s *StackSummary) SetLayersCount(v int64) *StackSummary {
 16492  	s.LayersCount = &v
 16493  	return s
 16494  }
 16495  
 16496  // SetName sets the Name field's value.
 16497  func (s *StackSummary) SetName(v string) *StackSummary {
 16498  	s.Name = &v
 16499  	return s
 16500  }
 16501  
 16502  // SetStackId sets the StackId field's value.
 16503  func (s *StackSummary) SetStackId(v string) *StackSummary {
 16504  	s.StackId = &v
 16505  	return s
 16506  }
 16507  
 16508  type StartInstanceInput struct {
 16509  	_ struct{} `type:"structure"`
 16510  
 16511  	// The instance ID.
 16512  	//
 16513  	// InstanceId is a required field
 16514  	InstanceId *string `type:"string" required:"true"`
 16515  }
 16516  
 16517  // String returns the string representation.
 16518  //
 16519  // API parameter values that are decorated as "sensitive" in the API will not
 16520  // be included in the string output. The member name will be present, but the
 16521  // value will be replaced with "sensitive".
 16522  func (s StartInstanceInput) String() string {
 16523  	return awsutil.Prettify(s)
 16524  }
 16525  
 16526  // GoString returns the string representation.
 16527  //
 16528  // API parameter values that are decorated as "sensitive" in the API will not
 16529  // be included in the string output. The member name will be present, but the
 16530  // value will be replaced with "sensitive".
 16531  func (s StartInstanceInput) GoString() string {
 16532  	return s.String()
 16533  }
 16534  
 16535  // Validate inspects the fields of the type to determine if they are valid.
 16536  func (s *StartInstanceInput) Validate() error {
 16537  	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
 16538  	if s.InstanceId == nil {
 16539  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16540  	}
 16541  
 16542  	if invalidParams.Len() > 0 {
 16543  		return invalidParams
 16544  	}
 16545  	return nil
 16546  }
 16547  
 16548  // SetInstanceId sets the InstanceId field's value.
 16549  func (s *StartInstanceInput) SetInstanceId(v string) *StartInstanceInput {
 16550  	s.InstanceId = &v
 16551  	return s
 16552  }
 16553  
 16554  type StartInstanceOutput struct {
 16555  	_ struct{} `type:"structure"`
 16556  }
 16557  
 16558  // String returns the string representation.
 16559  //
 16560  // API parameter values that are decorated as "sensitive" in the API will not
 16561  // be included in the string output. The member name will be present, but the
 16562  // value will be replaced with "sensitive".
 16563  func (s StartInstanceOutput) String() string {
 16564  	return awsutil.Prettify(s)
 16565  }
 16566  
 16567  // GoString returns the string representation.
 16568  //
 16569  // API parameter values that are decorated as "sensitive" in the API will not
 16570  // be included in the string output. The member name will be present, but the
 16571  // value will be replaced with "sensitive".
 16572  func (s StartInstanceOutput) GoString() string {
 16573  	return s.String()
 16574  }
 16575  
 16576  type StartStackInput struct {
 16577  	_ struct{} `type:"structure"`
 16578  
 16579  	// The stack ID.
 16580  	//
 16581  	// StackId is a required field
 16582  	StackId *string `type:"string" required:"true"`
 16583  }
 16584  
 16585  // String returns the string representation.
 16586  //
 16587  // API parameter values that are decorated as "sensitive" in the API will not
 16588  // be included in the string output. The member name will be present, but the
 16589  // value will be replaced with "sensitive".
 16590  func (s StartStackInput) String() string {
 16591  	return awsutil.Prettify(s)
 16592  }
 16593  
 16594  // GoString returns the string representation.
 16595  //
 16596  // API parameter values that are decorated as "sensitive" in the API will not
 16597  // be included in the string output. The member name will be present, but the
 16598  // value will be replaced with "sensitive".
 16599  func (s StartStackInput) GoString() string {
 16600  	return s.String()
 16601  }
 16602  
 16603  // Validate inspects the fields of the type to determine if they are valid.
 16604  func (s *StartStackInput) Validate() error {
 16605  	invalidParams := request.ErrInvalidParams{Context: "StartStackInput"}
 16606  	if s.StackId == nil {
 16607  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 16608  	}
 16609  
 16610  	if invalidParams.Len() > 0 {
 16611  		return invalidParams
 16612  	}
 16613  	return nil
 16614  }
 16615  
 16616  // SetStackId sets the StackId field's value.
 16617  func (s *StartStackInput) SetStackId(v string) *StartStackInput {
 16618  	s.StackId = &v
 16619  	return s
 16620  }
 16621  
 16622  type StartStackOutput struct {
 16623  	_ struct{} `type:"structure"`
 16624  }
 16625  
 16626  // String returns the string representation.
 16627  //
 16628  // API parameter values that are decorated as "sensitive" in the API will not
 16629  // be included in the string output. The member name will be present, but the
 16630  // value will be replaced with "sensitive".
 16631  func (s StartStackOutput) String() string {
 16632  	return awsutil.Prettify(s)
 16633  }
 16634  
 16635  // GoString returns the string representation.
 16636  //
 16637  // API parameter values that are decorated as "sensitive" in the API will not
 16638  // be included in the string output. The member name will be present, but the
 16639  // value will be replaced with "sensitive".
 16640  func (s StartStackOutput) GoString() string {
 16641  	return s.String()
 16642  }
 16643  
 16644  type StopInstanceInput struct {
 16645  	_ struct{} `type:"structure"`
 16646  
 16647  	// Specifies whether to force an instance to stop. If the instance's root device
 16648  	// type is ebs, or EBS-backed, adding the Force parameter to the StopInstances
 16649  	// API call disassociates the AWS OpsWorks Stacks instance from EC2, and forces
 16650  	// deletion of only the OpsWorks Stacks instance. You must also delete the formerly-associated
 16651  	// instance in EC2 after troubleshooting and replacing the AWS OpsWorks Stacks
 16652  	// instance with a new one.
 16653  	Force *bool `type:"boolean"`
 16654  
 16655  	// The instance ID.
 16656  	//
 16657  	// InstanceId is a required field
 16658  	InstanceId *string `type:"string" required:"true"`
 16659  }
 16660  
 16661  // String returns the string representation.
 16662  //
 16663  // API parameter values that are decorated as "sensitive" in the API will not
 16664  // be included in the string output. The member name will be present, but the
 16665  // value will be replaced with "sensitive".
 16666  func (s StopInstanceInput) String() string {
 16667  	return awsutil.Prettify(s)
 16668  }
 16669  
 16670  // GoString returns the string representation.
 16671  //
 16672  // API parameter values that are decorated as "sensitive" in the API will not
 16673  // be included in the string output. The member name will be present, but the
 16674  // value will be replaced with "sensitive".
 16675  func (s StopInstanceInput) GoString() string {
 16676  	return s.String()
 16677  }
 16678  
 16679  // Validate inspects the fields of the type to determine if they are valid.
 16680  func (s *StopInstanceInput) Validate() error {
 16681  	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
 16682  	if s.InstanceId == nil {
 16683  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16684  	}
 16685  
 16686  	if invalidParams.Len() > 0 {
 16687  		return invalidParams
 16688  	}
 16689  	return nil
 16690  }
 16691  
 16692  // SetForce sets the Force field's value.
 16693  func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
 16694  	s.Force = &v
 16695  	return s
 16696  }
 16697  
 16698  // SetInstanceId sets the InstanceId field's value.
 16699  func (s *StopInstanceInput) SetInstanceId(v string) *StopInstanceInput {
 16700  	s.InstanceId = &v
 16701  	return s
 16702  }
 16703  
 16704  type StopInstanceOutput struct {
 16705  	_ struct{} `type:"structure"`
 16706  }
 16707  
 16708  // String returns the string representation.
 16709  //
 16710  // API parameter values that are decorated as "sensitive" in the API will not
 16711  // be included in the string output. The member name will be present, but the
 16712  // value will be replaced with "sensitive".
 16713  func (s StopInstanceOutput) String() string {
 16714  	return awsutil.Prettify(s)
 16715  }
 16716  
 16717  // GoString returns the string representation.
 16718  //
 16719  // API parameter values that are decorated as "sensitive" in the API will not
 16720  // be included in the string output. The member name will be present, but the
 16721  // value will be replaced with "sensitive".
 16722  func (s StopInstanceOutput) GoString() string {
 16723  	return s.String()
 16724  }
 16725  
 16726  type StopStackInput struct {
 16727  	_ struct{} `type:"structure"`
 16728  
 16729  	// The stack ID.
 16730  	//
 16731  	// StackId is a required field
 16732  	StackId *string `type:"string" required:"true"`
 16733  }
 16734  
 16735  // String returns the string representation.
 16736  //
 16737  // API parameter values that are decorated as "sensitive" in the API will not
 16738  // be included in the string output. The member name will be present, but the
 16739  // value will be replaced with "sensitive".
 16740  func (s StopStackInput) String() string {
 16741  	return awsutil.Prettify(s)
 16742  }
 16743  
 16744  // GoString returns the string representation.
 16745  //
 16746  // API parameter values that are decorated as "sensitive" in the API will not
 16747  // be included in the string output. The member name will be present, but the
 16748  // value will be replaced with "sensitive".
 16749  func (s StopStackInput) GoString() string {
 16750  	return s.String()
 16751  }
 16752  
 16753  // Validate inspects the fields of the type to determine if they are valid.
 16754  func (s *StopStackInput) Validate() error {
 16755  	invalidParams := request.ErrInvalidParams{Context: "StopStackInput"}
 16756  	if s.StackId == nil {
 16757  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 16758  	}
 16759  
 16760  	if invalidParams.Len() > 0 {
 16761  		return invalidParams
 16762  	}
 16763  	return nil
 16764  }
 16765  
 16766  // SetStackId sets the StackId field's value.
 16767  func (s *StopStackInput) SetStackId(v string) *StopStackInput {
 16768  	s.StackId = &v
 16769  	return s
 16770  }
 16771  
 16772  type StopStackOutput struct {
 16773  	_ struct{} `type:"structure"`
 16774  }
 16775  
 16776  // String returns the string representation.
 16777  //
 16778  // API parameter values that are decorated as "sensitive" in the API will not
 16779  // be included in the string output. The member name will be present, but the
 16780  // value will be replaced with "sensitive".
 16781  func (s StopStackOutput) String() string {
 16782  	return awsutil.Prettify(s)
 16783  }
 16784  
 16785  // GoString returns the string representation.
 16786  //
 16787  // API parameter values that are decorated as "sensitive" in the API will not
 16788  // be included in the string output. The member name will be present, but the
 16789  // value will be replaced with "sensitive".
 16790  func (s StopStackOutput) GoString() string {
 16791  	return s.String()
 16792  }
 16793  
 16794  type TagResourceInput struct {
 16795  	_ struct{} `type:"structure"`
 16796  
 16797  	// The stack or layer's Amazon Resource Number (ARN).
 16798  	//
 16799  	// ResourceArn is a required field
 16800  	ResourceArn *string `type:"string" required:"true"`
 16801  
 16802  	// A map that contains tag keys and tag values that are attached to a stack
 16803  	// or layer.
 16804  	//
 16805  	//    * The key cannot be empty.
 16806  	//
 16807  	//    * The key can be a maximum of 127 characters, and can contain only Unicode
 16808  	//    letters, numbers, or separators, or the following special characters:
 16809  	//    + - = . _ : /
 16810  	//
 16811  	//    * The value can be a maximum 255 characters, and contain only Unicode
 16812  	//    letters, numbers, or separators, or the following special characters:
 16813  	//    + - = . _ : /
 16814  	//
 16815  	//    * Leading and trailing white spaces are trimmed from both the key and
 16816  	//    value.
 16817  	//
 16818  	//    * A maximum of 40 tags is allowed for any resource.
 16819  	//
 16820  	// Tags is a required field
 16821  	Tags map[string]*string `type:"map" required:"true"`
 16822  }
 16823  
 16824  // String returns the string representation.
 16825  //
 16826  // API parameter values that are decorated as "sensitive" in the API will not
 16827  // be included in the string output. The member name will be present, but the
 16828  // value will be replaced with "sensitive".
 16829  func (s TagResourceInput) String() string {
 16830  	return awsutil.Prettify(s)
 16831  }
 16832  
 16833  // GoString returns the string representation.
 16834  //
 16835  // API parameter values that are decorated as "sensitive" in the API will not
 16836  // be included in the string output. The member name will be present, but the
 16837  // value will be replaced with "sensitive".
 16838  func (s TagResourceInput) GoString() string {
 16839  	return s.String()
 16840  }
 16841  
 16842  // Validate inspects the fields of the type to determine if they are valid.
 16843  func (s *TagResourceInput) Validate() error {
 16844  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 16845  	if s.ResourceArn == nil {
 16846  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16847  	}
 16848  	if s.Tags == nil {
 16849  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 16850  	}
 16851  
 16852  	if invalidParams.Len() > 0 {
 16853  		return invalidParams
 16854  	}
 16855  	return nil
 16856  }
 16857  
 16858  // SetResourceArn sets the ResourceArn field's value.
 16859  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 16860  	s.ResourceArn = &v
 16861  	return s
 16862  }
 16863  
 16864  // SetTags sets the Tags field's value.
 16865  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 16866  	s.Tags = v
 16867  	return s
 16868  }
 16869  
 16870  type TagResourceOutput struct {
 16871  	_ struct{} `type:"structure"`
 16872  }
 16873  
 16874  // String returns the string representation.
 16875  //
 16876  // API parameter values that are decorated as "sensitive" in the API will not
 16877  // be included in the string output. The member name will be present, but the
 16878  // value will be replaced with "sensitive".
 16879  func (s TagResourceOutput) String() string {
 16880  	return awsutil.Prettify(s)
 16881  }
 16882  
 16883  // GoString returns the string representation.
 16884  //
 16885  // API parameter values that are decorated as "sensitive" in the API will not
 16886  // be included in the string output. The member name will be present, but the
 16887  // value will be replaced with "sensitive".
 16888  func (s TagResourceOutput) GoString() string {
 16889  	return s.String()
 16890  }
 16891  
 16892  // Contains the data needed by RDP clients such as the Microsoft Remote Desktop
 16893  // Connection to log in to the instance.
 16894  type TemporaryCredential struct {
 16895  	_ struct{} `type:"structure"`
 16896  
 16897  	// The instance's AWS OpsWorks Stacks ID.
 16898  	InstanceId *string `type:"string"`
 16899  
 16900  	// The password.
 16901  	Password *string `type:"string"`
 16902  
 16903  	// The user name.
 16904  	Username *string `type:"string"`
 16905  
 16906  	// The length of time (in minutes) that the grant is valid. When the grant expires,
 16907  	// at the end of this period, the user will no longer be able to use the credentials
 16908  	// to log in. If they are logged in at the time, they will be automatically
 16909  	// logged out.
 16910  	ValidForInMinutes *int64 `type:"integer"`
 16911  }
 16912  
 16913  // String returns the string representation.
 16914  //
 16915  // API parameter values that are decorated as "sensitive" in the API will not
 16916  // be included in the string output. The member name will be present, but the
 16917  // value will be replaced with "sensitive".
 16918  func (s TemporaryCredential) String() string {
 16919  	return awsutil.Prettify(s)
 16920  }
 16921  
 16922  // GoString returns the string representation.
 16923  //
 16924  // API parameter values that are decorated as "sensitive" in the API will not
 16925  // be included in the string output. The member name will be present, but the
 16926  // value will be replaced with "sensitive".
 16927  func (s TemporaryCredential) GoString() string {
 16928  	return s.String()
 16929  }
 16930  
 16931  // SetInstanceId sets the InstanceId field's value.
 16932  func (s *TemporaryCredential) SetInstanceId(v string) *TemporaryCredential {
 16933  	s.InstanceId = &v
 16934  	return s
 16935  }
 16936  
 16937  // SetPassword sets the Password field's value.
 16938  func (s *TemporaryCredential) SetPassword(v string) *TemporaryCredential {
 16939  	s.Password = &v
 16940  	return s
 16941  }
 16942  
 16943  // SetUsername sets the Username field's value.
 16944  func (s *TemporaryCredential) SetUsername(v string) *TemporaryCredential {
 16945  	s.Username = &v
 16946  	return s
 16947  }
 16948  
 16949  // SetValidForInMinutes sets the ValidForInMinutes field's value.
 16950  func (s *TemporaryCredential) SetValidForInMinutes(v int64) *TemporaryCredential {
 16951  	s.ValidForInMinutes = &v
 16952  	return s
 16953  }
 16954  
 16955  // Describes an instance's time-based auto scaling configuration.
 16956  type TimeBasedAutoScalingConfiguration struct {
 16957  	_ struct{} `type:"structure"`
 16958  
 16959  	// A WeeklyAutoScalingSchedule object with the instance schedule.
 16960  	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
 16961  
 16962  	// The instance ID.
 16963  	InstanceId *string `type:"string"`
 16964  }
 16965  
 16966  // String returns the string representation.
 16967  //
 16968  // API parameter values that are decorated as "sensitive" in the API will not
 16969  // be included in the string output. The member name will be present, but the
 16970  // value will be replaced with "sensitive".
 16971  func (s TimeBasedAutoScalingConfiguration) String() string {
 16972  	return awsutil.Prettify(s)
 16973  }
 16974  
 16975  // GoString returns the string representation.
 16976  //
 16977  // API parameter values that are decorated as "sensitive" in the API will not
 16978  // be included in the string output. The member name will be present, but the
 16979  // value will be replaced with "sensitive".
 16980  func (s TimeBasedAutoScalingConfiguration) GoString() string {
 16981  	return s.String()
 16982  }
 16983  
 16984  // SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
 16985  func (s *TimeBasedAutoScalingConfiguration) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *TimeBasedAutoScalingConfiguration {
 16986  	s.AutoScalingSchedule = v
 16987  	return s
 16988  }
 16989  
 16990  // SetInstanceId sets the InstanceId field's value.
 16991  func (s *TimeBasedAutoScalingConfiguration) SetInstanceId(v string) *TimeBasedAutoScalingConfiguration {
 16992  	s.InstanceId = &v
 16993  	return s
 16994  }
 16995  
 16996  type UnassignInstanceInput struct {
 16997  	_ struct{} `type:"structure"`
 16998  
 16999  	// The instance ID.
 17000  	//
 17001  	// InstanceId is a required field
 17002  	InstanceId *string `type:"string" required:"true"`
 17003  }
 17004  
 17005  // String returns the string representation.
 17006  //
 17007  // API parameter values that are decorated as "sensitive" in the API will not
 17008  // be included in the string output. The member name will be present, but the
 17009  // value will be replaced with "sensitive".
 17010  func (s UnassignInstanceInput) String() string {
 17011  	return awsutil.Prettify(s)
 17012  }
 17013  
 17014  // GoString returns the string representation.
 17015  //
 17016  // API parameter values that are decorated as "sensitive" in the API will not
 17017  // be included in the string output. The member name will be present, but the
 17018  // value will be replaced with "sensitive".
 17019  func (s UnassignInstanceInput) GoString() string {
 17020  	return s.String()
 17021  }
 17022  
 17023  // Validate inspects the fields of the type to determine if they are valid.
 17024  func (s *UnassignInstanceInput) Validate() error {
 17025  	invalidParams := request.ErrInvalidParams{Context: "UnassignInstanceInput"}
 17026  	if s.InstanceId == nil {
 17027  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17028  	}
 17029  
 17030  	if invalidParams.Len() > 0 {
 17031  		return invalidParams
 17032  	}
 17033  	return nil
 17034  }
 17035  
 17036  // SetInstanceId sets the InstanceId field's value.
 17037  func (s *UnassignInstanceInput) SetInstanceId(v string) *UnassignInstanceInput {
 17038  	s.InstanceId = &v
 17039  	return s
 17040  }
 17041  
 17042  type UnassignInstanceOutput struct {
 17043  	_ struct{} `type:"structure"`
 17044  }
 17045  
 17046  // String returns the string representation.
 17047  //
 17048  // API parameter values that are decorated as "sensitive" in the API will not
 17049  // be included in the string output. The member name will be present, but the
 17050  // value will be replaced with "sensitive".
 17051  func (s UnassignInstanceOutput) String() string {
 17052  	return awsutil.Prettify(s)
 17053  }
 17054  
 17055  // GoString returns the string representation.
 17056  //
 17057  // API parameter values that are decorated as "sensitive" in the API will not
 17058  // be included in the string output. The member name will be present, but the
 17059  // value will be replaced with "sensitive".
 17060  func (s UnassignInstanceOutput) GoString() string {
 17061  	return s.String()
 17062  }
 17063  
 17064  type UnassignVolumeInput struct {
 17065  	_ struct{} `type:"structure"`
 17066  
 17067  	// The volume ID.
 17068  	//
 17069  	// VolumeId is a required field
 17070  	VolumeId *string `type:"string" required:"true"`
 17071  }
 17072  
 17073  // String returns the string representation.
 17074  //
 17075  // API parameter values that are decorated as "sensitive" in the API will not
 17076  // be included in the string output. The member name will be present, but the
 17077  // value will be replaced with "sensitive".
 17078  func (s UnassignVolumeInput) String() string {
 17079  	return awsutil.Prettify(s)
 17080  }
 17081  
 17082  // GoString returns the string representation.
 17083  //
 17084  // API parameter values that are decorated as "sensitive" in the API will not
 17085  // be included in the string output. The member name will be present, but the
 17086  // value will be replaced with "sensitive".
 17087  func (s UnassignVolumeInput) GoString() string {
 17088  	return s.String()
 17089  }
 17090  
 17091  // Validate inspects the fields of the type to determine if they are valid.
 17092  func (s *UnassignVolumeInput) Validate() error {
 17093  	invalidParams := request.ErrInvalidParams{Context: "UnassignVolumeInput"}
 17094  	if s.VolumeId == nil {
 17095  		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
 17096  	}
 17097  
 17098  	if invalidParams.Len() > 0 {
 17099  		return invalidParams
 17100  	}
 17101  	return nil
 17102  }
 17103  
 17104  // SetVolumeId sets the VolumeId field's value.
 17105  func (s *UnassignVolumeInput) SetVolumeId(v string) *UnassignVolumeInput {
 17106  	s.VolumeId = &v
 17107  	return s
 17108  }
 17109  
 17110  type UnassignVolumeOutput struct {
 17111  	_ struct{} `type:"structure"`
 17112  }
 17113  
 17114  // String returns the string representation.
 17115  //
 17116  // API parameter values that are decorated as "sensitive" in the API will not
 17117  // be included in the string output. The member name will be present, but the
 17118  // value will be replaced with "sensitive".
 17119  func (s UnassignVolumeOutput) String() string {
 17120  	return awsutil.Prettify(s)
 17121  }
 17122  
 17123  // GoString 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 UnassignVolumeOutput) GoString() string {
 17129  	return s.String()
 17130  }
 17131  
 17132  type UntagResourceInput struct {
 17133  	_ struct{} `type:"structure"`
 17134  
 17135  	// The stack or layer's Amazon Resource Number (ARN).
 17136  	//
 17137  	// ResourceArn is a required field
 17138  	ResourceArn *string `type:"string" required:"true"`
 17139  
 17140  	// A list of the keys of tags to be removed from a stack or layer.
 17141  	//
 17142  	// TagKeys is a required field
 17143  	TagKeys []*string `type:"list" required:"true"`
 17144  }
 17145  
 17146  // String returns the string representation.
 17147  //
 17148  // API parameter values that are decorated as "sensitive" in the API will not
 17149  // be included in the string output. The member name will be present, but the
 17150  // value will be replaced with "sensitive".
 17151  func (s UntagResourceInput) String() string {
 17152  	return awsutil.Prettify(s)
 17153  }
 17154  
 17155  // GoString returns the string representation.
 17156  //
 17157  // API parameter values that are decorated as "sensitive" in the API will not
 17158  // be included in the string output. The member name will be present, but the
 17159  // value will be replaced with "sensitive".
 17160  func (s UntagResourceInput) GoString() string {
 17161  	return s.String()
 17162  }
 17163  
 17164  // Validate inspects the fields of the type to determine if they are valid.
 17165  func (s *UntagResourceInput) Validate() error {
 17166  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 17167  	if s.ResourceArn == nil {
 17168  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 17169  	}
 17170  	if s.TagKeys == nil {
 17171  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 17172  	}
 17173  
 17174  	if invalidParams.Len() > 0 {
 17175  		return invalidParams
 17176  	}
 17177  	return nil
 17178  }
 17179  
 17180  // SetResourceArn sets the ResourceArn field's value.
 17181  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 17182  	s.ResourceArn = &v
 17183  	return s
 17184  }
 17185  
 17186  // SetTagKeys sets the TagKeys field's value.
 17187  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 17188  	s.TagKeys = v
 17189  	return s
 17190  }
 17191  
 17192  type UntagResourceOutput struct {
 17193  	_ struct{} `type:"structure"`
 17194  }
 17195  
 17196  // String returns the string representation.
 17197  //
 17198  // API parameter values that are decorated as "sensitive" in the API will not
 17199  // be included in the string output. The member name will be present, but the
 17200  // value will be replaced with "sensitive".
 17201  func (s UntagResourceOutput) String() string {
 17202  	return awsutil.Prettify(s)
 17203  }
 17204  
 17205  // GoString returns the string representation.
 17206  //
 17207  // API parameter values that are decorated as "sensitive" in the API will not
 17208  // be included in the string output. The member name will be present, but the
 17209  // value will be replaced with "sensitive".
 17210  func (s UntagResourceOutput) GoString() string {
 17211  	return s.String()
 17212  }
 17213  
 17214  type UpdateAppInput struct {
 17215  	_ struct{} `type:"structure"`
 17216  
 17217  	// The app ID.
 17218  	//
 17219  	// AppId is a required field
 17220  	AppId *string `type:"string" required:"true"`
 17221  
 17222  	// A Source object that specifies the app repository.
 17223  	AppSource *Source `type:"structure"`
 17224  
 17225  	// One or more user-defined key/value pairs to be added to the stack attributes.
 17226  	Attributes map[string]*string `type:"map"`
 17227  
 17228  	// The app's data sources.
 17229  	DataSources []*DataSource `type:"list"`
 17230  
 17231  	// A description of the app.
 17232  	Description *string `type:"string"`
 17233  
 17234  	// The app's virtual host settings, with multiple domains separated by commas.
 17235  	// For example: 'www.example.com, example.com'
 17236  	Domains []*string `type:"list"`
 17237  
 17238  	// Whether SSL is enabled for the app.
 17239  	EnableSsl *bool `type:"boolean"`
 17240  
 17241  	// An array of EnvironmentVariable objects that specify environment variables
 17242  	// to be associated with the app. After you deploy the app, these variables
 17243  	// are defined on the associated app server instances.For more information,
 17244  	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
 17245  	//
 17246  	// There is no specific limit on the number of environment variables. However,
 17247  	// the size of the associated data structure - which includes the variables'
 17248  	// names, values, and protected flag values - cannot exceed 20 KB. This limit
 17249  	// should accommodate most if not all use cases. Exceeding it will cause an
 17250  	// exception with the message, "Environment: is too large (maximum is 20 KB)."
 17251  	//
 17252  	// If you have specified one or more environment variables, you cannot modify
 17253  	// the stack's Chef version.
 17254  	Environment []*EnvironmentVariable `type:"list"`
 17255  
 17256  	// The app name.
 17257  	Name *string `type:"string"`
 17258  
 17259  	// An SslConfiguration object with the SSL configuration.
 17260  	SslConfiguration *SslConfiguration `type:"structure"`
 17261  
 17262  	// The app type.
 17263  	Type *string `type:"string" enum:"AppType"`
 17264  }
 17265  
 17266  // String returns the string representation.
 17267  //
 17268  // API parameter values that are decorated as "sensitive" in the API will not
 17269  // be included in the string output. The member name will be present, but the
 17270  // value will be replaced with "sensitive".
 17271  func (s UpdateAppInput) String() string {
 17272  	return awsutil.Prettify(s)
 17273  }
 17274  
 17275  // GoString returns the string representation.
 17276  //
 17277  // API parameter values that are decorated as "sensitive" in the API will not
 17278  // be included in the string output. The member name will be present, but the
 17279  // value will be replaced with "sensitive".
 17280  func (s UpdateAppInput) GoString() string {
 17281  	return s.String()
 17282  }
 17283  
 17284  // Validate inspects the fields of the type to determine if they are valid.
 17285  func (s *UpdateAppInput) Validate() error {
 17286  	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInput"}
 17287  	if s.AppId == nil {
 17288  		invalidParams.Add(request.NewErrParamRequired("AppId"))
 17289  	}
 17290  	if s.Environment != nil {
 17291  		for i, v := range s.Environment {
 17292  			if v == nil {
 17293  				continue
 17294  			}
 17295  			if err := v.Validate(); err != nil {
 17296  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
 17297  			}
 17298  		}
 17299  	}
 17300  	if s.SslConfiguration != nil {
 17301  		if err := s.SslConfiguration.Validate(); err != nil {
 17302  			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
 17303  		}
 17304  	}
 17305  
 17306  	if invalidParams.Len() > 0 {
 17307  		return invalidParams
 17308  	}
 17309  	return nil
 17310  }
 17311  
 17312  // SetAppId sets the AppId field's value.
 17313  func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
 17314  	s.AppId = &v
 17315  	return s
 17316  }
 17317  
 17318  // SetAppSource sets the AppSource field's value.
 17319  func (s *UpdateAppInput) SetAppSource(v *Source) *UpdateAppInput {
 17320  	s.AppSource = v
 17321  	return s
 17322  }
 17323  
 17324  // SetAttributes sets the Attributes field's value.
 17325  func (s *UpdateAppInput) SetAttributes(v map[string]*string) *UpdateAppInput {
 17326  	s.Attributes = v
 17327  	return s
 17328  }
 17329  
 17330  // SetDataSources sets the DataSources field's value.
 17331  func (s *UpdateAppInput) SetDataSources(v []*DataSource) *UpdateAppInput {
 17332  	s.DataSources = v
 17333  	return s
 17334  }
 17335  
 17336  // SetDescription sets the Description field's value.
 17337  func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
 17338  	s.Description = &v
 17339  	return s
 17340  }
 17341  
 17342  // SetDomains sets the Domains field's value.
 17343  func (s *UpdateAppInput) SetDomains(v []*string) *UpdateAppInput {
 17344  	s.Domains = v
 17345  	return s
 17346  }
 17347  
 17348  // SetEnableSsl sets the EnableSsl field's value.
 17349  func (s *UpdateAppInput) SetEnableSsl(v bool) *UpdateAppInput {
 17350  	s.EnableSsl = &v
 17351  	return s
 17352  }
 17353  
 17354  // SetEnvironment sets the Environment field's value.
 17355  func (s *UpdateAppInput) SetEnvironment(v []*EnvironmentVariable) *UpdateAppInput {
 17356  	s.Environment = v
 17357  	return s
 17358  }
 17359  
 17360  // SetName sets the Name field's value.
 17361  func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
 17362  	s.Name = &v
 17363  	return s
 17364  }
 17365  
 17366  // SetSslConfiguration sets the SslConfiguration field's value.
 17367  func (s *UpdateAppInput) SetSslConfiguration(v *SslConfiguration) *UpdateAppInput {
 17368  	s.SslConfiguration = v
 17369  	return s
 17370  }
 17371  
 17372  // SetType sets the Type field's value.
 17373  func (s *UpdateAppInput) SetType(v string) *UpdateAppInput {
 17374  	s.Type = &v
 17375  	return s
 17376  }
 17377  
 17378  type UpdateAppOutput struct {
 17379  	_ struct{} `type:"structure"`
 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 UpdateAppOutput) 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 UpdateAppOutput) GoString() string {
 17397  	return s.String()
 17398  }
 17399  
 17400  type UpdateElasticIpInput struct {
 17401  	_ struct{} `type:"structure"`
 17402  
 17403  	// The IP address for which you want to update the name.
 17404  	//
 17405  	// ElasticIp is a required field
 17406  	ElasticIp *string `type:"string" required:"true"`
 17407  
 17408  	// The new name.
 17409  	Name *string `type:"string"`
 17410  }
 17411  
 17412  // String returns the string representation.
 17413  //
 17414  // API parameter values that are decorated as "sensitive" in the API will not
 17415  // be included in the string output. The member name will be present, but the
 17416  // value will be replaced with "sensitive".
 17417  func (s UpdateElasticIpInput) String() string {
 17418  	return awsutil.Prettify(s)
 17419  }
 17420  
 17421  // GoString returns the string representation.
 17422  //
 17423  // API parameter values that are decorated as "sensitive" in the API will not
 17424  // be included in the string output. The member name will be present, but the
 17425  // value will be replaced with "sensitive".
 17426  func (s UpdateElasticIpInput) GoString() string {
 17427  	return s.String()
 17428  }
 17429  
 17430  // Validate inspects the fields of the type to determine if they are valid.
 17431  func (s *UpdateElasticIpInput) Validate() error {
 17432  	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticIpInput"}
 17433  	if s.ElasticIp == nil {
 17434  		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
 17435  	}
 17436  
 17437  	if invalidParams.Len() > 0 {
 17438  		return invalidParams
 17439  	}
 17440  	return nil
 17441  }
 17442  
 17443  // SetElasticIp sets the ElasticIp field's value.
 17444  func (s *UpdateElasticIpInput) SetElasticIp(v string) *UpdateElasticIpInput {
 17445  	s.ElasticIp = &v
 17446  	return s
 17447  }
 17448  
 17449  // SetName sets the Name field's value.
 17450  func (s *UpdateElasticIpInput) SetName(v string) *UpdateElasticIpInput {
 17451  	s.Name = &v
 17452  	return s
 17453  }
 17454  
 17455  type UpdateElasticIpOutput struct {
 17456  	_ struct{} `type:"structure"`
 17457  }
 17458  
 17459  // String returns the string representation.
 17460  //
 17461  // API parameter values that are decorated as "sensitive" in the API will not
 17462  // be included in the string output. The member name will be present, but the
 17463  // value will be replaced with "sensitive".
 17464  func (s UpdateElasticIpOutput) String() string {
 17465  	return awsutil.Prettify(s)
 17466  }
 17467  
 17468  // GoString returns the string representation.
 17469  //
 17470  // API parameter values that are decorated as "sensitive" in the API will not
 17471  // be included in the string output. The member name will be present, but the
 17472  // value will be replaced with "sensitive".
 17473  func (s UpdateElasticIpOutput) GoString() string {
 17474  	return s.String()
 17475  }
 17476  
 17477  type UpdateInstanceInput struct {
 17478  	_ struct{} `type:"structure"`
 17479  
 17480  	// The default AWS OpsWorks Stacks agent version. You have the following options:
 17481  	//
 17482  	//    * INHERIT - Use the stack's default agent version setting.
 17483  	//
 17484  	//    * version_number - Use the specified agent version. This value overrides
 17485  	//    the stack's default setting. To update the agent version, you must edit
 17486  	//    the instance configuration and specify a new version. AWS OpsWorks Stacks
 17487  	//    then automatically installs that version on the instance.
 17488  	//
 17489  	// The default setting is INHERIT. To specify an agent version, you must use
 17490  	// the complete version number, not the abbreviated number shown on the console.
 17491  	// For a list of available agent version numbers, call DescribeAgentVersions.
 17492  	//
 17493  	// AgentVersion cannot be set to Chef 12.2.
 17494  	AgentVersion *string `type:"string"`
 17495  
 17496  	// The ID of the AMI that was used to create the instance. The value of this
 17497  	// parameter must be the same AMI ID that the instance is already using. You
 17498  	// cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance
 17499  	// does not work on instances that are using custom AMIs.
 17500  	AmiId *string `type:"string"`
 17501  
 17502  	// The instance architecture. Instance types do not necessarily support both
 17503  	// architectures. For a list of the architectures that are supported by the
 17504  	// different instance types, see Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
 17505  	Architecture *string `type:"string" enum:"Architecture"`
 17506  
 17507  	// For load-based or time-based instances, the type. Windows stacks can use
 17508  	// only time-based instances.
 17509  	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
 17510  
 17511  	// This property cannot be updated.
 17512  	EbsOptimized *bool `type:"boolean"`
 17513  
 17514  	// The instance host name.
 17515  	Hostname *string `type:"string"`
 17516  
 17517  	// Whether to install operating system and package updates when the instance
 17518  	// boots. The default value is true. To control when updates are installed,
 17519  	// set this value to false. You must then update your instances manually by
 17520  	// using CreateDeployment to run the update_dependencies stack command or by
 17521  	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
 17522  	//
 17523  	// We strongly recommend using the default value of true, to ensure that your
 17524  	// instances have the latest security updates.
 17525  	InstallUpdatesOnBoot *bool `type:"boolean"`
 17526  
 17527  	// The instance ID.
 17528  	//
 17529  	// InstanceId is a required field
 17530  	InstanceId *string `type:"string" required:"true"`
 17531  
 17532  	// The instance type, such as t2.micro. For a list of supported instance types,
 17533  	// open the stack in the console, choose Instances, and choose + Instance. The
 17534  	// Size list contains the currently supported types. For more information, see
 17535  	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
 17536  	// The parameter values that you use to specify the various types are in the
 17537  	// API Name column of the Available Instance Types table.
 17538  	InstanceType *string `type:"string"`
 17539  
 17540  	// The instance's layer IDs.
 17541  	LayerIds []*string `type:"list"`
 17542  
 17543  	// The instance's operating system, which must be set to one of the following.
 17544  	// You cannot update an instance that is using a custom AMI.
 17545  	//
 17546  	//    * A supported Linux operating system: An Amazon Linux version, such as
 17547  	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
 17548  	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
 17549  	//    2015.03.
 17550  	//
 17551  	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
 17552  	//    14.04 LTS, or Ubuntu 12.04 LTS.
 17553  	//
 17554  	//    * CentOS Linux 7
 17555  	//
 17556  	//    * Red Hat Enterprise Linux 7
 17557  	//
 17558  	//    * A supported Windows operating system, such as Microsoft Windows Server
 17559  	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
 17560  	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
 17561  	//    Windows Server 2012 R2 with SQL Server Web.
 17562  	//
 17563  	// For more information about supported operating systems, see AWS OpsWorks
 17564  	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
 17565  	//
 17566  	// The default option is the current Amazon Linux version. If you set this parameter
 17567  	// to Custom, you must use the AmiId parameter to specify the custom AMI that
 17568  	// you want to use. For more information about supported operating systems,
 17569  	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
 17570  	// For more information about how to use custom AMIs with OpsWorks, see Using
 17571  	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
 17572  	//
 17573  	// You can specify a different Linux operating system for the updated stack,
 17574  	// but you cannot change from Linux to Windows or Windows to Linux.
 17575  	Os *string `type:"string"`
 17576  
 17577  	// The instance's Amazon EC2 key name.
 17578  	SshKeyName *string `type:"string"`
 17579  }
 17580  
 17581  // String 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 UpdateInstanceInput) String() string {
 17587  	return awsutil.Prettify(s)
 17588  }
 17589  
 17590  // GoString returns the string representation.
 17591  //
 17592  // API parameter values that are decorated as "sensitive" in the API will not
 17593  // be included in the string output. The member name will be present, but the
 17594  // value will be replaced with "sensitive".
 17595  func (s UpdateInstanceInput) GoString() string {
 17596  	return s.String()
 17597  }
 17598  
 17599  // Validate inspects the fields of the type to determine if they are valid.
 17600  func (s *UpdateInstanceInput) Validate() error {
 17601  	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceInput"}
 17602  	if s.InstanceId == nil {
 17603  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17604  	}
 17605  
 17606  	if invalidParams.Len() > 0 {
 17607  		return invalidParams
 17608  	}
 17609  	return nil
 17610  }
 17611  
 17612  // SetAgentVersion sets the AgentVersion field's value.
 17613  func (s *UpdateInstanceInput) SetAgentVersion(v string) *UpdateInstanceInput {
 17614  	s.AgentVersion = &v
 17615  	return s
 17616  }
 17617  
 17618  // SetAmiId sets the AmiId field's value.
 17619  func (s *UpdateInstanceInput) SetAmiId(v string) *UpdateInstanceInput {
 17620  	s.AmiId = &v
 17621  	return s
 17622  }
 17623  
 17624  // SetArchitecture sets the Architecture field's value.
 17625  func (s *UpdateInstanceInput) SetArchitecture(v string) *UpdateInstanceInput {
 17626  	s.Architecture = &v
 17627  	return s
 17628  }
 17629  
 17630  // SetAutoScalingType sets the AutoScalingType field's value.
 17631  func (s *UpdateInstanceInput) SetAutoScalingType(v string) *UpdateInstanceInput {
 17632  	s.AutoScalingType = &v
 17633  	return s
 17634  }
 17635  
 17636  // SetEbsOptimized sets the EbsOptimized field's value.
 17637  func (s *UpdateInstanceInput) SetEbsOptimized(v bool) *UpdateInstanceInput {
 17638  	s.EbsOptimized = &v
 17639  	return s
 17640  }
 17641  
 17642  // SetHostname sets the Hostname field's value.
 17643  func (s *UpdateInstanceInput) SetHostname(v string) *UpdateInstanceInput {
 17644  	s.Hostname = &v
 17645  	return s
 17646  }
 17647  
 17648  // SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
 17649  func (s *UpdateInstanceInput) SetInstallUpdatesOnBoot(v bool) *UpdateInstanceInput {
 17650  	s.InstallUpdatesOnBoot = &v
 17651  	return s
 17652  }
 17653  
 17654  // SetInstanceId sets the InstanceId field's value.
 17655  func (s *UpdateInstanceInput) SetInstanceId(v string) *UpdateInstanceInput {
 17656  	s.InstanceId = &v
 17657  	return s
 17658  }
 17659  
 17660  // SetInstanceType sets the InstanceType field's value.
 17661  func (s *UpdateInstanceInput) SetInstanceType(v string) *UpdateInstanceInput {
 17662  	s.InstanceType = &v
 17663  	return s
 17664  }
 17665  
 17666  // SetLayerIds sets the LayerIds field's value.
 17667  func (s *UpdateInstanceInput) SetLayerIds(v []*string) *UpdateInstanceInput {
 17668  	s.LayerIds = v
 17669  	return s
 17670  }
 17671  
 17672  // SetOs sets the Os field's value.
 17673  func (s *UpdateInstanceInput) SetOs(v string) *UpdateInstanceInput {
 17674  	s.Os = &v
 17675  	return s
 17676  }
 17677  
 17678  // SetSshKeyName sets the SshKeyName field's value.
 17679  func (s *UpdateInstanceInput) SetSshKeyName(v string) *UpdateInstanceInput {
 17680  	s.SshKeyName = &v
 17681  	return s
 17682  }
 17683  
 17684  type UpdateInstanceOutput struct {
 17685  	_ struct{} `type:"structure"`
 17686  }
 17687  
 17688  // String returns the string representation.
 17689  //
 17690  // API parameter values that are decorated as "sensitive" in the API will not
 17691  // be included in the string output. The member name will be present, but the
 17692  // value will be replaced with "sensitive".
 17693  func (s UpdateInstanceOutput) String() string {
 17694  	return awsutil.Prettify(s)
 17695  }
 17696  
 17697  // GoString returns the string representation.
 17698  //
 17699  // API parameter values that are decorated as "sensitive" in the API will not
 17700  // be included in the string output. The member name will be present, but the
 17701  // value will be replaced with "sensitive".
 17702  func (s UpdateInstanceOutput) GoString() string {
 17703  	return s.String()
 17704  }
 17705  
 17706  type UpdateLayerInput struct {
 17707  	_ struct{} `type:"structure"`
 17708  
 17709  	// One or more user-defined key/value pairs to be added to the stack attributes.
 17710  	Attributes map[string]*string `type:"map"`
 17711  
 17712  	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
 17713  	// to the layer's instances. For more information, see How to Edit a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
 17714  	AutoAssignElasticIps *bool `type:"boolean"`
 17715  
 17716  	// For stacks that are running in a VPC, whether to automatically assign a public
 17717  	// IP address to the layer's instances. For more information, see How to Edit
 17718  	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
 17719  	AutoAssignPublicIps *bool `type:"boolean"`
 17720  
 17721  	// Specifies CloudWatch Logs configuration options for the layer. For more information,
 17722  	// see CloudWatchLogsLogStream.
 17723  	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
 17724  
 17725  	// The ARN of an IAM profile to be used for all of the layer's EC2 instances.
 17726  	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 17727  	CustomInstanceProfileArn *string `type:"string"`
 17728  
 17729  	// A JSON-formatted string containing custom stack configuration and deployment
 17730  	// attributes to be installed on the layer's instances. For more information,
 17731  	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
 17732  	CustomJson *string `type:"string"`
 17733  
 17734  	// A LayerCustomRecipes object that specifies the layer's custom recipes.
 17735  	CustomRecipes *Recipes `type:"structure"`
 17736  
 17737  	// An array containing the layer's custom security group IDs.
 17738  	CustomSecurityGroupIds []*string `type:"list"`
 17739  
 17740  	// Whether to disable auto healing for the layer.
 17741  	EnableAutoHealing *bool `type:"boolean"`
 17742  
 17743  	// Whether to install operating system and package updates when the instance
 17744  	// boots. The default value is true. To control when updates are installed,
 17745  	// set this value to false. You must then update your instances manually by
 17746  	// using CreateDeployment to run the update_dependencies stack command or manually
 17747  	// running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
 17748  	//
 17749  	// We strongly recommend using the default value of true, to ensure that your
 17750  	// instances have the latest security updates.
 17751  	InstallUpdatesOnBoot *bool `type:"boolean"`
 17752  
 17753  	// The layer ID.
 17754  	//
 17755  	// LayerId is a required field
 17756  	LayerId *string `type:"string" required:"true"`
 17757  
 17758  	// Specifies the lifecycle event configuration
 17759  	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
 17760  
 17761  	// The layer name, which is used by the console.
 17762  	Name *string `type:"string"`
 17763  
 17764  	// An array of Package objects that describe the layer's packages.
 17765  	Packages []*string `type:"list"`
 17766  
 17767  	// For custom layers only, use this parameter to specify the layer's short name,
 17768  	// which is used internally by AWS OpsWorks Stacks and by Chef. The short name
 17769  	// is also used as the name for the directory where your app files are installed.
 17770  	// It can have a maximum of 200 characters and must be in the following format:
 17771  	// /\A[a-z0-9\-\_\.]+\Z/.
 17772  	//
 17773  	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
 17774  	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html)
 17775  	Shortname *string `type:"string"`
 17776  
 17777  	// Whether to use Amazon EBS-optimized instances.
 17778  	UseEbsOptimizedInstances *bool `type:"boolean"`
 17779  
 17780  	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
 17781  	VolumeConfigurations []*VolumeConfiguration `type:"list"`
 17782  }
 17783  
 17784  // String returns the string representation.
 17785  //
 17786  // API parameter values that are decorated as "sensitive" in the API will not
 17787  // be included in the string output. The member name will be present, but the
 17788  // value will be replaced with "sensitive".
 17789  func (s UpdateLayerInput) String() string {
 17790  	return awsutil.Prettify(s)
 17791  }
 17792  
 17793  // GoString returns the string representation.
 17794  //
 17795  // API parameter values that are decorated as "sensitive" in the API will not
 17796  // be included in the string output. The member name will be present, but the
 17797  // value will be replaced with "sensitive".
 17798  func (s UpdateLayerInput) GoString() string {
 17799  	return s.String()
 17800  }
 17801  
 17802  // Validate inspects the fields of the type to determine if they are valid.
 17803  func (s *UpdateLayerInput) Validate() error {
 17804  	invalidParams := request.ErrInvalidParams{Context: "UpdateLayerInput"}
 17805  	if s.LayerId == nil {
 17806  		invalidParams.Add(request.NewErrParamRequired("LayerId"))
 17807  	}
 17808  	if s.VolumeConfigurations != nil {
 17809  		for i, v := range s.VolumeConfigurations {
 17810  			if v == nil {
 17811  				continue
 17812  			}
 17813  			if err := v.Validate(); err != nil {
 17814  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
 17815  			}
 17816  		}
 17817  	}
 17818  
 17819  	if invalidParams.Len() > 0 {
 17820  		return invalidParams
 17821  	}
 17822  	return nil
 17823  }
 17824  
 17825  // SetAttributes sets the Attributes field's value.
 17826  func (s *UpdateLayerInput) SetAttributes(v map[string]*string) *UpdateLayerInput {
 17827  	s.Attributes = v
 17828  	return s
 17829  }
 17830  
 17831  // SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
 17832  func (s *UpdateLayerInput) SetAutoAssignElasticIps(v bool) *UpdateLayerInput {
 17833  	s.AutoAssignElasticIps = &v
 17834  	return s
 17835  }
 17836  
 17837  // SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
 17838  func (s *UpdateLayerInput) SetAutoAssignPublicIps(v bool) *UpdateLayerInput {
 17839  	s.AutoAssignPublicIps = &v
 17840  	return s
 17841  }
 17842  
 17843  // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
 17844  func (s *UpdateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *UpdateLayerInput {
 17845  	s.CloudWatchLogsConfiguration = v
 17846  	return s
 17847  }
 17848  
 17849  // SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
 17850  func (s *UpdateLayerInput) SetCustomInstanceProfileArn(v string) *UpdateLayerInput {
 17851  	s.CustomInstanceProfileArn = &v
 17852  	return s
 17853  }
 17854  
 17855  // SetCustomJson sets the CustomJson field's value.
 17856  func (s *UpdateLayerInput) SetCustomJson(v string) *UpdateLayerInput {
 17857  	s.CustomJson = &v
 17858  	return s
 17859  }
 17860  
 17861  // SetCustomRecipes sets the CustomRecipes field's value.
 17862  func (s *UpdateLayerInput) SetCustomRecipes(v *Recipes) *UpdateLayerInput {
 17863  	s.CustomRecipes = v
 17864  	return s
 17865  }
 17866  
 17867  // SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
 17868  func (s *UpdateLayerInput) SetCustomSecurityGroupIds(v []*string) *UpdateLayerInput {
 17869  	s.CustomSecurityGroupIds = v
 17870  	return s
 17871  }
 17872  
 17873  // SetEnableAutoHealing sets the EnableAutoHealing field's value.
 17874  func (s *UpdateLayerInput) SetEnableAutoHealing(v bool) *UpdateLayerInput {
 17875  	s.EnableAutoHealing = &v
 17876  	return s
 17877  }
 17878  
 17879  // SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
 17880  func (s *UpdateLayerInput) SetInstallUpdatesOnBoot(v bool) *UpdateLayerInput {
 17881  	s.InstallUpdatesOnBoot = &v
 17882  	return s
 17883  }
 17884  
 17885  // SetLayerId sets the LayerId field's value.
 17886  func (s *UpdateLayerInput) SetLayerId(v string) *UpdateLayerInput {
 17887  	s.LayerId = &v
 17888  	return s
 17889  }
 17890  
 17891  // SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
 17892  func (s *UpdateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *UpdateLayerInput {
 17893  	s.LifecycleEventConfiguration = v
 17894  	return s
 17895  }
 17896  
 17897  // SetName sets the Name field's value.
 17898  func (s *UpdateLayerInput) SetName(v string) *UpdateLayerInput {
 17899  	s.Name = &v
 17900  	return s
 17901  }
 17902  
 17903  // SetPackages sets the Packages field's value.
 17904  func (s *UpdateLayerInput) SetPackages(v []*string) *UpdateLayerInput {
 17905  	s.Packages = v
 17906  	return s
 17907  }
 17908  
 17909  // SetShortname sets the Shortname field's value.
 17910  func (s *UpdateLayerInput) SetShortname(v string) *UpdateLayerInput {
 17911  	s.Shortname = &v
 17912  	return s
 17913  }
 17914  
 17915  // SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
 17916  func (s *UpdateLayerInput) SetUseEbsOptimizedInstances(v bool) *UpdateLayerInput {
 17917  	s.UseEbsOptimizedInstances = &v
 17918  	return s
 17919  }
 17920  
 17921  // SetVolumeConfigurations sets the VolumeConfigurations field's value.
 17922  func (s *UpdateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *UpdateLayerInput {
 17923  	s.VolumeConfigurations = v
 17924  	return s
 17925  }
 17926  
 17927  type UpdateLayerOutput struct {
 17928  	_ struct{} `type:"structure"`
 17929  }
 17930  
 17931  // String returns the string representation.
 17932  //
 17933  // API parameter values that are decorated as "sensitive" in the API will not
 17934  // be included in the string output. The member name will be present, but the
 17935  // value will be replaced with "sensitive".
 17936  func (s UpdateLayerOutput) String() string {
 17937  	return awsutil.Prettify(s)
 17938  }
 17939  
 17940  // GoString returns the string representation.
 17941  //
 17942  // API parameter values that are decorated as "sensitive" in the API will not
 17943  // be included in the string output. The member name will be present, but the
 17944  // value will be replaced with "sensitive".
 17945  func (s UpdateLayerOutput) GoString() string {
 17946  	return s.String()
 17947  }
 17948  
 17949  type UpdateMyUserProfileInput struct {
 17950  	_ struct{} `type:"structure"`
 17951  
 17952  	// The user's SSH public key.
 17953  	SshPublicKey *string `type:"string"`
 17954  }
 17955  
 17956  // String returns the string representation.
 17957  //
 17958  // API parameter values that are decorated as "sensitive" in the API will not
 17959  // be included in the string output. The member name will be present, but the
 17960  // value will be replaced with "sensitive".
 17961  func (s UpdateMyUserProfileInput) String() string {
 17962  	return awsutil.Prettify(s)
 17963  }
 17964  
 17965  // GoString returns the string representation.
 17966  //
 17967  // API parameter values that are decorated as "sensitive" in the API will not
 17968  // be included in the string output. The member name will be present, but the
 17969  // value will be replaced with "sensitive".
 17970  func (s UpdateMyUserProfileInput) GoString() string {
 17971  	return s.String()
 17972  }
 17973  
 17974  // SetSshPublicKey sets the SshPublicKey field's value.
 17975  func (s *UpdateMyUserProfileInput) SetSshPublicKey(v string) *UpdateMyUserProfileInput {
 17976  	s.SshPublicKey = &v
 17977  	return s
 17978  }
 17979  
 17980  type UpdateMyUserProfileOutput struct {
 17981  	_ struct{} `type:"structure"`
 17982  }
 17983  
 17984  // String returns the string representation.
 17985  //
 17986  // API parameter values that are decorated as "sensitive" in the API will not
 17987  // be included in the string output. The member name will be present, but the
 17988  // value will be replaced with "sensitive".
 17989  func (s UpdateMyUserProfileOutput) String() string {
 17990  	return awsutil.Prettify(s)
 17991  }
 17992  
 17993  // GoString returns the string representation.
 17994  //
 17995  // API parameter values that are decorated as "sensitive" in the API will not
 17996  // be included in the string output. The member name will be present, but the
 17997  // value will be replaced with "sensitive".
 17998  func (s UpdateMyUserProfileOutput) GoString() string {
 17999  	return s.String()
 18000  }
 18001  
 18002  type UpdateRdsDbInstanceInput struct {
 18003  	_ struct{} `type:"structure"`
 18004  
 18005  	// The database password.
 18006  	DbPassword *string `type:"string"`
 18007  
 18008  	// The master user name.
 18009  	DbUser *string `type:"string"`
 18010  
 18011  	// The Amazon RDS instance's ARN.
 18012  	//
 18013  	// RdsDbInstanceArn is a required field
 18014  	RdsDbInstanceArn *string `type:"string" required:"true"`
 18015  }
 18016  
 18017  // String returns the string representation.
 18018  //
 18019  // API parameter values that are decorated as "sensitive" in the API will not
 18020  // be included in the string output. The member name will be present, but the
 18021  // value will be replaced with "sensitive".
 18022  func (s UpdateRdsDbInstanceInput) String() string {
 18023  	return awsutil.Prettify(s)
 18024  }
 18025  
 18026  // GoString returns the string representation.
 18027  //
 18028  // API parameter values that are decorated as "sensitive" in the API will not
 18029  // be included in the string output. The member name will be present, but the
 18030  // value will be replaced with "sensitive".
 18031  func (s UpdateRdsDbInstanceInput) GoString() string {
 18032  	return s.String()
 18033  }
 18034  
 18035  // Validate inspects the fields of the type to determine if they are valid.
 18036  func (s *UpdateRdsDbInstanceInput) Validate() error {
 18037  	invalidParams := request.ErrInvalidParams{Context: "UpdateRdsDbInstanceInput"}
 18038  	if s.RdsDbInstanceArn == nil {
 18039  		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
 18040  	}
 18041  
 18042  	if invalidParams.Len() > 0 {
 18043  		return invalidParams
 18044  	}
 18045  	return nil
 18046  }
 18047  
 18048  // SetDbPassword sets the DbPassword field's value.
 18049  func (s *UpdateRdsDbInstanceInput) SetDbPassword(v string) *UpdateRdsDbInstanceInput {
 18050  	s.DbPassword = &v
 18051  	return s
 18052  }
 18053  
 18054  // SetDbUser sets the DbUser field's value.
 18055  func (s *UpdateRdsDbInstanceInput) SetDbUser(v string) *UpdateRdsDbInstanceInput {
 18056  	s.DbUser = &v
 18057  	return s
 18058  }
 18059  
 18060  // SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
 18061  func (s *UpdateRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *UpdateRdsDbInstanceInput {
 18062  	s.RdsDbInstanceArn = &v
 18063  	return s
 18064  }
 18065  
 18066  type UpdateRdsDbInstanceOutput struct {
 18067  	_ struct{} `type:"structure"`
 18068  }
 18069  
 18070  // String returns the string representation.
 18071  //
 18072  // API parameter values that are decorated as "sensitive" in the API will not
 18073  // be included in the string output. The member name will be present, but the
 18074  // value will be replaced with "sensitive".
 18075  func (s UpdateRdsDbInstanceOutput) String() string {
 18076  	return awsutil.Prettify(s)
 18077  }
 18078  
 18079  // GoString returns the string representation.
 18080  //
 18081  // API parameter values that are decorated as "sensitive" in the API will not
 18082  // be included in the string output. The member name will be present, but the
 18083  // value will be replaced with "sensitive".
 18084  func (s UpdateRdsDbInstanceOutput) GoString() string {
 18085  	return s.String()
 18086  }
 18087  
 18088  type UpdateStackInput struct {
 18089  	_ struct{} `type:"structure"`
 18090  
 18091  	// The default AWS OpsWorks Stacks agent version. You have the following options:
 18092  	//
 18093  	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
 18094  	//    installs new agent versions on the stack's instances as soon as they are
 18095  	//    available.
 18096  	//
 18097  	//    * Fixed version - Set this parameter to your preferred agent version.
 18098  	//    To update the agent version, you must edit the stack configuration and
 18099  	//    specify a new version. AWS OpsWorks Stacks then automatically installs
 18100  	//    that version on the stack's instances.
 18101  	//
 18102  	// The default setting is LATEST. To specify an agent version, you must use
 18103  	// the complete version number, not the abbreviated number shown on the console.
 18104  	// For a list of available agent version numbers, call DescribeAgentVersions.
 18105  	// AgentVersion cannot be set to Chef 12.2.
 18106  	//
 18107  	// You can also specify an agent version when you create or update an instance,
 18108  	// which overrides the stack's default setting.
 18109  	AgentVersion *string `type:"string"`
 18110  
 18111  	// One or more user-defined key-value pairs to be added to the stack attributes.
 18112  	Attributes map[string]*string `type:"map"`
 18113  
 18114  	// A ChefConfiguration object that specifies whether to enable Berkshelf and
 18115  	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
 18116  	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
 18117  	ChefConfiguration *ChefConfiguration `type:"structure"`
 18118  
 18119  	// The configuration manager. When you update a stack, we recommend that you
 18120  	// use the configuration manager to specify the Chef version: 12, 11.10, or
 18121  	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
 18122  	// Linux stacks is currently 12.
 18123  	ConfigurationManager *StackConfigurationManager `type:"structure"`
 18124  
 18125  	// Contains the information required to retrieve an app or cookbook from a repository.
 18126  	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
 18127  	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
 18128  	CustomCookbooksSource *Source `type:"structure"`
 18129  
 18130  	// A string that contains user-defined, custom JSON. It can be used to override
 18131  	// the corresponding default stack configuration JSON values or to pass data
 18132  	// to recipes. The string should be in the following format:
 18133  	//
 18134  	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
 18135  	//
 18136  	// For more information about custom JSON, see Use Custom JSON to Modify the
 18137  	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
 18138  	CustomJson *string `type:"string"`
 18139  
 18140  	// The stack's default Availability Zone, which must be in the stack's region.
 18141  	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 18142  	// If you also specify a value for DefaultSubnetId, the subnet must be in the
 18143  	// same zone. For more information, see CreateStack.
 18144  	DefaultAvailabilityZone *string `type:"string"`
 18145  
 18146  	// The ARN of an IAM profile that is the default profile for all of the stack's
 18147  	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
 18148  	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
 18149  	DefaultInstanceProfileArn *string `type:"string"`
 18150  
 18151  	// The stack's operating system, which must be set to one of the following:
 18152  	//
 18153  	//    * A supported Linux operating system: An Amazon Linux version, such as
 18154  	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
 18155  	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
 18156  	//    2015.03.
 18157  	//
 18158  	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
 18159  	//    14.04 LTS, or Ubuntu 12.04 LTS.
 18160  	//
 18161  	//    * CentOS Linux 7
 18162  	//
 18163  	//    * Red Hat Enterprise Linux 7
 18164  	//
 18165  	//    * A supported Windows operating system, such as Microsoft Windows Server
 18166  	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
 18167  	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
 18168  	//    Windows Server 2012 R2 with SQL Server Web.
 18169  	//
 18170  	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
 18171  	//    you create instances. For more information about how to use custom AMIs
 18172  	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
 18173  	//
 18174  	// The default option is the stack's current operating system. For more information
 18175  	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
 18176  	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
 18177  	DefaultOs *string `type:"string"`
 18178  
 18179  	// The default root device type. This value is used by default for all instances
 18180  	// in the stack, but you can override it when you create an instance. For more
 18181  	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
 18182  	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
 18183  
 18184  	// A default Amazon EC2 key-pair name. The default value is none. If you specify
 18185  	// a key-pair name, AWS OpsWorks Stacks installs the public key on the instance
 18186  	// and you can use the private key with an SSH client to log in to the instance.
 18187  	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
 18188  	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
 18189  	// You can override this setting by specifying a different key pair, or no key
 18190  	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
 18191  	DefaultSshKeyName *string `type:"string"`
 18192  
 18193  	// The stack's default VPC subnet ID. This parameter is required if you specify
 18194  	// a value for the VpcId parameter. All instances are launched into this subnet
 18195  	// unless you specify otherwise when you create the instance. If you also specify
 18196  	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
 18197  	// information on default values and when this parameter is required, see the
 18198  	// VpcId parameter description.
 18199  	DefaultSubnetId *string `type:"string"`
 18200  
 18201  	// The stack's new host name theme, with spaces replaced by underscores. The
 18202  	// theme is used to generate host names for the stack's instances. By default,
 18203  	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
 18204  	// integers to the layer's short name. The other themes are:
 18205  	//
 18206  	//    * Baked_Goods
 18207  	//
 18208  	//    * Clouds
 18209  	//
 18210  	//    * Europe_Cities
 18211  	//
 18212  	//    * Fruits
 18213  	//
 18214  	//    * Greek_Deities_and_Titans
 18215  	//
 18216  	//    * Legendary_creatures_from_Japan
 18217  	//
 18218  	//    * Planets_and_Moons
 18219  	//
 18220  	//    * Roman_Deities
 18221  	//
 18222  	//    * Scottish_Islands
 18223  	//
 18224  	//    * US_Cities
 18225  	//
 18226  	//    * Wild_Cats
 18227  	//
 18228  	// To obtain a generated host name, call GetHostNameSuggestion, which returns
 18229  	// a host name based on the current theme.
 18230  	HostnameTheme *string `type:"string"`
 18231  
 18232  	// The stack's new name.
 18233  	Name *string `type:"string"`
 18234  
 18235  	// Do not use this parameter. You cannot update a stack's service role.
 18236  	ServiceRoleArn *string `type:"string"`
 18237  
 18238  	// The stack ID.
 18239  	//
 18240  	// StackId is a required field
 18241  	StackId *string `type:"string" required:"true"`
 18242  
 18243  	// Whether the stack uses custom cookbooks.
 18244  	UseCustomCookbooks *bool `type:"boolean"`
 18245  
 18246  	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
 18247  	// the stack's layers.
 18248  	//
 18249  	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
 18250  	// one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups
 18251  	// allows you to provide your own custom security groups instead of using the
 18252  	// built-in groups. UseOpsworksSecurityGroups has the following settings:
 18253  	//
 18254  	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
 18255  	//    built-in security group with each layer (default setting). You can associate
 18256  	//    additional security groups with a layer after you create it, but you cannot
 18257  	//    delete the built-in security group.
 18258  	//
 18259  	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
 18260  	//    with layers. You must create appropriate EC2 security groups and associate
 18261  	//    a security group with each layer that you create. However, you can still
 18262  	//    manually associate a built-in security group with a layer on. Custom security
 18263  	//    groups are required only for those layers that need custom settings.
 18264  	//
 18265  	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
 18266  	UseOpsworksSecurityGroups *bool `type:"boolean"`
 18267  }
 18268  
 18269  // String returns the string representation.
 18270  //
 18271  // API parameter values that are decorated as "sensitive" in the API will not
 18272  // be included in the string output. The member name will be present, but the
 18273  // value will be replaced with "sensitive".
 18274  func (s UpdateStackInput) String() string {
 18275  	return awsutil.Prettify(s)
 18276  }
 18277  
 18278  // GoString returns the string representation.
 18279  //
 18280  // API parameter values that are decorated as "sensitive" in the API will not
 18281  // be included in the string output. The member name will be present, but the
 18282  // value will be replaced with "sensitive".
 18283  func (s UpdateStackInput) GoString() string {
 18284  	return s.String()
 18285  }
 18286  
 18287  // Validate inspects the fields of the type to determine if they are valid.
 18288  func (s *UpdateStackInput) Validate() error {
 18289  	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
 18290  	if s.StackId == nil {
 18291  		invalidParams.Add(request.NewErrParamRequired("StackId"))
 18292  	}
 18293  
 18294  	if invalidParams.Len() > 0 {
 18295  		return invalidParams
 18296  	}
 18297  	return nil
 18298  }
 18299  
 18300  // SetAgentVersion sets the AgentVersion field's value.
 18301  func (s *UpdateStackInput) SetAgentVersion(v string) *UpdateStackInput {
 18302  	s.AgentVersion = &v
 18303  	return s
 18304  }
 18305  
 18306  // SetAttributes sets the Attributes field's value.
 18307  func (s *UpdateStackInput) SetAttributes(v map[string]*string) *UpdateStackInput {
 18308  	s.Attributes = v
 18309  	return s
 18310  }
 18311  
 18312  // SetChefConfiguration sets the ChefConfiguration field's value.
 18313  func (s *UpdateStackInput) SetChefConfiguration(v *ChefConfiguration) *UpdateStackInput {
 18314  	s.ChefConfiguration = v
 18315  	return s
 18316  }
 18317  
 18318  // SetConfigurationManager sets the ConfigurationManager field's value.
 18319  func (s *UpdateStackInput) SetConfigurationManager(v *StackConfigurationManager) *UpdateStackInput {
 18320  	s.ConfigurationManager = v
 18321  	return s
 18322  }
 18323  
 18324  // SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
 18325  func (s *UpdateStackInput) SetCustomCookbooksSource(v *Source) *UpdateStackInput {
 18326  	s.CustomCookbooksSource = v
 18327  	return s
 18328  }
 18329  
 18330  // SetCustomJson sets the CustomJson field's value.
 18331  func (s *UpdateStackInput) SetCustomJson(v string) *UpdateStackInput {
 18332  	s.CustomJson = &v
 18333  	return s
 18334  }
 18335  
 18336  // SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
 18337  func (s *UpdateStackInput) SetDefaultAvailabilityZone(v string) *UpdateStackInput {
 18338  	s.DefaultAvailabilityZone = &v
 18339  	return s
 18340  }
 18341  
 18342  // SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
 18343  func (s *UpdateStackInput) SetDefaultInstanceProfileArn(v string) *UpdateStackInput {
 18344  	s.DefaultInstanceProfileArn = &v
 18345  	return s
 18346  }
 18347  
 18348  // SetDefaultOs sets the DefaultOs field's value.
 18349  func (s *UpdateStackInput) SetDefaultOs(v string) *UpdateStackInput {
 18350  	s.DefaultOs = &v
 18351  	return s
 18352  }
 18353  
 18354  // SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
 18355  func (s *UpdateStackInput) SetDefaultRootDeviceType(v string) *UpdateStackInput {
 18356  	s.DefaultRootDeviceType = &v
 18357  	return s
 18358  }
 18359  
 18360  // SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
 18361  func (s *UpdateStackInput) SetDefaultSshKeyName(v string) *UpdateStackInput {
 18362  	s.DefaultSshKeyName = &v
 18363  	return s
 18364  }
 18365  
 18366  // SetDefaultSubnetId sets the DefaultSubnetId field's value.
 18367  func (s *UpdateStackInput) SetDefaultSubnetId(v string) *UpdateStackInput {
 18368  	s.DefaultSubnetId = &v
 18369  	return s
 18370  }
 18371  
 18372  // SetHostnameTheme sets the HostnameTheme field's value.
 18373  func (s *UpdateStackInput) SetHostnameTheme(v string) *UpdateStackInput {
 18374  	s.HostnameTheme = &v
 18375  	return s
 18376  }
 18377  
 18378  // SetName sets the Name field's value.
 18379  func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
 18380  	s.Name = &v
 18381  	return s
 18382  }
 18383  
 18384  // SetServiceRoleArn sets the ServiceRoleArn field's value.
 18385  func (s *UpdateStackInput) SetServiceRoleArn(v string) *UpdateStackInput {
 18386  	s.ServiceRoleArn = &v
 18387  	return s
 18388  }
 18389  
 18390  // SetStackId sets the StackId field's value.
 18391  func (s *UpdateStackInput) SetStackId(v string) *UpdateStackInput {
 18392  	s.StackId = &v
 18393  	return s
 18394  }
 18395  
 18396  // SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
 18397  func (s *UpdateStackInput) SetUseCustomCookbooks(v bool) *UpdateStackInput {
 18398  	s.UseCustomCookbooks = &v
 18399  	return s
 18400  }
 18401  
 18402  // SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
 18403  func (s *UpdateStackInput) SetUseOpsworksSecurityGroups(v bool) *UpdateStackInput {
 18404  	s.UseOpsworksSecurityGroups = &v
 18405  	return s
 18406  }
 18407  
 18408  type UpdateStackOutput struct {
 18409  	_ struct{} `type:"structure"`
 18410  }
 18411  
 18412  // String returns the string representation.
 18413  //
 18414  // API parameter values that are decorated as "sensitive" in the API will not
 18415  // be included in the string output. The member name will be present, but the
 18416  // value will be replaced with "sensitive".
 18417  func (s UpdateStackOutput) String() string {
 18418  	return awsutil.Prettify(s)
 18419  }
 18420  
 18421  // GoString returns the string representation.
 18422  //
 18423  // API parameter values that are decorated as "sensitive" in the API will not
 18424  // be included in the string output. The member name will be present, but the
 18425  // value will be replaced with "sensitive".
 18426  func (s UpdateStackOutput) GoString() string {
 18427  	return s.String()
 18428  }
 18429  
 18430  type UpdateUserProfileInput struct {
 18431  	_ struct{} `type:"structure"`
 18432  
 18433  	// Whether users can specify their own SSH public key through the My Settings
 18434  	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
 18435  	AllowSelfManagement *bool `type:"boolean"`
 18436  
 18437  	// The user IAM ARN. This can also be a federated user's ARN.
 18438  	//
 18439  	// IamUserArn is a required field
 18440  	IamUserArn *string `type:"string" required:"true"`
 18441  
 18442  	// The user's new SSH public key.
 18443  	SshPublicKey *string `type:"string"`
 18444  
 18445  	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
 18446  	// '-', and '_'. If the specified name includes other punctuation marks, AWS
 18447  	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
 18448  	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
 18449  	// from the IAM user name.
 18450  	SshUsername *string `type:"string"`
 18451  }
 18452  
 18453  // String returns the string representation.
 18454  //
 18455  // API parameter values that are decorated as "sensitive" in the API will not
 18456  // be included in the string output. The member name will be present, but the
 18457  // value will be replaced with "sensitive".
 18458  func (s UpdateUserProfileInput) String() string {
 18459  	return awsutil.Prettify(s)
 18460  }
 18461  
 18462  // GoString returns the string representation.
 18463  //
 18464  // API parameter values that are decorated as "sensitive" in the API will not
 18465  // be included in the string output. The member name will be present, but the
 18466  // value will be replaced with "sensitive".
 18467  func (s UpdateUserProfileInput) GoString() string {
 18468  	return s.String()
 18469  }
 18470  
 18471  // Validate inspects the fields of the type to determine if they are valid.
 18472  func (s *UpdateUserProfileInput) Validate() error {
 18473  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserProfileInput"}
 18474  	if s.IamUserArn == nil {
 18475  		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
 18476  	}
 18477  
 18478  	if invalidParams.Len() > 0 {
 18479  		return invalidParams
 18480  	}
 18481  	return nil
 18482  }
 18483  
 18484  // SetAllowSelfManagement sets the AllowSelfManagement field's value.
 18485  func (s *UpdateUserProfileInput) SetAllowSelfManagement(v bool) *UpdateUserProfileInput {
 18486  	s.AllowSelfManagement = &v
 18487  	return s
 18488  }
 18489  
 18490  // SetIamUserArn sets the IamUserArn field's value.
 18491  func (s *UpdateUserProfileInput) SetIamUserArn(v string) *UpdateUserProfileInput {
 18492  	s.IamUserArn = &v
 18493  	return s
 18494  }
 18495  
 18496  // SetSshPublicKey sets the SshPublicKey field's value.
 18497  func (s *UpdateUserProfileInput) SetSshPublicKey(v string) *UpdateUserProfileInput {
 18498  	s.SshPublicKey = &v
 18499  	return s
 18500  }
 18501  
 18502  // SetSshUsername sets the SshUsername field's value.
 18503  func (s *UpdateUserProfileInput) SetSshUsername(v string) *UpdateUserProfileInput {
 18504  	s.SshUsername = &v
 18505  	return s
 18506  }
 18507  
 18508  type UpdateUserProfileOutput struct {
 18509  	_ struct{} `type:"structure"`
 18510  }
 18511  
 18512  // String returns the string representation.
 18513  //
 18514  // API parameter values that are decorated as "sensitive" in the API will not
 18515  // be included in the string output. The member name will be present, but the
 18516  // value will be replaced with "sensitive".
 18517  func (s UpdateUserProfileOutput) String() string {
 18518  	return awsutil.Prettify(s)
 18519  }
 18520  
 18521  // GoString returns the string representation.
 18522  //
 18523  // API parameter values that are decorated as "sensitive" in the API will not
 18524  // be included in the string output. The member name will be present, but the
 18525  // value will be replaced with "sensitive".
 18526  func (s UpdateUserProfileOutput) GoString() string {
 18527  	return s.String()
 18528  }
 18529  
 18530  type UpdateVolumeInput struct {
 18531  	_ struct{} `type:"structure"`
 18532  
 18533  	// The new mount point.
 18534  	MountPoint *string `type:"string"`
 18535  
 18536  	// The new name.
 18537  	Name *string `type:"string"`
 18538  
 18539  	// The volume ID.
 18540  	//
 18541  	// VolumeId is a required field
 18542  	VolumeId *string `type:"string" required:"true"`
 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 UpdateVolumeInput) 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 UpdateVolumeInput) GoString() string {
 18560  	return s.String()
 18561  }
 18562  
 18563  // Validate inspects the fields of the type to determine if they are valid.
 18564  func (s *UpdateVolumeInput) Validate() error {
 18565  	invalidParams := request.ErrInvalidParams{Context: "UpdateVolumeInput"}
 18566  	if s.VolumeId == nil {
 18567  		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
 18568  	}
 18569  
 18570  	if invalidParams.Len() > 0 {
 18571  		return invalidParams
 18572  	}
 18573  	return nil
 18574  }
 18575  
 18576  // SetMountPoint sets the MountPoint field's value.
 18577  func (s *UpdateVolumeInput) SetMountPoint(v string) *UpdateVolumeInput {
 18578  	s.MountPoint = &v
 18579  	return s
 18580  }
 18581  
 18582  // SetName sets the Name field's value.
 18583  func (s *UpdateVolumeInput) SetName(v string) *UpdateVolumeInput {
 18584  	s.Name = &v
 18585  	return s
 18586  }
 18587  
 18588  // SetVolumeId sets the VolumeId field's value.
 18589  func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput {
 18590  	s.VolumeId = &v
 18591  	return s
 18592  }
 18593  
 18594  type UpdateVolumeOutput struct {
 18595  	_ struct{} `type:"structure"`
 18596  }
 18597  
 18598  // String returns the string representation.
 18599  //
 18600  // API parameter values that are decorated as "sensitive" in the API will not
 18601  // be included in the string output. The member name will be present, but the
 18602  // value will be replaced with "sensitive".
 18603  func (s UpdateVolumeOutput) String() string {
 18604  	return awsutil.Prettify(s)
 18605  }
 18606  
 18607  // GoString returns the string representation.
 18608  //
 18609  // API parameter values that are decorated as "sensitive" in the API will not
 18610  // be included in the string output. The member name will be present, but the
 18611  // value will be replaced with "sensitive".
 18612  func (s UpdateVolumeOutput) GoString() string {
 18613  	return s.String()
 18614  }
 18615  
 18616  // Describes a user's SSH information.
 18617  type UserProfile struct {
 18618  	_ struct{} `type:"structure"`
 18619  
 18620  	// Whether users can specify their own SSH public key through the My Settings
 18621  	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
 18622  	AllowSelfManagement *bool `type:"boolean"`
 18623  
 18624  	// The user's IAM ARN.
 18625  	IamUserArn *string `type:"string"`
 18626  
 18627  	// The user's name.
 18628  	Name *string `type:"string"`
 18629  
 18630  	// The user's SSH public key.
 18631  	SshPublicKey *string `type:"string"`
 18632  
 18633  	// The user's SSH user name.
 18634  	SshUsername *string `type:"string"`
 18635  }
 18636  
 18637  // String returns the string representation.
 18638  //
 18639  // API parameter values that are decorated as "sensitive" in the API will not
 18640  // be included in the string output. The member name will be present, but the
 18641  // value will be replaced with "sensitive".
 18642  func (s UserProfile) String() string {
 18643  	return awsutil.Prettify(s)
 18644  }
 18645  
 18646  // GoString returns the string representation.
 18647  //
 18648  // API parameter values that are decorated as "sensitive" in the API will not
 18649  // be included in the string output. The member name will be present, but the
 18650  // value will be replaced with "sensitive".
 18651  func (s UserProfile) GoString() string {
 18652  	return s.String()
 18653  }
 18654  
 18655  // SetAllowSelfManagement sets the AllowSelfManagement field's value.
 18656  func (s *UserProfile) SetAllowSelfManagement(v bool) *UserProfile {
 18657  	s.AllowSelfManagement = &v
 18658  	return s
 18659  }
 18660  
 18661  // SetIamUserArn sets the IamUserArn field's value.
 18662  func (s *UserProfile) SetIamUserArn(v string) *UserProfile {
 18663  	s.IamUserArn = &v
 18664  	return s
 18665  }
 18666  
 18667  // SetName sets the Name field's value.
 18668  func (s *UserProfile) SetName(v string) *UserProfile {
 18669  	s.Name = &v
 18670  	return s
 18671  }
 18672  
 18673  // SetSshPublicKey sets the SshPublicKey field's value.
 18674  func (s *UserProfile) SetSshPublicKey(v string) *UserProfile {
 18675  	s.SshPublicKey = &v
 18676  	return s
 18677  }
 18678  
 18679  // SetSshUsername sets the SshUsername field's value.
 18680  func (s *UserProfile) SetSshUsername(v string) *UserProfile {
 18681  	s.SshUsername = &v
 18682  	return s
 18683  }
 18684  
 18685  // Indicates that a request was not valid.
 18686  type ValidationException struct {
 18687  	_            struct{}                  `type:"structure"`
 18688  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18689  
 18690  	// The exception message.
 18691  	Message_ *string `locationName:"message" type:"string"`
 18692  }
 18693  
 18694  // String returns the string representation.
 18695  //
 18696  // API parameter values that are decorated as "sensitive" in the API will not
 18697  // be included in the string output. The member name will be present, but the
 18698  // value will be replaced with "sensitive".
 18699  func (s ValidationException) String() string {
 18700  	return awsutil.Prettify(s)
 18701  }
 18702  
 18703  // GoString returns the string representation.
 18704  //
 18705  // API parameter values that are decorated as "sensitive" in the API will not
 18706  // be included in the string output. The member name will be present, but the
 18707  // value will be replaced with "sensitive".
 18708  func (s ValidationException) GoString() string {
 18709  	return s.String()
 18710  }
 18711  
 18712  func newErrorValidationException(v protocol.ResponseMetadata) error {
 18713  	return &ValidationException{
 18714  		RespMetadata: v,
 18715  	}
 18716  }
 18717  
 18718  // Code returns the exception type name.
 18719  func (s *ValidationException) Code() string {
 18720  	return "ValidationException"
 18721  }
 18722  
 18723  // Message returns the exception's message.
 18724  func (s *ValidationException) Message() string {
 18725  	if s.Message_ != nil {
 18726  		return *s.Message_
 18727  	}
 18728  	return ""
 18729  }
 18730  
 18731  // OrigErr always returns nil, satisfies awserr.Error interface.
 18732  func (s *ValidationException) OrigErr() error {
 18733  	return nil
 18734  }
 18735  
 18736  func (s *ValidationException) Error() string {
 18737  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18738  }
 18739  
 18740  // Status code returns the HTTP status code for the request's response error.
 18741  func (s *ValidationException) StatusCode() int {
 18742  	return s.RespMetadata.StatusCode
 18743  }
 18744  
 18745  // RequestID returns the service's response RequestID for request.
 18746  func (s *ValidationException) RequestID() string {
 18747  	return s.RespMetadata.RequestID
 18748  }
 18749  
 18750  // Describes an instance's Amazon EBS volume.
 18751  type Volume struct {
 18752  	_ struct{} `type:"structure"`
 18753  
 18754  	// The volume Availability Zone. For more information, see Regions and Endpoints
 18755  	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 18756  	AvailabilityZone *string `type:"string"`
 18757  
 18758  	// The device name.
 18759  	Device *string `type:"string"`
 18760  
 18761  	// The Amazon EC2 volume ID.
 18762  	Ec2VolumeId *string `type:"string"`
 18763  
 18764  	// Specifies whether an Amazon EBS volume is encrypted. For more information,
 18765  	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
 18766  	Encrypted *bool `type:"boolean"`
 18767  
 18768  	// The instance ID.
 18769  	InstanceId *string `type:"string"`
 18770  
 18771  	// For PIOPS volumes, the IOPS per disk.
 18772  	Iops *int64 `type:"integer"`
 18773  
 18774  	// The volume mount point. For example, "/mnt/disk1".
 18775  	MountPoint *string `type:"string"`
 18776  
 18777  	// The volume name.
 18778  	Name *string `type:"string"`
 18779  
 18780  	// The RAID array ID.
 18781  	RaidArrayId *string `type:"string"`
 18782  
 18783  	// The AWS region. For more information about AWS regions, see Regions and Endpoints
 18784  	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
 18785  	Region *string `type:"string"`
 18786  
 18787  	// The volume size.
 18788  	Size *int64 `type:"integer"`
 18789  
 18790  	// The value returned by DescribeVolumes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html).
 18791  	Status *string `type:"string"`
 18792  
 18793  	// The volume ID.
 18794  	VolumeId *string `type:"string"`
 18795  
 18796  	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
 18797  	//
 18798  	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
 18799  	//    GiB and a maximum size of 1024 GiB.
 18800  	//
 18801  	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
 18802  	//    of 4 GiB and a maximum size of 16384 GiB.
 18803  	//
 18804  	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
 18805  	//    size of 1 GiB and a maximum size of 16384 GiB.
 18806  	//
 18807  	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
 18808  	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
 18809  	//    16384 GiB.
 18810  	//
 18811  	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
 18812  	//    and a maximum size of 16384 GiB.
 18813  	VolumeType *string `type:"string"`
 18814  }
 18815  
 18816  // String returns the string representation.
 18817  //
 18818  // API parameter values that are decorated as "sensitive" in the API will not
 18819  // be included in the string output. The member name will be present, but the
 18820  // value will be replaced with "sensitive".
 18821  func (s Volume) String() string {
 18822  	return awsutil.Prettify(s)
 18823  }
 18824  
 18825  // GoString returns the string representation.
 18826  //
 18827  // API parameter values that are decorated as "sensitive" in the API will not
 18828  // be included in the string output. The member name will be present, but the
 18829  // value will be replaced with "sensitive".
 18830  func (s Volume) GoString() string {
 18831  	return s.String()
 18832  }
 18833  
 18834  // SetAvailabilityZone sets the AvailabilityZone field's value.
 18835  func (s *Volume) SetAvailabilityZone(v string) *Volume {
 18836  	s.AvailabilityZone = &v
 18837  	return s
 18838  }
 18839  
 18840  // SetDevice sets the Device field's value.
 18841  func (s *Volume) SetDevice(v string) *Volume {
 18842  	s.Device = &v
 18843  	return s
 18844  }
 18845  
 18846  // SetEc2VolumeId sets the Ec2VolumeId field's value.
 18847  func (s *Volume) SetEc2VolumeId(v string) *Volume {
 18848  	s.Ec2VolumeId = &v
 18849  	return s
 18850  }
 18851  
 18852  // SetEncrypted sets the Encrypted field's value.
 18853  func (s *Volume) SetEncrypted(v bool) *Volume {
 18854  	s.Encrypted = &v
 18855  	return s
 18856  }
 18857  
 18858  // SetInstanceId sets the InstanceId field's value.
 18859  func (s *Volume) SetInstanceId(v string) *Volume {
 18860  	s.InstanceId = &v
 18861  	return s
 18862  }
 18863  
 18864  // SetIops sets the Iops field's value.
 18865  func (s *Volume) SetIops(v int64) *Volume {
 18866  	s.Iops = &v
 18867  	return s
 18868  }
 18869  
 18870  // SetMountPoint sets the MountPoint field's value.
 18871  func (s *Volume) SetMountPoint(v string) *Volume {
 18872  	s.MountPoint = &v
 18873  	return s
 18874  }
 18875  
 18876  // SetName sets the Name field's value.
 18877  func (s *Volume) SetName(v string) *Volume {
 18878  	s.Name = &v
 18879  	return s
 18880  }
 18881  
 18882  // SetRaidArrayId sets the RaidArrayId field's value.
 18883  func (s *Volume) SetRaidArrayId(v string) *Volume {
 18884  	s.RaidArrayId = &v
 18885  	return s
 18886  }
 18887  
 18888  // SetRegion sets the Region field's value.
 18889  func (s *Volume) SetRegion(v string) *Volume {
 18890  	s.Region = &v
 18891  	return s
 18892  }
 18893  
 18894  // SetSize sets the Size field's value.
 18895  func (s *Volume) SetSize(v int64) *Volume {
 18896  	s.Size = &v
 18897  	return s
 18898  }
 18899  
 18900  // SetStatus sets the Status field's value.
 18901  func (s *Volume) SetStatus(v string) *Volume {
 18902  	s.Status = &v
 18903  	return s
 18904  }
 18905  
 18906  // SetVolumeId sets the VolumeId field's value.
 18907  func (s *Volume) SetVolumeId(v string) *Volume {
 18908  	s.VolumeId = &v
 18909  	return s
 18910  }
 18911  
 18912  // SetVolumeType sets the VolumeType field's value.
 18913  func (s *Volume) SetVolumeType(v string) *Volume {
 18914  	s.VolumeType = &v
 18915  	return s
 18916  }
 18917  
 18918  // Describes an Amazon EBS volume configuration.
 18919  type VolumeConfiguration struct {
 18920  	_ struct{} `type:"structure"`
 18921  
 18922  	// Specifies whether an Amazon EBS volume is encrypted. For more information,
 18923  	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
 18924  	Encrypted *bool `type:"boolean"`
 18925  
 18926  	// For PIOPS volumes, the IOPS per disk.
 18927  	Iops *int64 `type:"integer"`
 18928  
 18929  	// The volume mount point. For example "/dev/sdh".
 18930  	//
 18931  	// MountPoint is a required field
 18932  	MountPoint *string `type:"string" required:"true"`
 18933  
 18934  	// The number of disks in the volume.
 18935  	//
 18936  	// NumberOfDisks is a required field
 18937  	NumberOfDisks *int64 `type:"integer" required:"true"`
 18938  
 18939  	// The volume RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
 18940  	RaidLevel *int64 `type:"integer"`
 18941  
 18942  	// The volume size.
 18943  	//
 18944  	// Size is a required field
 18945  	Size *int64 `type:"integer" required:"true"`
 18946  
 18947  	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
 18948  	//
 18949  	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
 18950  	//    GiB and a maximum size of 1024 GiB.
 18951  	//
 18952  	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
 18953  	//    of 4 GiB and a maximum size of 16384 GiB.
 18954  	//
 18955  	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
 18956  	//    size of 1 GiB and a maximum size of 16384 GiB.
 18957  	//
 18958  	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
 18959  	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
 18960  	//    16384 GiB.
 18961  	//
 18962  	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
 18963  	//    and a maximum size of 16384 GiB.
 18964  	VolumeType *string `type:"string"`
 18965  }
 18966  
 18967  // String returns the string representation.
 18968  //
 18969  // API parameter values that are decorated as "sensitive" in the API will not
 18970  // be included in the string output. The member name will be present, but the
 18971  // value will be replaced with "sensitive".
 18972  func (s VolumeConfiguration) String() string {
 18973  	return awsutil.Prettify(s)
 18974  }
 18975  
 18976  // GoString returns the string representation.
 18977  //
 18978  // API parameter values that are decorated as "sensitive" in the API will not
 18979  // be included in the string output. The member name will be present, but the
 18980  // value will be replaced with "sensitive".
 18981  func (s VolumeConfiguration) GoString() string {
 18982  	return s.String()
 18983  }
 18984  
 18985  // Validate inspects the fields of the type to determine if they are valid.
 18986  func (s *VolumeConfiguration) Validate() error {
 18987  	invalidParams := request.ErrInvalidParams{Context: "VolumeConfiguration"}
 18988  	if s.MountPoint == nil {
 18989  		invalidParams.Add(request.NewErrParamRequired("MountPoint"))
 18990  	}
 18991  	if s.NumberOfDisks == nil {
 18992  		invalidParams.Add(request.NewErrParamRequired("NumberOfDisks"))
 18993  	}
 18994  	if s.Size == nil {
 18995  		invalidParams.Add(request.NewErrParamRequired("Size"))
 18996  	}
 18997  
 18998  	if invalidParams.Len() > 0 {
 18999  		return invalidParams
 19000  	}
 19001  	return nil
 19002  }
 19003  
 19004  // SetEncrypted sets the Encrypted field's value.
 19005  func (s *VolumeConfiguration) SetEncrypted(v bool) *VolumeConfiguration {
 19006  	s.Encrypted = &v
 19007  	return s
 19008  }
 19009  
 19010  // SetIops sets the Iops field's value.
 19011  func (s *VolumeConfiguration) SetIops(v int64) *VolumeConfiguration {
 19012  	s.Iops = &v
 19013  	return s
 19014  }
 19015  
 19016  // SetMountPoint sets the MountPoint field's value.
 19017  func (s *VolumeConfiguration) SetMountPoint(v string) *VolumeConfiguration {
 19018  	s.MountPoint = &v
 19019  	return s
 19020  }
 19021  
 19022  // SetNumberOfDisks sets the NumberOfDisks field's value.
 19023  func (s *VolumeConfiguration) SetNumberOfDisks(v int64) *VolumeConfiguration {
 19024  	s.NumberOfDisks = &v
 19025  	return s
 19026  }
 19027  
 19028  // SetRaidLevel sets the RaidLevel field's value.
 19029  func (s *VolumeConfiguration) SetRaidLevel(v int64) *VolumeConfiguration {
 19030  	s.RaidLevel = &v
 19031  	return s
 19032  }
 19033  
 19034  // SetSize sets the Size field's value.
 19035  func (s *VolumeConfiguration) SetSize(v int64) *VolumeConfiguration {
 19036  	s.Size = &v
 19037  	return s
 19038  }
 19039  
 19040  // SetVolumeType sets the VolumeType field's value.
 19041  func (s *VolumeConfiguration) SetVolumeType(v string) *VolumeConfiguration {
 19042  	s.VolumeType = &v
 19043  	return s
 19044  }
 19045  
 19046  // Describes a time-based instance's auto scaling schedule. The schedule consists
 19047  // of a set of key-value pairs.
 19048  //
 19049  //    * The key is the time period (a UTC hour) and must be an integer from
 19050  //    0 - 23.
 19051  //
 19052  //    * The value indicates whether the instance should be online or offline
 19053  //    for the specified period, and must be set to "on" or "off"
 19054  //
 19055  // The default setting for all time periods is off, so you use the following
 19056  // parameters primarily to specify the online periods. You don't have to explicitly
 19057  // specify offline periods unless you want to change an online period to an
 19058  // offline period.
 19059  //
 19060  // The following example specifies that the instance should be online for four
 19061  // hours, from UTC 1200 - 1600. It will be off for the remainder of the day.
 19062  //
 19063  // { "12":"on", "13":"on", "14":"on", "15":"on" }
 19064  type WeeklyAutoScalingSchedule struct {
 19065  	_ struct{} `type:"structure"`
 19066  
 19067  	// The schedule for Friday.
 19068  	Friday map[string]*string `type:"map"`
 19069  
 19070  	// The schedule for Monday.
 19071  	Monday map[string]*string `type:"map"`
 19072  
 19073  	// The schedule for Saturday.
 19074  	Saturday map[string]*string `type:"map"`
 19075  
 19076  	// The schedule for Sunday.
 19077  	Sunday map[string]*string `type:"map"`
 19078  
 19079  	// The schedule for Thursday.
 19080  	Thursday map[string]*string `type:"map"`
 19081  
 19082  	// The schedule for Tuesday.
 19083  	Tuesday map[string]*string `type:"map"`
 19084  
 19085  	// The schedule for Wednesday.
 19086  	Wednesday map[string]*string `type:"map"`
 19087  }
 19088  
 19089  // String returns the string representation.
 19090  //
 19091  // API parameter values that are decorated as "sensitive" in the API will not
 19092  // be included in the string output. The member name will be present, but the
 19093  // value will be replaced with "sensitive".
 19094  func (s WeeklyAutoScalingSchedule) String() string {
 19095  	return awsutil.Prettify(s)
 19096  }
 19097  
 19098  // GoString returns the string representation.
 19099  //
 19100  // API parameter values that are decorated as "sensitive" in the API will not
 19101  // be included in the string output. The member name will be present, but the
 19102  // value will be replaced with "sensitive".
 19103  func (s WeeklyAutoScalingSchedule) GoString() string {
 19104  	return s.String()
 19105  }
 19106  
 19107  // SetFriday sets the Friday field's value.
 19108  func (s *WeeklyAutoScalingSchedule) SetFriday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19109  	s.Friday = v
 19110  	return s
 19111  }
 19112  
 19113  // SetMonday sets the Monday field's value.
 19114  func (s *WeeklyAutoScalingSchedule) SetMonday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19115  	s.Monday = v
 19116  	return s
 19117  }
 19118  
 19119  // SetSaturday sets the Saturday field's value.
 19120  func (s *WeeklyAutoScalingSchedule) SetSaturday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19121  	s.Saturday = v
 19122  	return s
 19123  }
 19124  
 19125  // SetSunday sets the Sunday field's value.
 19126  func (s *WeeklyAutoScalingSchedule) SetSunday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19127  	s.Sunday = v
 19128  	return s
 19129  }
 19130  
 19131  // SetThursday sets the Thursday field's value.
 19132  func (s *WeeklyAutoScalingSchedule) SetThursday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19133  	s.Thursday = v
 19134  	return s
 19135  }
 19136  
 19137  // SetTuesday sets the Tuesday field's value.
 19138  func (s *WeeklyAutoScalingSchedule) SetTuesday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19139  	s.Tuesday = v
 19140  	return s
 19141  }
 19142  
 19143  // SetWednesday sets the Wednesday field's value.
 19144  func (s *WeeklyAutoScalingSchedule) SetWednesday(v map[string]*string) *WeeklyAutoScalingSchedule {
 19145  	s.Wednesday = v
 19146  	return s
 19147  }
 19148  
 19149  const (
 19150  	// AppAttributesKeysDocumentRoot is a AppAttributesKeys enum value
 19151  	AppAttributesKeysDocumentRoot = "DocumentRoot"
 19152  
 19153  	// AppAttributesKeysRailsEnv is a AppAttributesKeys enum value
 19154  	AppAttributesKeysRailsEnv = "RailsEnv"
 19155  
 19156  	// AppAttributesKeysAutoBundleOnDeploy is a AppAttributesKeys enum value
 19157  	AppAttributesKeysAutoBundleOnDeploy = "AutoBundleOnDeploy"
 19158  
 19159  	// AppAttributesKeysAwsFlowRubySettings is a AppAttributesKeys enum value
 19160  	AppAttributesKeysAwsFlowRubySettings = "AwsFlowRubySettings"
 19161  )
 19162  
 19163  // AppAttributesKeys_Values returns all elements of the AppAttributesKeys enum
 19164  func AppAttributesKeys_Values() []string {
 19165  	return []string{
 19166  		AppAttributesKeysDocumentRoot,
 19167  		AppAttributesKeysRailsEnv,
 19168  		AppAttributesKeysAutoBundleOnDeploy,
 19169  		AppAttributesKeysAwsFlowRubySettings,
 19170  	}
 19171  }
 19172  
 19173  const (
 19174  	// AppTypeAwsFlowRuby is a AppType enum value
 19175  	AppTypeAwsFlowRuby = "aws-flow-ruby"
 19176  
 19177  	// AppTypeJava is a AppType enum value
 19178  	AppTypeJava = "java"
 19179  
 19180  	// AppTypeRails is a AppType enum value
 19181  	AppTypeRails = "rails"
 19182  
 19183  	// AppTypePhp is a AppType enum value
 19184  	AppTypePhp = "php"
 19185  
 19186  	// AppTypeNodejs is a AppType enum value
 19187  	AppTypeNodejs = "nodejs"
 19188  
 19189  	// AppTypeStatic is a AppType enum value
 19190  	AppTypeStatic = "static"
 19191  
 19192  	// AppTypeOther is a AppType enum value
 19193  	AppTypeOther = "other"
 19194  )
 19195  
 19196  // AppType_Values returns all elements of the AppType enum
 19197  func AppType_Values() []string {
 19198  	return []string{
 19199  		AppTypeAwsFlowRuby,
 19200  		AppTypeJava,
 19201  		AppTypeRails,
 19202  		AppTypePhp,
 19203  		AppTypeNodejs,
 19204  		AppTypeStatic,
 19205  		AppTypeOther,
 19206  	}
 19207  }
 19208  
 19209  const (
 19210  	// ArchitectureX8664 is a Architecture enum value
 19211  	ArchitectureX8664 = "x86_64"
 19212  
 19213  	// ArchitectureI386 is a Architecture enum value
 19214  	ArchitectureI386 = "i386"
 19215  )
 19216  
 19217  // Architecture_Values returns all elements of the Architecture enum
 19218  func Architecture_Values() []string {
 19219  	return []string{
 19220  		ArchitectureX8664,
 19221  		ArchitectureI386,
 19222  	}
 19223  }
 19224  
 19225  const (
 19226  	// AutoScalingTypeLoad is a AutoScalingType enum value
 19227  	AutoScalingTypeLoad = "load"
 19228  
 19229  	// AutoScalingTypeTimer is a AutoScalingType enum value
 19230  	AutoScalingTypeTimer = "timer"
 19231  )
 19232  
 19233  // AutoScalingType_Values returns all elements of the AutoScalingType enum
 19234  func AutoScalingType_Values() []string {
 19235  	return []string{
 19236  		AutoScalingTypeLoad,
 19237  		AutoScalingTypeTimer,
 19238  	}
 19239  }
 19240  
 19241  // Specifies the encoding of the log file so that the file can be read correctly.
 19242  // The default is utf_8. Encodings supported by Python codecs.decode() can be
 19243  // used here.
 19244  const (
 19245  	// CloudWatchLogsEncodingAscii is a CloudWatchLogsEncoding enum value
 19246  	CloudWatchLogsEncodingAscii = "ascii"
 19247  
 19248  	// CloudWatchLogsEncodingBig5 is a CloudWatchLogsEncoding enum value
 19249  	CloudWatchLogsEncodingBig5 = "big5"
 19250  
 19251  	// CloudWatchLogsEncodingBig5hkscs is a CloudWatchLogsEncoding enum value
 19252  	CloudWatchLogsEncodingBig5hkscs = "big5hkscs"
 19253  
 19254  	// CloudWatchLogsEncodingCp037 is a CloudWatchLogsEncoding enum value
 19255  	CloudWatchLogsEncodingCp037 = "cp037"
 19256  
 19257  	// CloudWatchLogsEncodingCp424 is a CloudWatchLogsEncoding enum value
 19258  	CloudWatchLogsEncodingCp424 = "cp424"
 19259  
 19260  	// CloudWatchLogsEncodingCp437 is a CloudWatchLogsEncoding enum value
 19261  	CloudWatchLogsEncodingCp437 = "cp437"
 19262  
 19263  	// CloudWatchLogsEncodingCp500 is a CloudWatchLogsEncoding enum value
 19264  	CloudWatchLogsEncodingCp500 = "cp500"
 19265  
 19266  	// CloudWatchLogsEncodingCp720 is a CloudWatchLogsEncoding enum value
 19267  	CloudWatchLogsEncodingCp720 = "cp720"
 19268  
 19269  	// CloudWatchLogsEncodingCp737 is a CloudWatchLogsEncoding enum value
 19270  	CloudWatchLogsEncodingCp737 = "cp737"
 19271  
 19272  	// CloudWatchLogsEncodingCp775 is a CloudWatchLogsEncoding enum value
 19273  	CloudWatchLogsEncodingCp775 = "cp775"
 19274  
 19275  	// CloudWatchLogsEncodingCp850 is a CloudWatchLogsEncoding enum value
 19276  	CloudWatchLogsEncodingCp850 = "cp850"
 19277  
 19278  	// CloudWatchLogsEncodingCp852 is a CloudWatchLogsEncoding enum value
 19279  	CloudWatchLogsEncodingCp852 = "cp852"
 19280  
 19281  	// CloudWatchLogsEncodingCp855 is a CloudWatchLogsEncoding enum value
 19282  	CloudWatchLogsEncodingCp855 = "cp855"
 19283  
 19284  	// CloudWatchLogsEncodingCp856 is a CloudWatchLogsEncoding enum value
 19285  	CloudWatchLogsEncodingCp856 = "cp856"
 19286  
 19287  	// CloudWatchLogsEncodingCp857 is a CloudWatchLogsEncoding enum value
 19288  	CloudWatchLogsEncodingCp857 = "cp857"
 19289  
 19290  	// CloudWatchLogsEncodingCp858 is a CloudWatchLogsEncoding enum value
 19291  	CloudWatchLogsEncodingCp858 = "cp858"
 19292  
 19293  	// CloudWatchLogsEncodingCp860 is a CloudWatchLogsEncoding enum value
 19294  	CloudWatchLogsEncodingCp860 = "cp860"
 19295  
 19296  	// CloudWatchLogsEncodingCp861 is a CloudWatchLogsEncoding enum value
 19297  	CloudWatchLogsEncodingCp861 = "cp861"
 19298  
 19299  	// CloudWatchLogsEncodingCp862 is a CloudWatchLogsEncoding enum value
 19300  	CloudWatchLogsEncodingCp862 = "cp862"
 19301  
 19302  	// CloudWatchLogsEncodingCp863 is a CloudWatchLogsEncoding enum value
 19303  	CloudWatchLogsEncodingCp863 = "cp863"
 19304  
 19305  	// CloudWatchLogsEncodingCp864 is a CloudWatchLogsEncoding enum value
 19306  	CloudWatchLogsEncodingCp864 = "cp864"
 19307  
 19308  	// CloudWatchLogsEncodingCp865 is a CloudWatchLogsEncoding enum value
 19309  	CloudWatchLogsEncodingCp865 = "cp865"
 19310  
 19311  	// CloudWatchLogsEncodingCp866 is a CloudWatchLogsEncoding enum value
 19312  	CloudWatchLogsEncodingCp866 = "cp866"
 19313  
 19314  	// CloudWatchLogsEncodingCp869 is a CloudWatchLogsEncoding enum value
 19315  	CloudWatchLogsEncodingCp869 = "cp869"
 19316  
 19317  	// CloudWatchLogsEncodingCp874 is a CloudWatchLogsEncoding enum value
 19318  	CloudWatchLogsEncodingCp874 = "cp874"
 19319  
 19320  	// CloudWatchLogsEncodingCp875 is a CloudWatchLogsEncoding enum value
 19321  	CloudWatchLogsEncodingCp875 = "cp875"
 19322  
 19323  	// CloudWatchLogsEncodingCp932 is a CloudWatchLogsEncoding enum value
 19324  	CloudWatchLogsEncodingCp932 = "cp932"
 19325  
 19326  	// CloudWatchLogsEncodingCp949 is a CloudWatchLogsEncoding enum value
 19327  	CloudWatchLogsEncodingCp949 = "cp949"
 19328  
 19329  	// CloudWatchLogsEncodingCp950 is a CloudWatchLogsEncoding enum value
 19330  	CloudWatchLogsEncodingCp950 = "cp950"
 19331  
 19332  	// CloudWatchLogsEncodingCp1006 is a CloudWatchLogsEncoding enum value
 19333  	CloudWatchLogsEncodingCp1006 = "cp1006"
 19334  
 19335  	// CloudWatchLogsEncodingCp1026 is a CloudWatchLogsEncoding enum value
 19336  	CloudWatchLogsEncodingCp1026 = "cp1026"
 19337  
 19338  	// CloudWatchLogsEncodingCp1140 is a CloudWatchLogsEncoding enum value
 19339  	CloudWatchLogsEncodingCp1140 = "cp1140"
 19340  
 19341  	// CloudWatchLogsEncodingCp1250 is a CloudWatchLogsEncoding enum value
 19342  	CloudWatchLogsEncodingCp1250 = "cp1250"
 19343  
 19344  	// CloudWatchLogsEncodingCp1251 is a CloudWatchLogsEncoding enum value
 19345  	CloudWatchLogsEncodingCp1251 = "cp1251"
 19346  
 19347  	// CloudWatchLogsEncodingCp1252 is a CloudWatchLogsEncoding enum value
 19348  	CloudWatchLogsEncodingCp1252 = "cp1252"
 19349  
 19350  	// CloudWatchLogsEncodingCp1253 is a CloudWatchLogsEncoding enum value
 19351  	CloudWatchLogsEncodingCp1253 = "cp1253"
 19352  
 19353  	// CloudWatchLogsEncodingCp1254 is a CloudWatchLogsEncoding enum value
 19354  	CloudWatchLogsEncodingCp1254 = "cp1254"
 19355  
 19356  	// CloudWatchLogsEncodingCp1255 is a CloudWatchLogsEncoding enum value
 19357  	CloudWatchLogsEncodingCp1255 = "cp1255"
 19358  
 19359  	// CloudWatchLogsEncodingCp1256 is a CloudWatchLogsEncoding enum value
 19360  	CloudWatchLogsEncodingCp1256 = "cp1256"
 19361  
 19362  	// CloudWatchLogsEncodingCp1257 is a CloudWatchLogsEncoding enum value
 19363  	CloudWatchLogsEncodingCp1257 = "cp1257"
 19364  
 19365  	// CloudWatchLogsEncodingCp1258 is a CloudWatchLogsEncoding enum value
 19366  	CloudWatchLogsEncodingCp1258 = "cp1258"
 19367  
 19368  	// CloudWatchLogsEncodingEucJp is a CloudWatchLogsEncoding enum value
 19369  	CloudWatchLogsEncodingEucJp = "euc_jp"
 19370  
 19371  	// CloudWatchLogsEncodingEucJis2004 is a CloudWatchLogsEncoding enum value
 19372  	CloudWatchLogsEncodingEucJis2004 = "euc_jis_2004"
 19373  
 19374  	// CloudWatchLogsEncodingEucJisx0213 is a CloudWatchLogsEncoding enum value
 19375  	CloudWatchLogsEncodingEucJisx0213 = "euc_jisx0213"
 19376  
 19377  	// CloudWatchLogsEncodingEucKr is a CloudWatchLogsEncoding enum value
 19378  	CloudWatchLogsEncodingEucKr = "euc_kr"
 19379  
 19380  	// CloudWatchLogsEncodingGb2312 is a CloudWatchLogsEncoding enum value
 19381  	CloudWatchLogsEncodingGb2312 = "gb2312"
 19382  
 19383  	// CloudWatchLogsEncodingGbk is a CloudWatchLogsEncoding enum value
 19384  	CloudWatchLogsEncodingGbk = "gbk"
 19385  
 19386  	// CloudWatchLogsEncodingGb18030 is a CloudWatchLogsEncoding enum value
 19387  	CloudWatchLogsEncodingGb18030 = "gb18030"
 19388  
 19389  	// CloudWatchLogsEncodingHz is a CloudWatchLogsEncoding enum value
 19390  	CloudWatchLogsEncodingHz = "hz"
 19391  
 19392  	// CloudWatchLogsEncodingIso2022Jp is a CloudWatchLogsEncoding enum value
 19393  	CloudWatchLogsEncodingIso2022Jp = "iso2022_jp"
 19394  
 19395  	// CloudWatchLogsEncodingIso2022Jp1 is a CloudWatchLogsEncoding enum value
 19396  	CloudWatchLogsEncodingIso2022Jp1 = "iso2022_jp_1"
 19397  
 19398  	// CloudWatchLogsEncodingIso2022Jp2 is a CloudWatchLogsEncoding enum value
 19399  	CloudWatchLogsEncodingIso2022Jp2 = "iso2022_jp_2"
 19400  
 19401  	// CloudWatchLogsEncodingIso2022Jp2004 is a CloudWatchLogsEncoding enum value
 19402  	CloudWatchLogsEncodingIso2022Jp2004 = "iso2022_jp_2004"
 19403  
 19404  	// CloudWatchLogsEncodingIso2022Jp3 is a CloudWatchLogsEncoding enum value
 19405  	CloudWatchLogsEncodingIso2022Jp3 = "iso2022_jp_3"
 19406  
 19407  	// CloudWatchLogsEncodingIso2022JpExt is a CloudWatchLogsEncoding enum value
 19408  	CloudWatchLogsEncodingIso2022JpExt = "iso2022_jp_ext"
 19409  
 19410  	// CloudWatchLogsEncodingIso2022Kr is a CloudWatchLogsEncoding enum value
 19411  	CloudWatchLogsEncodingIso2022Kr = "iso2022_kr"
 19412  
 19413  	// CloudWatchLogsEncodingLatin1 is a CloudWatchLogsEncoding enum value
 19414  	CloudWatchLogsEncodingLatin1 = "latin_1"
 19415  
 19416  	// CloudWatchLogsEncodingIso88592 is a CloudWatchLogsEncoding enum value
 19417  	CloudWatchLogsEncodingIso88592 = "iso8859_2"
 19418  
 19419  	// CloudWatchLogsEncodingIso88593 is a CloudWatchLogsEncoding enum value
 19420  	CloudWatchLogsEncodingIso88593 = "iso8859_3"
 19421  
 19422  	// CloudWatchLogsEncodingIso88594 is a CloudWatchLogsEncoding enum value
 19423  	CloudWatchLogsEncodingIso88594 = "iso8859_4"
 19424  
 19425  	// CloudWatchLogsEncodingIso88595 is a CloudWatchLogsEncoding enum value
 19426  	CloudWatchLogsEncodingIso88595 = "iso8859_5"
 19427  
 19428  	// CloudWatchLogsEncodingIso88596 is a CloudWatchLogsEncoding enum value
 19429  	CloudWatchLogsEncodingIso88596 = "iso8859_6"
 19430  
 19431  	// CloudWatchLogsEncodingIso88597 is a CloudWatchLogsEncoding enum value
 19432  	CloudWatchLogsEncodingIso88597 = "iso8859_7"
 19433  
 19434  	// CloudWatchLogsEncodingIso88598 is a CloudWatchLogsEncoding enum value
 19435  	CloudWatchLogsEncodingIso88598 = "iso8859_8"
 19436  
 19437  	// CloudWatchLogsEncodingIso88599 is a CloudWatchLogsEncoding enum value
 19438  	CloudWatchLogsEncodingIso88599 = "iso8859_9"
 19439  
 19440  	// CloudWatchLogsEncodingIso885910 is a CloudWatchLogsEncoding enum value
 19441  	CloudWatchLogsEncodingIso885910 = "iso8859_10"
 19442  
 19443  	// CloudWatchLogsEncodingIso885913 is a CloudWatchLogsEncoding enum value
 19444  	CloudWatchLogsEncodingIso885913 = "iso8859_13"
 19445  
 19446  	// CloudWatchLogsEncodingIso885914 is a CloudWatchLogsEncoding enum value
 19447  	CloudWatchLogsEncodingIso885914 = "iso8859_14"
 19448  
 19449  	// CloudWatchLogsEncodingIso885915 is a CloudWatchLogsEncoding enum value
 19450  	CloudWatchLogsEncodingIso885915 = "iso8859_15"
 19451  
 19452  	// CloudWatchLogsEncodingIso885916 is a CloudWatchLogsEncoding enum value
 19453  	CloudWatchLogsEncodingIso885916 = "iso8859_16"
 19454  
 19455  	// CloudWatchLogsEncodingJohab is a CloudWatchLogsEncoding enum value
 19456  	CloudWatchLogsEncodingJohab = "johab"
 19457  
 19458  	// CloudWatchLogsEncodingKoi8R is a CloudWatchLogsEncoding enum value
 19459  	CloudWatchLogsEncodingKoi8R = "koi8_r"
 19460  
 19461  	// CloudWatchLogsEncodingKoi8U is a CloudWatchLogsEncoding enum value
 19462  	CloudWatchLogsEncodingKoi8U = "koi8_u"
 19463  
 19464  	// CloudWatchLogsEncodingMacCyrillic is a CloudWatchLogsEncoding enum value
 19465  	CloudWatchLogsEncodingMacCyrillic = "mac_cyrillic"
 19466  
 19467  	// CloudWatchLogsEncodingMacGreek is a CloudWatchLogsEncoding enum value
 19468  	CloudWatchLogsEncodingMacGreek = "mac_greek"
 19469  
 19470  	// CloudWatchLogsEncodingMacIceland is a CloudWatchLogsEncoding enum value
 19471  	CloudWatchLogsEncodingMacIceland = "mac_iceland"
 19472  
 19473  	// CloudWatchLogsEncodingMacLatin2 is a CloudWatchLogsEncoding enum value
 19474  	CloudWatchLogsEncodingMacLatin2 = "mac_latin2"
 19475  
 19476  	// CloudWatchLogsEncodingMacRoman is a CloudWatchLogsEncoding enum value
 19477  	CloudWatchLogsEncodingMacRoman = "mac_roman"
 19478  
 19479  	// CloudWatchLogsEncodingMacTurkish is a CloudWatchLogsEncoding enum value
 19480  	CloudWatchLogsEncodingMacTurkish = "mac_turkish"
 19481  
 19482  	// CloudWatchLogsEncodingPtcp154 is a CloudWatchLogsEncoding enum value
 19483  	CloudWatchLogsEncodingPtcp154 = "ptcp154"
 19484  
 19485  	// CloudWatchLogsEncodingShiftJis is a CloudWatchLogsEncoding enum value
 19486  	CloudWatchLogsEncodingShiftJis = "shift_jis"
 19487  
 19488  	// CloudWatchLogsEncodingShiftJis2004 is a CloudWatchLogsEncoding enum value
 19489  	CloudWatchLogsEncodingShiftJis2004 = "shift_jis_2004"
 19490  
 19491  	// CloudWatchLogsEncodingShiftJisx0213 is a CloudWatchLogsEncoding enum value
 19492  	CloudWatchLogsEncodingShiftJisx0213 = "shift_jisx0213"
 19493  
 19494  	// CloudWatchLogsEncodingUtf32 is a CloudWatchLogsEncoding enum value
 19495  	CloudWatchLogsEncodingUtf32 = "utf_32"
 19496  
 19497  	// CloudWatchLogsEncodingUtf32Be is a CloudWatchLogsEncoding enum value
 19498  	CloudWatchLogsEncodingUtf32Be = "utf_32_be"
 19499  
 19500  	// CloudWatchLogsEncodingUtf32Le is a CloudWatchLogsEncoding enum value
 19501  	CloudWatchLogsEncodingUtf32Le = "utf_32_le"
 19502  
 19503  	// CloudWatchLogsEncodingUtf16 is a CloudWatchLogsEncoding enum value
 19504  	CloudWatchLogsEncodingUtf16 = "utf_16"
 19505  
 19506  	// CloudWatchLogsEncodingUtf16Be is a CloudWatchLogsEncoding enum value
 19507  	CloudWatchLogsEncodingUtf16Be = "utf_16_be"
 19508  
 19509  	// CloudWatchLogsEncodingUtf16Le is a CloudWatchLogsEncoding enum value
 19510  	CloudWatchLogsEncodingUtf16Le = "utf_16_le"
 19511  
 19512  	// CloudWatchLogsEncodingUtf7 is a CloudWatchLogsEncoding enum value
 19513  	CloudWatchLogsEncodingUtf7 = "utf_7"
 19514  
 19515  	// CloudWatchLogsEncodingUtf8 is a CloudWatchLogsEncoding enum value
 19516  	CloudWatchLogsEncodingUtf8 = "utf_8"
 19517  
 19518  	// CloudWatchLogsEncodingUtf8Sig is a CloudWatchLogsEncoding enum value
 19519  	CloudWatchLogsEncodingUtf8Sig = "utf_8_sig"
 19520  )
 19521  
 19522  // CloudWatchLogsEncoding_Values returns all elements of the CloudWatchLogsEncoding enum
 19523  func CloudWatchLogsEncoding_Values() []string {
 19524  	return []string{
 19525  		CloudWatchLogsEncodingAscii,
 19526  		CloudWatchLogsEncodingBig5,
 19527  		CloudWatchLogsEncodingBig5hkscs,
 19528  		CloudWatchLogsEncodingCp037,
 19529  		CloudWatchLogsEncodingCp424,
 19530  		CloudWatchLogsEncodingCp437,
 19531  		CloudWatchLogsEncodingCp500,
 19532  		CloudWatchLogsEncodingCp720,
 19533  		CloudWatchLogsEncodingCp737,
 19534  		CloudWatchLogsEncodingCp775,
 19535  		CloudWatchLogsEncodingCp850,
 19536  		CloudWatchLogsEncodingCp852,
 19537  		CloudWatchLogsEncodingCp855,
 19538  		CloudWatchLogsEncodingCp856,
 19539  		CloudWatchLogsEncodingCp857,
 19540  		CloudWatchLogsEncodingCp858,
 19541  		CloudWatchLogsEncodingCp860,
 19542  		CloudWatchLogsEncodingCp861,
 19543  		CloudWatchLogsEncodingCp862,
 19544  		CloudWatchLogsEncodingCp863,
 19545  		CloudWatchLogsEncodingCp864,
 19546  		CloudWatchLogsEncodingCp865,
 19547  		CloudWatchLogsEncodingCp866,
 19548  		CloudWatchLogsEncodingCp869,
 19549  		CloudWatchLogsEncodingCp874,
 19550  		CloudWatchLogsEncodingCp875,
 19551  		CloudWatchLogsEncodingCp932,
 19552  		CloudWatchLogsEncodingCp949,
 19553  		CloudWatchLogsEncodingCp950,
 19554  		CloudWatchLogsEncodingCp1006,
 19555  		CloudWatchLogsEncodingCp1026,
 19556  		CloudWatchLogsEncodingCp1140,
 19557  		CloudWatchLogsEncodingCp1250,
 19558  		CloudWatchLogsEncodingCp1251,
 19559  		CloudWatchLogsEncodingCp1252,
 19560  		CloudWatchLogsEncodingCp1253,
 19561  		CloudWatchLogsEncodingCp1254,
 19562  		CloudWatchLogsEncodingCp1255,
 19563  		CloudWatchLogsEncodingCp1256,
 19564  		CloudWatchLogsEncodingCp1257,
 19565  		CloudWatchLogsEncodingCp1258,
 19566  		CloudWatchLogsEncodingEucJp,
 19567  		CloudWatchLogsEncodingEucJis2004,
 19568  		CloudWatchLogsEncodingEucJisx0213,
 19569  		CloudWatchLogsEncodingEucKr,
 19570  		CloudWatchLogsEncodingGb2312,
 19571  		CloudWatchLogsEncodingGbk,
 19572  		CloudWatchLogsEncodingGb18030,
 19573  		CloudWatchLogsEncodingHz,
 19574  		CloudWatchLogsEncodingIso2022Jp,
 19575  		CloudWatchLogsEncodingIso2022Jp1,
 19576  		CloudWatchLogsEncodingIso2022Jp2,
 19577  		CloudWatchLogsEncodingIso2022Jp2004,
 19578  		CloudWatchLogsEncodingIso2022Jp3,
 19579  		CloudWatchLogsEncodingIso2022JpExt,
 19580  		CloudWatchLogsEncodingIso2022Kr,
 19581  		CloudWatchLogsEncodingLatin1,
 19582  		CloudWatchLogsEncodingIso88592,
 19583  		CloudWatchLogsEncodingIso88593,
 19584  		CloudWatchLogsEncodingIso88594,
 19585  		CloudWatchLogsEncodingIso88595,
 19586  		CloudWatchLogsEncodingIso88596,
 19587  		CloudWatchLogsEncodingIso88597,
 19588  		CloudWatchLogsEncodingIso88598,
 19589  		CloudWatchLogsEncodingIso88599,
 19590  		CloudWatchLogsEncodingIso885910,
 19591  		CloudWatchLogsEncodingIso885913,
 19592  		CloudWatchLogsEncodingIso885914,
 19593  		CloudWatchLogsEncodingIso885915,
 19594  		CloudWatchLogsEncodingIso885916,
 19595  		CloudWatchLogsEncodingJohab,
 19596  		CloudWatchLogsEncodingKoi8R,
 19597  		CloudWatchLogsEncodingKoi8U,
 19598  		CloudWatchLogsEncodingMacCyrillic,
 19599  		CloudWatchLogsEncodingMacGreek,
 19600  		CloudWatchLogsEncodingMacIceland,
 19601  		CloudWatchLogsEncodingMacLatin2,
 19602  		CloudWatchLogsEncodingMacRoman,
 19603  		CloudWatchLogsEncodingMacTurkish,
 19604  		CloudWatchLogsEncodingPtcp154,
 19605  		CloudWatchLogsEncodingShiftJis,
 19606  		CloudWatchLogsEncodingShiftJis2004,
 19607  		CloudWatchLogsEncodingShiftJisx0213,
 19608  		CloudWatchLogsEncodingUtf32,
 19609  		CloudWatchLogsEncodingUtf32Be,
 19610  		CloudWatchLogsEncodingUtf32Le,
 19611  		CloudWatchLogsEncodingUtf16,
 19612  		CloudWatchLogsEncodingUtf16Be,
 19613  		CloudWatchLogsEncodingUtf16Le,
 19614  		CloudWatchLogsEncodingUtf7,
 19615  		CloudWatchLogsEncodingUtf8,
 19616  		CloudWatchLogsEncodingUtf8Sig,
 19617  	}
 19618  }
 19619  
 19620  // Specifies where to start to read data (start_of_file or end_of_file). The
 19621  // default is start_of_file. It's only used if there is no state persisted for
 19622  // that log stream.
 19623  const (
 19624  	// CloudWatchLogsInitialPositionStartOfFile is a CloudWatchLogsInitialPosition enum value
 19625  	CloudWatchLogsInitialPositionStartOfFile = "start_of_file"
 19626  
 19627  	// CloudWatchLogsInitialPositionEndOfFile is a CloudWatchLogsInitialPosition enum value
 19628  	CloudWatchLogsInitialPositionEndOfFile = "end_of_file"
 19629  )
 19630  
 19631  // CloudWatchLogsInitialPosition_Values returns all elements of the CloudWatchLogsInitialPosition enum
 19632  func CloudWatchLogsInitialPosition_Values() []string {
 19633  	return []string{
 19634  		CloudWatchLogsInitialPositionStartOfFile,
 19635  		CloudWatchLogsInitialPositionEndOfFile,
 19636  	}
 19637  }
 19638  
 19639  // The preferred time zone for logs streamed to CloudWatch Logs. Valid values
 19640  // are LOCAL and UTC, for Coordinated Universal Time.
 19641  const (
 19642  	// CloudWatchLogsTimeZoneLocal is a CloudWatchLogsTimeZone enum value
 19643  	CloudWatchLogsTimeZoneLocal = "LOCAL"
 19644  
 19645  	// CloudWatchLogsTimeZoneUtc is a CloudWatchLogsTimeZone enum value
 19646  	CloudWatchLogsTimeZoneUtc = "UTC"
 19647  )
 19648  
 19649  // CloudWatchLogsTimeZone_Values returns all elements of the CloudWatchLogsTimeZone enum
 19650  func CloudWatchLogsTimeZone_Values() []string {
 19651  	return []string{
 19652  		CloudWatchLogsTimeZoneLocal,
 19653  		CloudWatchLogsTimeZoneUtc,
 19654  	}
 19655  }
 19656  
 19657  const (
 19658  	// DeploymentCommandNameInstallDependencies is a DeploymentCommandName enum value
 19659  	DeploymentCommandNameInstallDependencies = "install_dependencies"
 19660  
 19661  	// DeploymentCommandNameUpdateDependencies is a DeploymentCommandName enum value
 19662  	DeploymentCommandNameUpdateDependencies = "update_dependencies"
 19663  
 19664  	// DeploymentCommandNameUpdateCustomCookbooks is a DeploymentCommandName enum value
 19665  	DeploymentCommandNameUpdateCustomCookbooks = "update_custom_cookbooks"
 19666  
 19667  	// DeploymentCommandNameExecuteRecipes is a DeploymentCommandName enum value
 19668  	DeploymentCommandNameExecuteRecipes = "execute_recipes"
 19669  
 19670  	// DeploymentCommandNameConfigure is a DeploymentCommandName enum value
 19671  	DeploymentCommandNameConfigure = "configure"
 19672  
 19673  	// DeploymentCommandNameSetup is a DeploymentCommandName enum value
 19674  	DeploymentCommandNameSetup = "setup"
 19675  
 19676  	// DeploymentCommandNameDeploy is a DeploymentCommandName enum value
 19677  	DeploymentCommandNameDeploy = "deploy"
 19678  
 19679  	// DeploymentCommandNameRollback is a DeploymentCommandName enum value
 19680  	DeploymentCommandNameRollback = "rollback"
 19681  
 19682  	// DeploymentCommandNameStart is a DeploymentCommandName enum value
 19683  	DeploymentCommandNameStart = "start"
 19684  
 19685  	// DeploymentCommandNameStop is a DeploymentCommandName enum value
 19686  	DeploymentCommandNameStop = "stop"
 19687  
 19688  	// DeploymentCommandNameRestart is a DeploymentCommandName enum value
 19689  	DeploymentCommandNameRestart = "restart"
 19690  
 19691  	// DeploymentCommandNameUndeploy is a DeploymentCommandName enum value
 19692  	DeploymentCommandNameUndeploy = "undeploy"
 19693  )
 19694  
 19695  // DeploymentCommandName_Values returns all elements of the DeploymentCommandName enum
 19696  func DeploymentCommandName_Values() []string {
 19697  	return []string{
 19698  		DeploymentCommandNameInstallDependencies,
 19699  		DeploymentCommandNameUpdateDependencies,
 19700  		DeploymentCommandNameUpdateCustomCookbooks,
 19701  		DeploymentCommandNameExecuteRecipes,
 19702  		DeploymentCommandNameConfigure,
 19703  		DeploymentCommandNameSetup,
 19704  		DeploymentCommandNameDeploy,
 19705  		DeploymentCommandNameRollback,
 19706  		DeploymentCommandNameStart,
 19707  		DeploymentCommandNameStop,
 19708  		DeploymentCommandNameRestart,
 19709  		DeploymentCommandNameUndeploy,
 19710  	}
 19711  }
 19712  
 19713  const (
 19714  	// LayerAttributesKeysEcsClusterArn is a LayerAttributesKeys enum value
 19715  	LayerAttributesKeysEcsClusterArn = "EcsClusterArn"
 19716  
 19717  	// LayerAttributesKeysEnableHaproxyStats is a LayerAttributesKeys enum value
 19718  	LayerAttributesKeysEnableHaproxyStats = "EnableHaproxyStats"
 19719  
 19720  	// LayerAttributesKeysHaproxyStatsUrl is a LayerAttributesKeys enum value
 19721  	LayerAttributesKeysHaproxyStatsUrl = "HaproxyStatsUrl"
 19722  
 19723  	// LayerAttributesKeysHaproxyStatsUser is a LayerAttributesKeys enum value
 19724  	LayerAttributesKeysHaproxyStatsUser = "HaproxyStatsUser"
 19725  
 19726  	// LayerAttributesKeysHaproxyStatsPassword is a LayerAttributesKeys enum value
 19727  	LayerAttributesKeysHaproxyStatsPassword = "HaproxyStatsPassword"
 19728  
 19729  	// LayerAttributesKeysHaproxyHealthCheckUrl is a LayerAttributesKeys enum value
 19730  	LayerAttributesKeysHaproxyHealthCheckUrl = "HaproxyHealthCheckUrl"
 19731  
 19732  	// LayerAttributesKeysHaproxyHealthCheckMethod is a LayerAttributesKeys enum value
 19733  	LayerAttributesKeysHaproxyHealthCheckMethod = "HaproxyHealthCheckMethod"
 19734  
 19735  	// LayerAttributesKeysMysqlRootPassword is a LayerAttributesKeys enum value
 19736  	LayerAttributesKeysMysqlRootPassword = "MysqlRootPassword"
 19737  
 19738  	// LayerAttributesKeysMysqlRootPasswordUbiquitous is a LayerAttributesKeys enum value
 19739  	LayerAttributesKeysMysqlRootPasswordUbiquitous = "MysqlRootPasswordUbiquitous"
 19740  
 19741  	// LayerAttributesKeysGangliaUrl is a LayerAttributesKeys enum value
 19742  	LayerAttributesKeysGangliaUrl = "GangliaUrl"
 19743  
 19744  	// LayerAttributesKeysGangliaUser is a LayerAttributesKeys enum value
 19745  	LayerAttributesKeysGangliaUser = "GangliaUser"
 19746  
 19747  	// LayerAttributesKeysGangliaPassword is a LayerAttributesKeys enum value
 19748  	LayerAttributesKeysGangliaPassword = "GangliaPassword"
 19749  
 19750  	// LayerAttributesKeysMemcachedMemory is a LayerAttributesKeys enum value
 19751  	LayerAttributesKeysMemcachedMemory = "MemcachedMemory"
 19752  
 19753  	// LayerAttributesKeysNodejsVersion is a LayerAttributesKeys enum value
 19754  	LayerAttributesKeysNodejsVersion = "NodejsVersion"
 19755  
 19756  	// LayerAttributesKeysRubyVersion is a LayerAttributesKeys enum value
 19757  	LayerAttributesKeysRubyVersion = "RubyVersion"
 19758  
 19759  	// LayerAttributesKeysRubygemsVersion is a LayerAttributesKeys enum value
 19760  	LayerAttributesKeysRubygemsVersion = "RubygemsVersion"
 19761  
 19762  	// LayerAttributesKeysManageBundler is a LayerAttributesKeys enum value
 19763  	LayerAttributesKeysManageBundler = "ManageBundler"
 19764  
 19765  	// LayerAttributesKeysBundlerVersion is a LayerAttributesKeys enum value
 19766  	LayerAttributesKeysBundlerVersion = "BundlerVersion"
 19767  
 19768  	// LayerAttributesKeysRailsStack is a LayerAttributesKeys enum value
 19769  	LayerAttributesKeysRailsStack = "RailsStack"
 19770  
 19771  	// LayerAttributesKeysPassengerVersion is a LayerAttributesKeys enum value
 19772  	LayerAttributesKeysPassengerVersion = "PassengerVersion"
 19773  
 19774  	// LayerAttributesKeysJvm is a LayerAttributesKeys enum value
 19775  	LayerAttributesKeysJvm = "Jvm"
 19776  
 19777  	// LayerAttributesKeysJvmVersion is a LayerAttributesKeys enum value
 19778  	LayerAttributesKeysJvmVersion = "JvmVersion"
 19779  
 19780  	// LayerAttributesKeysJvmOptions is a LayerAttributesKeys enum value
 19781  	LayerAttributesKeysJvmOptions = "JvmOptions"
 19782  
 19783  	// LayerAttributesKeysJavaAppServer is a LayerAttributesKeys enum value
 19784  	LayerAttributesKeysJavaAppServer = "JavaAppServer"
 19785  
 19786  	// LayerAttributesKeysJavaAppServerVersion is a LayerAttributesKeys enum value
 19787  	LayerAttributesKeysJavaAppServerVersion = "JavaAppServerVersion"
 19788  )
 19789  
 19790  // LayerAttributesKeys_Values returns all elements of the LayerAttributesKeys enum
 19791  func LayerAttributesKeys_Values() []string {
 19792  	return []string{
 19793  		LayerAttributesKeysEcsClusterArn,
 19794  		LayerAttributesKeysEnableHaproxyStats,
 19795  		LayerAttributesKeysHaproxyStatsUrl,
 19796  		LayerAttributesKeysHaproxyStatsUser,
 19797  		LayerAttributesKeysHaproxyStatsPassword,
 19798  		LayerAttributesKeysHaproxyHealthCheckUrl,
 19799  		LayerAttributesKeysHaproxyHealthCheckMethod,
 19800  		LayerAttributesKeysMysqlRootPassword,
 19801  		LayerAttributesKeysMysqlRootPasswordUbiquitous,
 19802  		LayerAttributesKeysGangliaUrl,
 19803  		LayerAttributesKeysGangliaUser,
 19804  		LayerAttributesKeysGangliaPassword,
 19805  		LayerAttributesKeysMemcachedMemory,
 19806  		LayerAttributesKeysNodejsVersion,
 19807  		LayerAttributesKeysRubyVersion,
 19808  		LayerAttributesKeysRubygemsVersion,
 19809  		LayerAttributesKeysManageBundler,
 19810  		LayerAttributesKeysBundlerVersion,
 19811  		LayerAttributesKeysRailsStack,
 19812  		LayerAttributesKeysPassengerVersion,
 19813  		LayerAttributesKeysJvm,
 19814  		LayerAttributesKeysJvmVersion,
 19815  		LayerAttributesKeysJvmOptions,
 19816  		LayerAttributesKeysJavaAppServer,
 19817  		LayerAttributesKeysJavaAppServerVersion,
 19818  	}
 19819  }
 19820  
 19821  const (
 19822  	// LayerTypeAwsFlowRuby is a LayerType enum value
 19823  	LayerTypeAwsFlowRuby = "aws-flow-ruby"
 19824  
 19825  	// LayerTypeEcsCluster is a LayerType enum value
 19826  	LayerTypeEcsCluster = "ecs-cluster"
 19827  
 19828  	// LayerTypeJavaApp is a LayerType enum value
 19829  	LayerTypeJavaApp = "java-app"
 19830  
 19831  	// LayerTypeLb is a LayerType enum value
 19832  	LayerTypeLb = "lb"
 19833  
 19834  	// LayerTypeWeb is a LayerType enum value
 19835  	LayerTypeWeb = "web"
 19836  
 19837  	// LayerTypePhpApp is a LayerType enum value
 19838  	LayerTypePhpApp = "php-app"
 19839  
 19840  	// LayerTypeRailsApp is a LayerType enum value
 19841  	LayerTypeRailsApp = "rails-app"
 19842  
 19843  	// LayerTypeNodejsApp is a LayerType enum value
 19844  	LayerTypeNodejsApp = "nodejs-app"
 19845  
 19846  	// LayerTypeMemcached is a LayerType enum value
 19847  	LayerTypeMemcached = "memcached"
 19848  
 19849  	// LayerTypeDbMaster is a LayerType enum value
 19850  	LayerTypeDbMaster = "db-master"
 19851  
 19852  	// LayerTypeMonitoringMaster is a LayerType enum value
 19853  	LayerTypeMonitoringMaster = "monitoring-master"
 19854  
 19855  	// LayerTypeCustom is a LayerType enum value
 19856  	LayerTypeCustom = "custom"
 19857  )
 19858  
 19859  // LayerType_Values returns all elements of the LayerType enum
 19860  func LayerType_Values() []string {
 19861  	return []string{
 19862  		LayerTypeAwsFlowRuby,
 19863  		LayerTypeEcsCluster,
 19864  		LayerTypeJavaApp,
 19865  		LayerTypeLb,
 19866  		LayerTypeWeb,
 19867  		LayerTypePhpApp,
 19868  		LayerTypeRailsApp,
 19869  		LayerTypeNodejsApp,
 19870  		LayerTypeMemcached,
 19871  		LayerTypeDbMaster,
 19872  		LayerTypeMonitoringMaster,
 19873  		LayerTypeCustom,
 19874  	}
 19875  }
 19876  
 19877  const (
 19878  	// RootDeviceTypeEbs is a RootDeviceType enum value
 19879  	RootDeviceTypeEbs = "ebs"
 19880  
 19881  	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
 19882  	RootDeviceTypeInstanceStore = "instance-store"
 19883  )
 19884  
 19885  // RootDeviceType_Values returns all elements of the RootDeviceType enum
 19886  func RootDeviceType_Values() []string {
 19887  	return []string{
 19888  		RootDeviceTypeEbs,
 19889  		RootDeviceTypeInstanceStore,
 19890  	}
 19891  }
 19892  
 19893  const (
 19894  	// SourceTypeGit is a SourceType enum value
 19895  	SourceTypeGit = "git"
 19896  
 19897  	// SourceTypeSvn is a SourceType enum value
 19898  	SourceTypeSvn = "svn"
 19899  
 19900  	// SourceTypeArchive is a SourceType enum value
 19901  	SourceTypeArchive = "archive"
 19902  
 19903  	// SourceTypeS3 is a SourceType enum value
 19904  	SourceTypeS3 = "s3"
 19905  )
 19906  
 19907  // SourceType_Values returns all elements of the SourceType enum
 19908  func SourceType_Values() []string {
 19909  	return []string{
 19910  		SourceTypeGit,
 19911  		SourceTypeSvn,
 19912  		SourceTypeArchive,
 19913  		SourceTypeS3,
 19914  	}
 19915  }
 19916  
 19917  const (
 19918  	// StackAttributesKeysColor is a StackAttributesKeys enum value
 19919  	StackAttributesKeysColor = "Color"
 19920  )
 19921  
 19922  // StackAttributesKeys_Values returns all elements of the StackAttributesKeys enum
 19923  func StackAttributesKeys_Values() []string {
 19924  	return []string{
 19925  		StackAttributesKeysColor,
 19926  	}
 19927  }
 19928  
 19929  const (
 19930  	// VirtualizationTypeParavirtual is a VirtualizationType enum value
 19931  	VirtualizationTypeParavirtual = "paravirtual"
 19932  
 19933  	// VirtualizationTypeHvm is a VirtualizationType enum value
 19934  	VirtualizationTypeHvm = "hvm"
 19935  )
 19936  
 19937  // VirtualizationType_Values returns all elements of the VirtualizationType enum
 19938  func VirtualizationType_Values() []string {
 19939  	return []string{
 19940  		VirtualizationTypeParavirtual,
 19941  		VirtualizationTypeHvm,
 19942  	}
 19943  }
 19944  
 19945  const (
 19946  	// VolumeTypeGp2 is a VolumeType enum value
 19947  	VolumeTypeGp2 = "gp2"
 19948  
 19949  	// VolumeTypeIo1 is a VolumeType enum value
 19950  	VolumeTypeIo1 = "io1"
 19951  
 19952  	// VolumeTypeStandard is a VolumeType enum value
 19953  	VolumeTypeStandard = "standard"
 19954  )
 19955  
 19956  // VolumeType_Values returns all elements of the VolumeType enum
 19957  func VolumeType_Values() []string {
 19958  	return []string{
 19959  		VolumeTypeGp2,
 19960  		VolumeTypeIo1,
 19961  		VolumeTypeStandard,
 19962  	}
 19963  }