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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package opsworkscm
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opAssociateNode = "AssociateNode"
    17  
    18  // AssociateNodeRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateNode operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AssociateNode for more information on using the AssociateNode
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AssociateNodeRequest method.
    34  //    req, resp := client.AssociateNodeRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/AssociateNode
    42  func (c *OpsWorksCM) AssociateNodeRequest(input *AssociateNodeInput) (req *request.Request, output *AssociateNodeOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateNode,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateNodeInput{}
    51  	}
    52  
    53  	output = &AssociateNodeOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AssociateNode API operation for AWS OpsWorks CM.
    59  //
    60  // Associates a new node with the server. For more information about how to
    61  // disassociate a node, see DisassociateNode.
    62  //
    63  // On a Chef server: This command is an alternative to knife bootstrap.
    64  //
    65  // Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name
    66  // MyManagedNode --engine-attributes "Name=CHEF_ORGANIZATION,Value=default"
    67  // "Name=CHEF_NODE_PUBLIC_KEY,Value=public-key-pem"
    68  //
    69  // On a Puppet server, this command is an alternative to the puppet cert sign
    70  // command that signs a Puppet node CSR.
    71  //
    72  // Example (Puppet): aws opsworks-cm associate-node --server-name MyServer --node-name
    73  // MyManagedNode --engine-attributes "Name=PUPPET_NODE_CSR,Value=csr-pem"
    74  //
    75  // A node can can only be associated with servers that are in a HEALTHY state.
    76  // Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException
    77  // is thrown when the server does not exist. A ValidationException is raised
    78  // when parameters of the request are not valid. The AssociateNode API call
    79  // can be integrated into Auto Scaling configurations, AWS Cloudformation templates,
    80  // or the user data of a server's instance.
    81  //
    82  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    83  // with awserr.Error's Code and Message methods to get detailed information about
    84  // the error.
    85  //
    86  // See the AWS API reference guide for AWS OpsWorks CM's
    87  // API operation AssociateNode for usage and error information.
    88  //
    89  // Returned Error Types:
    90  //   * InvalidStateException
    91  //   The resource is in a state that does not allow you to perform a specified
    92  //   action.
    93  //
    94  //   * ResourceNotFoundException
    95  //   The requested resource does not exist, or access was denied.
    96  //
    97  //   * ValidationException
    98  //   One or more of the provided request parameters are not valid.
    99  //
   100  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/AssociateNode
   101  func (c *OpsWorksCM) AssociateNode(input *AssociateNodeInput) (*AssociateNodeOutput, error) {
   102  	req, out := c.AssociateNodeRequest(input)
   103  	return out, req.Send()
   104  }
   105  
   106  // AssociateNodeWithContext is the same as AssociateNode with the addition of
   107  // the ability to pass a context and additional request options.
   108  //
   109  // See AssociateNode for details on how to use this API operation.
   110  //
   111  // The context must be non-nil and will be used for request cancellation. If
   112  // the context is nil a panic will occur. In the future the SDK may create
   113  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   114  // for more information on using Contexts.
   115  func (c *OpsWorksCM) AssociateNodeWithContext(ctx aws.Context, input *AssociateNodeInput, opts ...request.Option) (*AssociateNodeOutput, error) {
   116  	req, out := c.AssociateNodeRequest(input)
   117  	req.SetContext(ctx)
   118  	req.ApplyOptions(opts...)
   119  	return out, req.Send()
   120  }
   121  
   122  const opCreateBackup = "CreateBackup"
   123  
   124  // CreateBackupRequest generates a "aws/request.Request" representing the
   125  // client's request for the CreateBackup operation. The "output" return
   126  // value will be populated with the request's response once the request completes
   127  // successfully.
   128  //
   129  // Use "Send" method on the returned Request to send the API call to the service.
   130  // the "output" return value is not valid until after Send returns without error.
   131  //
   132  // See CreateBackup for more information on using the CreateBackup
   133  // API call, and error handling.
   134  //
   135  // This method is useful when you want to inject custom logic or configuration
   136  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   137  //
   138  //
   139  //    // Example sending a request using the CreateBackupRequest method.
   140  //    req, resp := client.CreateBackupRequest(params)
   141  //
   142  //    err := req.Send()
   143  //    if err == nil { // resp is now filled
   144  //        fmt.Println(resp)
   145  //    }
   146  //
   147  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/CreateBackup
   148  func (c *OpsWorksCM) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) {
   149  	op := &request.Operation{
   150  		Name:       opCreateBackup,
   151  		HTTPMethod: "POST",
   152  		HTTPPath:   "/",
   153  	}
   154  
   155  	if input == nil {
   156  		input = &CreateBackupInput{}
   157  	}
   158  
   159  	output = &CreateBackupOutput{}
   160  	req = c.newRequest(op, input, output)
   161  	return
   162  }
   163  
   164  // CreateBackup API operation for AWS OpsWorks CM.
   165  //
   166  // Creates an application-level backup of a server. While the server is in the
   167  // BACKING_UP state, the server cannot be changed, and no additional backup
   168  // can be created.
   169  //
   170  // Backups can be created for servers in RUNNING, HEALTHY, and UNHEALTHY states.
   171  // By default, you can create a maximum of 50 manual backups.
   172  //
   173  // This operation is asynchronous.
   174  //
   175  // A LimitExceededException is thrown when the maximum number of manual backups
   176  // is reached. An InvalidStateException is thrown when the server is not in
   177  // any of the following states: RUNNING, HEALTHY, or UNHEALTHY. A ResourceNotFoundException
   178  // is thrown when the server is not found. A ValidationException is thrown when
   179  // parameters of the request are not valid.
   180  //
   181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   182  // with awserr.Error's Code and Message methods to get detailed information about
   183  // the error.
   184  //
   185  // See the AWS API reference guide for AWS OpsWorks CM's
   186  // API operation CreateBackup for usage and error information.
   187  //
   188  // Returned Error Types:
   189  //   * InvalidStateException
   190  //   The resource is in a state that does not allow you to perform a specified
   191  //   action.
   192  //
   193  //   * LimitExceededException
   194  //   The limit of servers or backups has been reached.
   195  //
   196  //   * ResourceNotFoundException
   197  //   The requested resource does not exist, or access was denied.
   198  //
   199  //   * ValidationException
   200  //   One or more of the provided request parameters are not valid.
   201  //
   202  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/CreateBackup
   203  func (c *OpsWorksCM) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) {
   204  	req, out := c.CreateBackupRequest(input)
   205  	return out, req.Send()
   206  }
   207  
   208  // CreateBackupWithContext is the same as CreateBackup with the addition of
   209  // the ability to pass a context and additional request options.
   210  //
   211  // See CreateBackup for details on how to use this API operation.
   212  //
   213  // The context must be non-nil and will be used for request cancellation. If
   214  // the context is nil a panic will occur. In the future the SDK may create
   215  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   216  // for more information on using Contexts.
   217  func (c *OpsWorksCM) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) {
   218  	req, out := c.CreateBackupRequest(input)
   219  	req.SetContext(ctx)
   220  	req.ApplyOptions(opts...)
   221  	return out, req.Send()
   222  }
   223  
   224  const opCreateServer = "CreateServer"
   225  
   226  // CreateServerRequest generates a "aws/request.Request" representing the
   227  // client's request for the CreateServer operation. The "output" return
   228  // value will be populated with the request's response once the request completes
   229  // successfully.
   230  //
   231  // Use "Send" method on the returned Request to send the API call to the service.
   232  // the "output" return value is not valid until after Send returns without error.
   233  //
   234  // See CreateServer for more information on using the CreateServer
   235  // API call, and error handling.
   236  //
   237  // This method is useful when you want to inject custom logic or configuration
   238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   239  //
   240  //
   241  //    // Example sending a request using the CreateServerRequest method.
   242  //    req, resp := client.CreateServerRequest(params)
   243  //
   244  //    err := req.Send()
   245  //    if err == nil { // resp is now filled
   246  //        fmt.Println(resp)
   247  //    }
   248  //
   249  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/CreateServer
   250  func (c *OpsWorksCM) CreateServerRequest(input *CreateServerInput) (req *request.Request, output *CreateServerOutput) {
   251  	op := &request.Operation{
   252  		Name:       opCreateServer,
   253  		HTTPMethod: "POST",
   254  		HTTPPath:   "/",
   255  	}
   256  
   257  	if input == nil {
   258  		input = &CreateServerInput{}
   259  	}
   260  
   261  	output = &CreateServerOutput{}
   262  	req = c.newRequest(op, input, output)
   263  	return
   264  }
   265  
   266  // CreateServer API operation for AWS OpsWorks CM.
   267  //
   268  // Creates and immedately starts a new server. The server is ready to use when
   269  // it is in the HEALTHY state. By default, you can create a maximum of 10 servers.
   270  //
   271  // This operation is asynchronous.
   272  //
   273  // A LimitExceededException is thrown when you have created the maximum number
   274  // of servers (10). A ResourceAlreadyExistsException is thrown when a server
   275  // with the same name already exists in the account. A ResourceNotFoundException
   276  // is thrown when you specify a backup ID that is not valid or is for a backup
   277  // that does not exist. A ValidationException is thrown when parameters of the
   278  // request are not valid.
   279  //
   280  // If you do not specify a security group by adding the SecurityGroupIds parameter,
   281  // AWS OpsWorks creates a new security group.
   282  //
   283  // Chef Automate: The default security group opens the Chef server to the world
   284  // on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access.
   285  // SSH is also open to the world on TCP port 22.
   286  //
   287  // Puppet Enterprise: The default security group opens TCP ports 22, 443, 4433,
   288  // 8140, 8142, 8143, and 8170. If a KeyName is present, AWS OpsWorks enables
   289  // SSH access. SSH is also open to the world on TCP port 22.
   290  //
   291  // By default, your server is accessible from any IP address. We recommend that
   292  // you update your security group rules to allow access from known IP addresses
   293  // and address ranges only. To edit security group rules, open Security Groups
   294  // in the navigation pane of the EC2 management console.
   295  //
   296  // To specify your own domain for a server, and provide your own self-signed
   297  // or CA-signed certificate and private key, specify values for CustomDomain,
   298  // CustomCertificate, and CustomPrivateKey.
   299  //
   300  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   301  // with awserr.Error's Code and Message methods to get detailed information about
   302  // the error.
   303  //
   304  // See the AWS API reference guide for AWS OpsWorks CM's
   305  // API operation CreateServer for usage and error information.
   306  //
   307  // Returned Error Types:
   308  //   * LimitExceededException
   309  //   The limit of servers or backups has been reached.
   310  //
   311  //   * ResourceAlreadyExistsException
   312  //   The requested resource cannot be created because it already exists.
   313  //
   314  //   * ResourceNotFoundException
   315  //   The requested resource does not exist, or access was denied.
   316  //
   317  //   * ValidationException
   318  //   One or more of the provided request parameters are not valid.
   319  //
   320  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/CreateServer
   321  func (c *OpsWorksCM) CreateServer(input *CreateServerInput) (*CreateServerOutput, error) {
   322  	req, out := c.CreateServerRequest(input)
   323  	return out, req.Send()
   324  }
   325  
   326  // CreateServerWithContext is the same as CreateServer with the addition of
   327  // the ability to pass a context and additional request options.
   328  //
   329  // See CreateServer for details on how to use this API operation.
   330  //
   331  // The context must be non-nil and will be used for request cancellation. If
   332  // the context is nil a panic will occur. In the future the SDK may create
   333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   334  // for more information on using Contexts.
   335  func (c *OpsWorksCM) CreateServerWithContext(ctx aws.Context, input *CreateServerInput, opts ...request.Option) (*CreateServerOutput, error) {
   336  	req, out := c.CreateServerRequest(input)
   337  	req.SetContext(ctx)
   338  	req.ApplyOptions(opts...)
   339  	return out, req.Send()
   340  }
   341  
   342  const opDeleteBackup = "DeleteBackup"
   343  
   344  // DeleteBackupRequest generates a "aws/request.Request" representing the
   345  // client's request for the DeleteBackup operation. The "output" return
   346  // value will be populated with the request's response once the request completes
   347  // successfully.
   348  //
   349  // Use "Send" method on the returned Request to send the API call to the service.
   350  // the "output" return value is not valid until after Send returns without error.
   351  //
   352  // See DeleteBackup for more information on using the DeleteBackup
   353  // API call, and error handling.
   354  //
   355  // This method is useful when you want to inject custom logic or configuration
   356  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   357  //
   358  //
   359  //    // Example sending a request using the DeleteBackupRequest method.
   360  //    req, resp := client.DeleteBackupRequest(params)
   361  //
   362  //    err := req.Send()
   363  //    if err == nil { // resp is now filled
   364  //        fmt.Println(resp)
   365  //    }
   366  //
   367  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DeleteBackup
   368  func (c *OpsWorksCM) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) {
   369  	op := &request.Operation{
   370  		Name:       opDeleteBackup,
   371  		HTTPMethod: "POST",
   372  		HTTPPath:   "/",
   373  	}
   374  
   375  	if input == nil {
   376  		input = &DeleteBackupInput{}
   377  	}
   378  
   379  	output = &DeleteBackupOutput{}
   380  	req = c.newRequest(op, input, output)
   381  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   382  	return
   383  }
   384  
   385  // DeleteBackup API operation for AWS OpsWorks CM.
   386  //
   387  // Deletes a backup. You can delete both manual and automated backups. This
   388  // operation is asynchronous.
   389  //
   390  // An InvalidStateException is thrown when a backup deletion is already in progress.
   391  // A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException
   392  // is thrown when parameters of the request are not valid.
   393  //
   394  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   395  // with awserr.Error's Code and Message methods to get detailed information about
   396  // the error.
   397  //
   398  // See the AWS API reference guide for AWS OpsWorks CM's
   399  // API operation DeleteBackup for usage and error information.
   400  //
   401  // Returned Error Types:
   402  //   * InvalidStateException
   403  //   The resource is in a state that does not allow you to perform a specified
   404  //   action.
   405  //
   406  //   * ResourceNotFoundException
   407  //   The requested resource does not exist, or access was denied.
   408  //
   409  //   * ValidationException
   410  //   One or more of the provided request parameters are not valid.
   411  //
   412  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DeleteBackup
   413  func (c *OpsWorksCM) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) {
   414  	req, out := c.DeleteBackupRequest(input)
   415  	return out, req.Send()
   416  }
   417  
   418  // DeleteBackupWithContext is the same as DeleteBackup with the addition of
   419  // the ability to pass a context and additional request options.
   420  //
   421  // See DeleteBackup for details on how to use this API operation.
   422  //
   423  // The context must be non-nil and will be used for request cancellation. If
   424  // the context is nil a panic will occur. In the future the SDK may create
   425  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   426  // for more information on using Contexts.
   427  func (c *OpsWorksCM) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) {
   428  	req, out := c.DeleteBackupRequest(input)
   429  	req.SetContext(ctx)
   430  	req.ApplyOptions(opts...)
   431  	return out, req.Send()
   432  }
   433  
   434  const opDeleteServer = "DeleteServer"
   435  
   436  // DeleteServerRequest generates a "aws/request.Request" representing the
   437  // client's request for the DeleteServer operation. The "output" return
   438  // value will be populated with the request's response once the request completes
   439  // successfully.
   440  //
   441  // Use "Send" method on the returned Request to send the API call to the service.
   442  // the "output" return value is not valid until after Send returns without error.
   443  //
   444  // See DeleteServer for more information on using the DeleteServer
   445  // API call, and error handling.
   446  //
   447  // This method is useful when you want to inject custom logic or configuration
   448  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   449  //
   450  //
   451  //    // Example sending a request using the DeleteServerRequest method.
   452  //    req, resp := client.DeleteServerRequest(params)
   453  //
   454  //    err := req.Send()
   455  //    if err == nil { // resp is now filled
   456  //        fmt.Println(resp)
   457  //    }
   458  //
   459  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DeleteServer
   460  func (c *OpsWorksCM) DeleteServerRequest(input *DeleteServerInput) (req *request.Request, output *DeleteServerOutput) {
   461  	op := &request.Operation{
   462  		Name:       opDeleteServer,
   463  		HTTPMethod: "POST",
   464  		HTTPPath:   "/",
   465  	}
   466  
   467  	if input == nil {
   468  		input = &DeleteServerInput{}
   469  	}
   470  
   471  	output = &DeleteServerOutput{}
   472  	req = c.newRequest(op, input, output)
   473  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   474  	return
   475  }
   476  
   477  // DeleteServer API operation for AWS OpsWorks CM.
   478  //
   479  // Deletes the server and the underlying AWS CloudFormation stacks (including
   480  // the server's EC2 instance). When you run this command, the server state is
   481  // updated to DELETING. After the server is deleted, it is no longer returned
   482  // by DescribeServer requests. If the AWS CloudFormation stack cannot be deleted,
   483  // the server cannot be deleted.
   484  //
   485  // This operation is asynchronous.
   486  //
   487  // An InvalidStateException is thrown when a server deletion is already in progress.
   488  // A ResourceNotFoundException is thrown when the server does not exist. A ValidationException
   489  // is raised when parameters of the request are not valid.
   490  //
   491  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   492  // with awserr.Error's Code and Message methods to get detailed information about
   493  // the error.
   494  //
   495  // See the AWS API reference guide for AWS OpsWorks CM's
   496  // API operation DeleteServer for usage and error information.
   497  //
   498  // Returned Error Types:
   499  //   * InvalidStateException
   500  //   The resource is in a state that does not allow you to perform a specified
   501  //   action.
   502  //
   503  //   * ResourceNotFoundException
   504  //   The requested resource does not exist, or access was denied.
   505  //
   506  //   * ValidationException
   507  //   One or more of the provided request parameters are not valid.
   508  //
   509  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DeleteServer
   510  func (c *OpsWorksCM) DeleteServer(input *DeleteServerInput) (*DeleteServerOutput, error) {
   511  	req, out := c.DeleteServerRequest(input)
   512  	return out, req.Send()
   513  }
   514  
   515  // DeleteServerWithContext is the same as DeleteServer with the addition of
   516  // the ability to pass a context and additional request options.
   517  //
   518  // See DeleteServer for details on how to use this API operation.
   519  //
   520  // The context must be non-nil and will be used for request cancellation. If
   521  // the context is nil a panic will occur. In the future the SDK may create
   522  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   523  // for more information on using Contexts.
   524  func (c *OpsWorksCM) DeleteServerWithContext(ctx aws.Context, input *DeleteServerInput, opts ...request.Option) (*DeleteServerOutput, error) {
   525  	req, out := c.DeleteServerRequest(input)
   526  	req.SetContext(ctx)
   527  	req.ApplyOptions(opts...)
   528  	return out, req.Send()
   529  }
   530  
   531  const opDescribeAccountAttributes = "DescribeAccountAttributes"
   532  
   533  // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
   534  // client's request for the DescribeAccountAttributes operation. The "output" return
   535  // value will be populated with the request's response once the request completes
   536  // successfully.
   537  //
   538  // Use "Send" method on the returned Request to send the API call to the service.
   539  // the "output" return value is not valid until after Send returns without error.
   540  //
   541  // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
   542  // API call, and error handling.
   543  //
   544  // This method is useful when you want to inject custom logic or configuration
   545  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   546  //
   547  //
   548  //    // Example sending a request using the DescribeAccountAttributesRequest method.
   549  //    req, resp := client.DescribeAccountAttributesRequest(params)
   550  //
   551  //    err := req.Send()
   552  //    if err == nil { // resp is now filled
   553  //        fmt.Println(resp)
   554  //    }
   555  //
   556  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeAccountAttributes
   557  func (c *OpsWorksCM) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
   558  	op := &request.Operation{
   559  		Name:       opDescribeAccountAttributes,
   560  		HTTPMethod: "POST",
   561  		HTTPPath:   "/",
   562  	}
   563  
   564  	if input == nil {
   565  		input = &DescribeAccountAttributesInput{}
   566  	}
   567  
   568  	output = &DescribeAccountAttributesOutput{}
   569  	req = c.newRequest(op, input, output)
   570  	return
   571  }
   572  
   573  // DescribeAccountAttributes API operation for AWS OpsWorks CM.
   574  //
   575  // Describes your OpsWorks-CM account attributes.
   576  //
   577  // This operation is synchronous.
   578  //
   579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   580  // with awserr.Error's Code and Message methods to get detailed information about
   581  // the error.
   582  //
   583  // See the AWS API reference guide for AWS OpsWorks CM's
   584  // API operation DescribeAccountAttributes for usage and error information.
   585  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeAccountAttributes
   586  func (c *OpsWorksCM) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
   587  	req, out := c.DescribeAccountAttributesRequest(input)
   588  	return out, req.Send()
   589  }
   590  
   591  // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
   592  // the ability to pass a context and additional request options.
   593  //
   594  // See DescribeAccountAttributes for details on how to use this API operation.
   595  //
   596  // The context must be non-nil and will be used for request cancellation. If
   597  // the context is nil a panic will occur. In the future the SDK may create
   598  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   599  // for more information on using Contexts.
   600  func (c *OpsWorksCM) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
   601  	req, out := c.DescribeAccountAttributesRequest(input)
   602  	req.SetContext(ctx)
   603  	req.ApplyOptions(opts...)
   604  	return out, req.Send()
   605  }
   606  
   607  const opDescribeBackups = "DescribeBackups"
   608  
   609  // DescribeBackupsRequest generates a "aws/request.Request" representing the
   610  // client's request for the DescribeBackups operation. The "output" return
   611  // value will be populated with the request's response once the request completes
   612  // successfully.
   613  //
   614  // Use "Send" method on the returned Request to send the API call to the service.
   615  // the "output" return value is not valid until after Send returns without error.
   616  //
   617  // See DescribeBackups for more information on using the DescribeBackups
   618  // API call, and error handling.
   619  //
   620  // This method is useful when you want to inject custom logic or configuration
   621  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   622  //
   623  //
   624  //    // Example sending a request using the DescribeBackupsRequest method.
   625  //    req, resp := client.DescribeBackupsRequest(params)
   626  //
   627  //    err := req.Send()
   628  //    if err == nil { // resp is now filled
   629  //        fmt.Println(resp)
   630  //    }
   631  //
   632  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeBackups
   633  func (c *OpsWorksCM) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request.Request, output *DescribeBackupsOutput) {
   634  	op := &request.Operation{
   635  		Name:       opDescribeBackups,
   636  		HTTPMethod: "POST",
   637  		HTTPPath:   "/",
   638  		Paginator: &request.Paginator{
   639  			InputTokens:     []string{"NextToken"},
   640  			OutputTokens:    []string{"NextToken"},
   641  			LimitToken:      "MaxResults",
   642  			TruncationToken: "",
   643  		},
   644  	}
   645  
   646  	if input == nil {
   647  		input = &DescribeBackupsInput{}
   648  	}
   649  
   650  	output = &DescribeBackupsOutput{}
   651  	req = c.newRequest(op, input, output)
   652  	return
   653  }
   654  
   655  // DescribeBackups API operation for AWS OpsWorks CM.
   656  //
   657  // Describes backups. The results are ordered by time, with newest backups first.
   658  // If you do not specify a BackupId or ServerName, the command returns all backups.
   659  //
   660  // This operation is synchronous.
   661  //
   662  // A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException
   663  // is raised when parameters of the request are not valid.
   664  //
   665  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   666  // with awserr.Error's Code and Message methods to get detailed information about
   667  // the error.
   668  //
   669  // See the AWS API reference guide for AWS OpsWorks CM's
   670  // API operation DescribeBackups for usage and error information.
   671  //
   672  // Returned Error Types:
   673  //   * ValidationException
   674  //   One or more of the provided request parameters are not valid.
   675  //
   676  //   * ResourceNotFoundException
   677  //   The requested resource does not exist, or access was denied.
   678  //
   679  //   * InvalidNextTokenException
   680  //   This occurs when the provided nextToken is not valid.
   681  //
   682  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeBackups
   683  func (c *OpsWorksCM) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) {
   684  	req, out := c.DescribeBackupsRequest(input)
   685  	return out, req.Send()
   686  }
   687  
   688  // DescribeBackupsWithContext is the same as DescribeBackups with the addition of
   689  // the ability to pass a context and additional request options.
   690  //
   691  // See DescribeBackups for details on how to use this API operation.
   692  //
   693  // The context must be non-nil and will be used for request cancellation. If
   694  // the context is nil a panic will occur. In the future the SDK may create
   695  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   696  // for more information on using Contexts.
   697  func (c *OpsWorksCM) DescribeBackupsWithContext(ctx aws.Context, input *DescribeBackupsInput, opts ...request.Option) (*DescribeBackupsOutput, error) {
   698  	req, out := c.DescribeBackupsRequest(input)
   699  	req.SetContext(ctx)
   700  	req.ApplyOptions(opts...)
   701  	return out, req.Send()
   702  }
   703  
   704  // DescribeBackupsPages iterates over the pages of a DescribeBackups operation,
   705  // calling the "fn" function with the response data for each page. To stop
   706  // iterating, return false from the fn function.
   707  //
   708  // See DescribeBackups method for more information on how to use this operation.
   709  //
   710  // Note: This operation can generate multiple requests to a service.
   711  //
   712  //    // Example iterating over at most 3 pages of a DescribeBackups operation.
   713  //    pageNum := 0
   714  //    err := client.DescribeBackupsPages(params,
   715  //        func(page *opsworkscm.DescribeBackupsOutput, lastPage bool) bool {
   716  //            pageNum++
   717  //            fmt.Println(page)
   718  //            return pageNum <= 3
   719  //        })
   720  //
   721  func (c *OpsWorksCM) DescribeBackupsPages(input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool) error {
   722  	return c.DescribeBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
   723  }
   724  
   725  // DescribeBackupsPagesWithContext same as DescribeBackupsPages except
   726  // it takes a Context and allows setting request options on the pages.
   727  //
   728  // The context must be non-nil and will be used for request cancellation. If
   729  // the context is nil a panic will occur. In the future the SDK may create
   730  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   731  // for more information on using Contexts.
   732  func (c *OpsWorksCM) DescribeBackupsPagesWithContext(ctx aws.Context, input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool, opts ...request.Option) error {
   733  	p := request.Pagination{
   734  		NewRequest: func() (*request.Request, error) {
   735  			var inCpy *DescribeBackupsInput
   736  			if input != nil {
   737  				tmp := *input
   738  				inCpy = &tmp
   739  			}
   740  			req, _ := c.DescribeBackupsRequest(inCpy)
   741  			req.SetContext(ctx)
   742  			req.ApplyOptions(opts...)
   743  			return req, nil
   744  		},
   745  	}
   746  
   747  	for p.Next() {
   748  		if !fn(p.Page().(*DescribeBackupsOutput), !p.HasNextPage()) {
   749  			break
   750  		}
   751  	}
   752  
   753  	return p.Err()
   754  }
   755  
   756  const opDescribeEvents = "DescribeEvents"
   757  
   758  // DescribeEventsRequest generates a "aws/request.Request" representing the
   759  // client's request for the DescribeEvents operation. The "output" return
   760  // value will be populated with the request's response once the request completes
   761  // successfully.
   762  //
   763  // Use "Send" method on the returned Request to send the API call to the service.
   764  // the "output" return value is not valid until after Send returns without error.
   765  //
   766  // See DescribeEvents for more information on using the DescribeEvents
   767  // API call, and error handling.
   768  //
   769  // This method is useful when you want to inject custom logic or configuration
   770  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   771  //
   772  //
   773  //    // Example sending a request using the DescribeEventsRequest method.
   774  //    req, resp := client.DescribeEventsRequest(params)
   775  //
   776  //    err := req.Send()
   777  //    if err == nil { // resp is now filled
   778  //        fmt.Println(resp)
   779  //    }
   780  //
   781  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeEvents
   782  func (c *OpsWorksCM) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
   783  	op := &request.Operation{
   784  		Name:       opDescribeEvents,
   785  		HTTPMethod: "POST",
   786  		HTTPPath:   "/",
   787  		Paginator: &request.Paginator{
   788  			InputTokens:     []string{"NextToken"},
   789  			OutputTokens:    []string{"NextToken"},
   790  			LimitToken:      "MaxResults",
   791  			TruncationToken: "",
   792  		},
   793  	}
   794  
   795  	if input == nil {
   796  		input = &DescribeEventsInput{}
   797  	}
   798  
   799  	output = &DescribeEventsOutput{}
   800  	req = c.newRequest(op, input, output)
   801  	return
   802  }
   803  
   804  // DescribeEvents API operation for AWS OpsWorks CM.
   805  //
   806  // Describes events for a specified server. Results are ordered by time, with
   807  // newest events first.
   808  //
   809  // This operation is synchronous.
   810  //
   811  // A ResourceNotFoundException is thrown when the server does not exist. A ValidationException
   812  // is raised when parameters of the request are not valid.
   813  //
   814  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   815  // with awserr.Error's Code and Message methods to get detailed information about
   816  // the error.
   817  //
   818  // See the AWS API reference guide for AWS OpsWorks CM's
   819  // API operation DescribeEvents for usage and error information.
   820  //
   821  // Returned Error Types:
   822  //   * ValidationException
   823  //   One or more of the provided request parameters are not valid.
   824  //
   825  //   * InvalidNextTokenException
   826  //   This occurs when the provided nextToken is not valid.
   827  //
   828  //   * ResourceNotFoundException
   829  //   The requested resource does not exist, or access was denied.
   830  //
   831  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeEvents
   832  func (c *OpsWorksCM) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
   833  	req, out := c.DescribeEventsRequest(input)
   834  	return out, req.Send()
   835  }
   836  
   837  // DescribeEventsWithContext is the same as DescribeEvents with the addition of
   838  // the ability to pass a context and additional request options.
   839  //
   840  // See DescribeEvents for details on how to use this API operation.
   841  //
   842  // The context must be non-nil and will be used for request cancellation. If
   843  // the context is nil a panic will occur. In the future the SDK may create
   844  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   845  // for more information on using Contexts.
   846  func (c *OpsWorksCM) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
   847  	req, out := c.DescribeEventsRequest(input)
   848  	req.SetContext(ctx)
   849  	req.ApplyOptions(opts...)
   850  	return out, req.Send()
   851  }
   852  
   853  // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
   854  // calling the "fn" function with the response data for each page. To stop
   855  // iterating, return false from the fn function.
   856  //
   857  // See DescribeEvents method for more information on how to use this operation.
   858  //
   859  // Note: This operation can generate multiple requests to a service.
   860  //
   861  //    // Example iterating over at most 3 pages of a DescribeEvents operation.
   862  //    pageNum := 0
   863  //    err := client.DescribeEventsPages(params,
   864  //        func(page *opsworkscm.DescribeEventsOutput, lastPage bool) bool {
   865  //            pageNum++
   866  //            fmt.Println(page)
   867  //            return pageNum <= 3
   868  //        })
   869  //
   870  func (c *OpsWorksCM) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
   871  	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
   872  }
   873  
   874  // DescribeEventsPagesWithContext same as DescribeEventsPages except
   875  // it takes a Context and allows setting request options on the pages.
   876  //
   877  // The context must be non-nil and will be used for request cancellation. If
   878  // the context is nil a panic will occur. In the future the SDK may create
   879  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   880  // for more information on using Contexts.
   881  func (c *OpsWorksCM) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
   882  	p := request.Pagination{
   883  		NewRequest: func() (*request.Request, error) {
   884  			var inCpy *DescribeEventsInput
   885  			if input != nil {
   886  				tmp := *input
   887  				inCpy = &tmp
   888  			}
   889  			req, _ := c.DescribeEventsRequest(inCpy)
   890  			req.SetContext(ctx)
   891  			req.ApplyOptions(opts...)
   892  			return req, nil
   893  		},
   894  	}
   895  
   896  	for p.Next() {
   897  		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
   898  			break
   899  		}
   900  	}
   901  
   902  	return p.Err()
   903  }
   904  
   905  const opDescribeNodeAssociationStatus = "DescribeNodeAssociationStatus"
   906  
   907  // DescribeNodeAssociationStatusRequest generates a "aws/request.Request" representing the
   908  // client's request for the DescribeNodeAssociationStatus operation. The "output" return
   909  // value will be populated with the request's response once the request completes
   910  // successfully.
   911  //
   912  // Use "Send" method on the returned Request to send the API call to the service.
   913  // the "output" return value is not valid until after Send returns without error.
   914  //
   915  // See DescribeNodeAssociationStatus for more information on using the DescribeNodeAssociationStatus
   916  // API call, and error handling.
   917  //
   918  // This method is useful when you want to inject custom logic or configuration
   919  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   920  //
   921  //
   922  //    // Example sending a request using the DescribeNodeAssociationStatusRequest method.
   923  //    req, resp := client.DescribeNodeAssociationStatusRequest(params)
   924  //
   925  //    err := req.Send()
   926  //    if err == nil { // resp is now filled
   927  //        fmt.Println(resp)
   928  //    }
   929  //
   930  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeNodeAssociationStatus
   931  func (c *OpsWorksCM) DescribeNodeAssociationStatusRequest(input *DescribeNodeAssociationStatusInput) (req *request.Request, output *DescribeNodeAssociationStatusOutput) {
   932  	op := &request.Operation{
   933  		Name:       opDescribeNodeAssociationStatus,
   934  		HTTPMethod: "POST",
   935  		HTTPPath:   "/",
   936  	}
   937  
   938  	if input == nil {
   939  		input = &DescribeNodeAssociationStatusInput{}
   940  	}
   941  
   942  	output = &DescribeNodeAssociationStatusOutput{}
   943  	req = c.newRequest(op, input, output)
   944  	return
   945  }
   946  
   947  // DescribeNodeAssociationStatus API operation for AWS OpsWorks CM.
   948  //
   949  // Returns the current status of an existing association or disassociation request.
   950  //
   951  // A ResourceNotFoundException is thrown when no recent association or disassociation
   952  // request with the specified token is found, or when the server does not exist.
   953  // A ValidationException is raised when parameters of the request are not valid.
   954  //
   955  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   956  // with awserr.Error's Code and Message methods to get detailed information about
   957  // the error.
   958  //
   959  // See the AWS API reference guide for AWS OpsWorks CM's
   960  // API operation DescribeNodeAssociationStatus for usage and error information.
   961  //
   962  // Returned Error Types:
   963  //   * ResourceNotFoundException
   964  //   The requested resource does not exist, or access was denied.
   965  //
   966  //   * ValidationException
   967  //   One or more of the provided request parameters are not valid.
   968  //
   969  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeNodeAssociationStatus
   970  func (c *OpsWorksCM) DescribeNodeAssociationStatus(input *DescribeNodeAssociationStatusInput) (*DescribeNodeAssociationStatusOutput, error) {
   971  	req, out := c.DescribeNodeAssociationStatusRequest(input)
   972  	return out, req.Send()
   973  }
   974  
   975  // DescribeNodeAssociationStatusWithContext is the same as DescribeNodeAssociationStatus with the addition of
   976  // the ability to pass a context and additional request options.
   977  //
   978  // See DescribeNodeAssociationStatus for details on how to use this API operation.
   979  //
   980  // The context must be non-nil and will be used for request cancellation. If
   981  // the context is nil a panic will occur. In the future the SDK may create
   982  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   983  // for more information on using Contexts.
   984  func (c *OpsWorksCM) DescribeNodeAssociationStatusWithContext(ctx aws.Context, input *DescribeNodeAssociationStatusInput, opts ...request.Option) (*DescribeNodeAssociationStatusOutput, error) {
   985  	req, out := c.DescribeNodeAssociationStatusRequest(input)
   986  	req.SetContext(ctx)
   987  	req.ApplyOptions(opts...)
   988  	return out, req.Send()
   989  }
   990  
   991  const opDescribeServers = "DescribeServers"
   992  
   993  // DescribeServersRequest generates a "aws/request.Request" representing the
   994  // client's request for the DescribeServers operation. The "output" return
   995  // value will be populated with the request's response once the request completes
   996  // successfully.
   997  //
   998  // Use "Send" method on the returned Request to send the API call to the service.
   999  // the "output" return value is not valid until after Send returns without error.
  1000  //
  1001  // See DescribeServers for more information on using the DescribeServers
  1002  // API call, and error handling.
  1003  //
  1004  // This method is useful when you want to inject custom logic or configuration
  1005  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1006  //
  1007  //
  1008  //    // Example sending a request using the DescribeServersRequest method.
  1009  //    req, resp := client.DescribeServersRequest(params)
  1010  //
  1011  //    err := req.Send()
  1012  //    if err == nil { // resp is now filled
  1013  //        fmt.Println(resp)
  1014  //    }
  1015  //
  1016  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeServers
  1017  func (c *OpsWorksCM) DescribeServersRequest(input *DescribeServersInput) (req *request.Request, output *DescribeServersOutput) {
  1018  	op := &request.Operation{
  1019  		Name:       opDescribeServers,
  1020  		HTTPMethod: "POST",
  1021  		HTTPPath:   "/",
  1022  		Paginator: &request.Paginator{
  1023  			InputTokens:     []string{"NextToken"},
  1024  			OutputTokens:    []string{"NextToken"},
  1025  			LimitToken:      "MaxResults",
  1026  			TruncationToken: "",
  1027  		},
  1028  	}
  1029  
  1030  	if input == nil {
  1031  		input = &DescribeServersInput{}
  1032  	}
  1033  
  1034  	output = &DescribeServersOutput{}
  1035  	req = c.newRequest(op, input, output)
  1036  	return
  1037  }
  1038  
  1039  // DescribeServers API operation for AWS OpsWorks CM.
  1040  //
  1041  // Lists all configuration management servers that are identified with your
  1042  // account. Only the stored results from Amazon DynamoDB are returned. AWS OpsWorks
  1043  // CM does not query other services.
  1044  //
  1045  // This operation is synchronous.
  1046  //
  1047  // A ResourceNotFoundException is thrown when the server does not exist. A ValidationException
  1048  // is raised when parameters of the request are not valid.
  1049  //
  1050  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1051  // with awserr.Error's Code and Message methods to get detailed information about
  1052  // the error.
  1053  //
  1054  // See the AWS API reference guide for AWS OpsWorks CM's
  1055  // API operation DescribeServers for usage and error information.
  1056  //
  1057  // Returned Error Types:
  1058  //   * ValidationException
  1059  //   One or more of the provided request parameters are not valid.
  1060  //
  1061  //   * ResourceNotFoundException
  1062  //   The requested resource does not exist, or access was denied.
  1063  //
  1064  //   * InvalidNextTokenException
  1065  //   This occurs when the provided nextToken is not valid.
  1066  //
  1067  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DescribeServers
  1068  func (c *OpsWorksCM) DescribeServers(input *DescribeServersInput) (*DescribeServersOutput, error) {
  1069  	req, out := c.DescribeServersRequest(input)
  1070  	return out, req.Send()
  1071  }
  1072  
  1073  // DescribeServersWithContext is the same as DescribeServers with the addition of
  1074  // the ability to pass a context and additional request options.
  1075  //
  1076  // See DescribeServers for details on how to use this API operation.
  1077  //
  1078  // The context must be non-nil and will be used for request cancellation. If
  1079  // the context is nil a panic will occur. In the future the SDK may create
  1080  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1081  // for more information on using Contexts.
  1082  func (c *OpsWorksCM) DescribeServersWithContext(ctx aws.Context, input *DescribeServersInput, opts ...request.Option) (*DescribeServersOutput, error) {
  1083  	req, out := c.DescribeServersRequest(input)
  1084  	req.SetContext(ctx)
  1085  	req.ApplyOptions(opts...)
  1086  	return out, req.Send()
  1087  }
  1088  
  1089  // DescribeServersPages iterates over the pages of a DescribeServers operation,
  1090  // calling the "fn" function with the response data for each page. To stop
  1091  // iterating, return false from the fn function.
  1092  //
  1093  // See DescribeServers method for more information on how to use this operation.
  1094  //
  1095  // Note: This operation can generate multiple requests to a service.
  1096  //
  1097  //    // Example iterating over at most 3 pages of a DescribeServers operation.
  1098  //    pageNum := 0
  1099  //    err := client.DescribeServersPages(params,
  1100  //        func(page *opsworkscm.DescribeServersOutput, lastPage bool) bool {
  1101  //            pageNum++
  1102  //            fmt.Println(page)
  1103  //            return pageNum <= 3
  1104  //        })
  1105  //
  1106  func (c *OpsWorksCM) DescribeServersPages(input *DescribeServersInput, fn func(*DescribeServersOutput, bool) bool) error {
  1107  	return c.DescribeServersPagesWithContext(aws.BackgroundContext(), input, fn)
  1108  }
  1109  
  1110  // DescribeServersPagesWithContext same as DescribeServersPages except
  1111  // it takes a Context and allows setting request options on the pages.
  1112  //
  1113  // The context must be non-nil and will be used for request cancellation. If
  1114  // the context is nil a panic will occur. In the future the SDK may create
  1115  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1116  // for more information on using Contexts.
  1117  func (c *OpsWorksCM) DescribeServersPagesWithContext(ctx aws.Context, input *DescribeServersInput, fn func(*DescribeServersOutput, bool) bool, opts ...request.Option) error {
  1118  	p := request.Pagination{
  1119  		NewRequest: func() (*request.Request, error) {
  1120  			var inCpy *DescribeServersInput
  1121  			if input != nil {
  1122  				tmp := *input
  1123  				inCpy = &tmp
  1124  			}
  1125  			req, _ := c.DescribeServersRequest(inCpy)
  1126  			req.SetContext(ctx)
  1127  			req.ApplyOptions(opts...)
  1128  			return req, nil
  1129  		},
  1130  	}
  1131  
  1132  	for p.Next() {
  1133  		if !fn(p.Page().(*DescribeServersOutput), !p.HasNextPage()) {
  1134  			break
  1135  		}
  1136  	}
  1137  
  1138  	return p.Err()
  1139  }
  1140  
  1141  const opDisassociateNode = "DisassociateNode"
  1142  
  1143  // DisassociateNodeRequest generates a "aws/request.Request" representing the
  1144  // client's request for the DisassociateNode operation. The "output" return
  1145  // value will be populated with the request's response once the request completes
  1146  // successfully.
  1147  //
  1148  // Use "Send" method on the returned Request to send the API call to the service.
  1149  // the "output" return value is not valid until after Send returns without error.
  1150  //
  1151  // See DisassociateNode for more information on using the DisassociateNode
  1152  // API call, and error handling.
  1153  //
  1154  // This method is useful when you want to inject custom logic or configuration
  1155  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1156  //
  1157  //
  1158  //    // Example sending a request using the DisassociateNodeRequest method.
  1159  //    req, resp := client.DisassociateNodeRequest(params)
  1160  //
  1161  //    err := req.Send()
  1162  //    if err == nil { // resp is now filled
  1163  //        fmt.Println(resp)
  1164  //    }
  1165  //
  1166  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DisassociateNode
  1167  func (c *OpsWorksCM) DisassociateNodeRequest(input *DisassociateNodeInput) (req *request.Request, output *DisassociateNodeOutput) {
  1168  	op := &request.Operation{
  1169  		Name:       opDisassociateNode,
  1170  		HTTPMethod: "POST",
  1171  		HTTPPath:   "/",
  1172  	}
  1173  
  1174  	if input == nil {
  1175  		input = &DisassociateNodeInput{}
  1176  	}
  1177  
  1178  	output = &DisassociateNodeOutput{}
  1179  	req = c.newRequest(op, input, output)
  1180  	return
  1181  }
  1182  
  1183  // DisassociateNode API operation for AWS OpsWorks CM.
  1184  //
  1185  // Disassociates a node from an AWS OpsWorks CM server, and removes the node
  1186  // from the server's managed nodes. After a node is disassociated, the node
  1187  // key pair is no longer valid for accessing the configuration manager's API.
  1188  // For more information about how to associate a node, see AssociateNode.
  1189  //
  1190  // A node can can only be disassociated from a server that is in a HEALTHY state.
  1191  // Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException
  1192  // is thrown when the server does not exist. A ValidationException is raised
  1193  // when parameters of the request are not valid.
  1194  //
  1195  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1196  // with awserr.Error's Code and Message methods to get detailed information about
  1197  // the error.
  1198  //
  1199  // See the AWS API reference guide for AWS OpsWorks CM's
  1200  // API operation DisassociateNode for usage and error information.
  1201  //
  1202  // Returned Error Types:
  1203  //   * InvalidStateException
  1204  //   The resource is in a state that does not allow you to perform a specified
  1205  //   action.
  1206  //
  1207  //   * ResourceNotFoundException
  1208  //   The requested resource does not exist, or access was denied.
  1209  //
  1210  //   * ValidationException
  1211  //   One or more of the provided request parameters are not valid.
  1212  //
  1213  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/DisassociateNode
  1214  func (c *OpsWorksCM) DisassociateNode(input *DisassociateNodeInput) (*DisassociateNodeOutput, error) {
  1215  	req, out := c.DisassociateNodeRequest(input)
  1216  	return out, req.Send()
  1217  }
  1218  
  1219  // DisassociateNodeWithContext is the same as DisassociateNode with the addition of
  1220  // the ability to pass a context and additional request options.
  1221  //
  1222  // See DisassociateNode for details on how to use this API operation.
  1223  //
  1224  // The context must be non-nil and will be used for request cancellation. If
  1225  // the context is nil a panic will occur. In the future the SDK may create
  1226  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1227  // for more information on using Contexts.
  1228  func (c *OpsWorksCM) DisassociateNodeWithContext(ctx aws.Context, input *DisassociateNodeInput, opts ...request.Option) (*DisassociateNodeOutput, error) {
  1229  	req, out := c.DisassociateNodeRequest(input)
  1230  	req.SetContext(ctx)
  1231  	req.ApplyOptions(opts...)
  1232  	return out, req.Send()
  1233  }
  1234  
  1235  const opExportServerEngineAttribute = "ExportServerEngineAttribute"
  1236  
  1237  // ExportServerEngineAttributeRequest generates a "aws/request.Request" representing the
  1238  // client's request for the ExportServerEngineAttribute operation. The "output" return
  1239  // value will be populated with the request's response once the request completes
  1240  // successfully.
  1241  //
  1242  // Use "Send" method on the returned Request to send the API call to the service.
  1243  // the "output" return value is not valid until after Send returns without error.
  1244  //
  1245  // See ExportServerEngineAttribute for more information on using the ExportServerEngineAttribute
  1246  // API call, and error handling.
  1247  //
  1248  // This method is useful when you want to inject custom logic or configuration
  1249  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1250  //
  1251  //
  1252  //    // Example sending a request using the ExportServerEngineAttributeRequest method.
  1253  //    req, resp := client.ExportServerEngineAttributeRequest(params)
  1254  //
  1255  //    err := req.Send()
  1256  //    if err == nil { // resp is now filled
  1257  //        fmt.Println(resp)
  1258  //    }
  1259  //
  1260  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/ExportServerEngineAttribute
  1261  func (c *OpsWorksCM) ExportServerEngineAttributeRequest(input *ExportServerEngineAttributeInput) (req *request.Request, output *ExportServerEngineAttributeOutput) {
  1262  	op := &request.Operation{
  1263  		Name:       opExportServerEngineAttribute,
  1264  		HTTPMethod: "POST",
  1265  		HTTPPath:   "/",
  1266  	}
  1267  
  1268  	if input == nil {
  1269  		input = &ExportServerEngineAttributeInput{}
  1270  	}
  1271  
  1272  	output = &ExportServerEngineAttributeOutput{}
  1273  	req = c.newRequest(op, input, output)
  1274  	return
  1275  }
  1276  
  1277  // ExportServerEngineAttribute API operation for AWS OpsWorks CM.
  1278  //
  1279  // Exports a specified server engine attribute as a base64-encoded string. For
  1280  // example, you can export user data that you can use in EC2 to associate nodes
  1281  // with a server.
  1282  //
  1283  // This operation is synchronous.
  1284  //
  1285  // A ValidationException is raised when parameters of the request are not valid.
  1286  // A ResourceNotFoundException is thrown when the server does not exist. An
  1287  // InvalidStateException is thrown when the server is in any of the following
  1288  // states: CREATING, TERMINATED, FAILED or DELETING.
  1289  //
  1290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1291  // with awserr.Error's Code and Message methods to get detailed information about
  1292  // the error.
  1293  //
  1294  // See the AWS API reference guide for AWS OpsWorks CM's
  1295  // API operation ExportServerEngineAttribute for usage and error information.
  1296  //
  1297  // Returned Error Types:
  1298  //   * ValidationException
  1299  //   One or more of the provided request parameters are not valid.
  1300  //
  1301  //   * ResourceNotFoundException
  1302  //   The requested resource does not exist, or access was denied.
  1303  //
  1304  //   * InvalidStateException
  1305  //   The resource is in a state that does not allow you to perform a specified
  1306  //   action.
  1307  //
  1308  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/ExportServerEngineAttribute
  1309  func (c *OpsWorksCM) ExportServerEngineAttribute(input *ExportServerEngineAttributeInput) (*ExportServerEngineAttributeOutput, error) {
  1310  	req, out := c.ExportServerEngineAttributeRequest(input)
  1311  	return out, req.Send()
  1312  }
  1313  
  1314  // ExportServerEngineAttributeWithContext is the same as ExportServerEngineAttribute with the addition of
  1315  // the ability to pass a context and additional request options.
  1316  //
  1317  // See ExportServerEngineAttribute for details on how to use this API operation.
  1318  //
  1319  // The context must be non-nil and will be used for request cancellation. If
  1320  // the context is nil a panic will occur. In the future the SDK may create
  1321  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1322  // for more information on using Contexts.
  1323  func (c *OpsWorksCM) ExportServerEngineAttributeWithContext(ctx aws.Context, input *ExportServerEngineAttributeInput, opts ...request.Option) (*ExportServerEngineAttributeOutput, error) {
  1324  	req, out := c.ExportServerEngineAttributeRequest(input)
  1325  	req.SetContext(ctx)
  1326  	req.ApplyOptions(opts...)
  1327  	return out, req.Send()
  1328  }
  1329  
  1330  const opListTagsForResource = "ListTagsForResource"
  1331  
  1332  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1333  // client's request for the ListTagsForResource operation. The "output" return
  1334  // value will be populated with the request's response once the request completes
  1335  // successfully.
  1336  //
  1337  // Use "Send" method on the returned Request to send the API call to the service.
  1338  // the "output" return value is not valid until after Send returns without error.
  1339  //
  1340  // See ListTagsForResource for more information on using the ListTagsForResource
  1341  // API call, and error handling.
  1342  //
  1343  // This method is useful when you want to inject custom logic or configuration
  1344  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1345  //
  1346  //
  1347  //    // Example sending a request using the ListTagsForResourceRequest method.
  1348  //    req, resp := client.ListTagsForResourceRequest(params)
  1349  //
  1350  //    err := req.Send()
  1351  //    if err == nil { // resp is now filled
  1352  //        fmt.Println(resp)
  1353  //    }
  1354  //
  1355  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/ListTagsForResource
  1356  func (c *OpsWorksCM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1357  	op := &request.Operation{
  1358  		Name:       opListTagsForResource,
  1359  		HTTPMethod: "POST",
  1360  		HTTPPath:   "/",
  1361  		Paginator: &request.Paginator{
  1362  			InputTokens:     []string{"NextToken"},
  1363  			OutputTokens:    []string{"NextToken"},
  1364  			LimitToken:      "MaxResults",
  1365  			TruncationToken: "",
  1366  		},
  1367  	}
  1368  
  1369  	if input == nil {
  1370  		input = &ListTagsForResourceInput{}
  1371  	}
  1372  
  1373  	output = &ListTagsForResourceOutput{}
  1374  	req = c.newRequest(op, input, output)
  1375  	return
  1376  }
  1377  
  1378  // ListTagsForResource API operation for AWS OpsWorks CM.
  1379  //
  1380  // Returns a list of tags that are applied to the specified AWS OpsWorks for
  1381  // Chef Automate or AWS OpsWorks for Puppet Enterprise servers or backups.
  1382  //
  1383  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1384  // with awserr.Error's Code and Message methods to get detailed information about
  1385  // the error.
  1386  //
  1387  // See the AWS API reference guide for AWS OpsWorks CM's
  1388  // API operation ListTagsForResource for usage and error information.
  1389  //
  1390  // Returned Error Types:
  1391  //   * ResourceNotFoundException
  1392  //   The requested resource does not exist, or access was denied.
  1393  //
  1394  //   * ValidationException
  1395  //   One or more of the provided request parameters are not valid.
  1396  //
  1397  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/ListTagsForResource
  1398  func (c *OpsWorksCM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1399  	req, out := c.ListTagsForResourceRequest(input)
  1400  	return out, req.Send()
  1401  }
  1402  
  1403  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1404  // the ability to pass a context and additional request options.
  1405  //
  1406  // See ListTagsForResource for details on how to use this API operation.
  1407  //
  1408  // The context must be non-nil and will be used for request cancellation. If
  1409  // the context is nil a panic will occur. In the future the SDK may create
  1410  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1411  // for more information on using Contexts.
  1412  func (c *OpsWorksCM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1413  	req, out := c.ListTagsForResourceRequest(input)
  1414  	req.SetContext(ctx)
  1415  	req.ApplyOptions(opts...)
  1416  	return out, req.Send()
  1417  }
  1418  
  1419  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  1420  // calling the "fn" function with the response data for each page. To stop
  1421  // iterating, return false from the fn function.
  1422  //
  1423  // See ListTagsForResource method for more information on how to use this operation.
  1424  //
  1425  // Note: This operation can generate multiple requests to a service.
  1426  //
  1427  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  1428  //    pageNum := 0
  1429  //    err := client.ListTagsForResourcePages(params,
  1430  //        func(page *opsworkscm.ListTagsForResourceOutput, lastPage bool) bool {
  1431  //            pageNum++
  1432  //            fmt.Println(page)
  1433  //            return pageNum <= 3
  1434  //        })
  1435  //
  1436  func (c *OpsWorksCM) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  1437  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  1438  }
  1439  
  1440  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  1441  // it takes a Context and allows setting request options on the pages.
  1442  //
  1443  // The context must be non-nil and will be used for request cancellation. If
  1444  // the context is nil a panic will occur. In the future the SDK may create
  1445  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1446  // for more information on using Contexts.
  1447  func (c *OpsWorksCM) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  1448  	p := request.Pagination{
  1449  		NewRequest: func() (*request.Request, error) {
  1450  			var inCpy *ListTagsForResourceInput
  1451  			if input != nil {
  1452  				tmp := *input
  1453  				inCpy = &tmp
  1454  			}
  1455  			req, _ := c.ListTagsForResourceRequest(inCpy)
  1456  			req.SetContext(ctx)
  1457  			req.ApplyOptions(opts...)
  1458  			return req, nil
  1459  		},
  1460  	}
  1461  
  1462  	for p.Next() {
  1463  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  1464  			break
  1465  		}
  1466  	}
  1467  
  1468  	return p.Err()
  1469  }
  1470  
  1471  const opRestoreServer = "RestoreServer"
  1472  
  1473  // RestoreServerRequest generates a "aws/request.Request" representing the
  1474  // client's request for the RestoreServer operation. The "output" return
  1475  // value will be populated with the request's response once the request completes
  1476  // successfully.
  1477  //
  1478  // Use "Send" method on the returned Request to send the API call to the service.
  1479  // the "output" return value is not valid until after Send returns without error.
  1480  //
  1481  // See RestoreServer for more information on using the RestoreServer
  1482  // API call, and error handling.
  1483  //
  1484  // This method is useful when you want to inject custom logic or configuration
  1485  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1486  //
  1487  //
  1488  //    // Example sending a request using the RestoreServerRequest method.
  1489  //    req, resp := client.RestoreServerRequest(params)
  1490  //
  1491  //    err := req.Send()
  1492  //    if err == nil { // resp is now filled
  1493  //        fmt.Println(resp)
  1494  //    }
  1495  //
  1496  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/RestoreServer
  1497  func (c *OpsWorksCM) RestoreServerRequest(input *RestoreServerInput) (req *request.Request, output *RestoreServerOutput) {
  1498  	op := &request.Operation{
  1499  		Name:       opRestoreServer,
  1500  		HTTPMethod: "POST",
  1501  		HTTPPath:   "/",
  1502  	}
  1503  
  1504  	if input == nil {
  1505  		input = &RestoreServerInput{}
  1506  	}
  1507  
  1508  	output = &RestoreServerOutput{}
  1509  	req = c.newRequest(op, input, output)
  1510  	return
  1511  }
  1512  
  1513  // RestoreServer API operation for AWS OpsWorks CM.
  1514  //
  1515  // Restores a backup to a server that is in a CONNECTION_LOST, HEALTHY, RUNNING,
  1516  // UNHEALTHY, or TERMINATED state. When you run RestoreServer, the server's
  1517  // EC2 instance is deleted, and a new EC2 instance is configured. RestoreServer
  1518  // maintains the existing server endpoint, so configuration management of the
  1519  // server's client devices (nodes) should continue to work.
  1520  //
  1521  // Restoring from a backup is performed by creating a new EC2 instance. If restoration
  1522  // is successful, and the server is in a HEALTHY state, AWS OpsWorks CM switches
  1523  // traffic over to the new instance. After restoration is finished, the old
  1524  // EC2 instance is maintained in a Running or Stopped state, but is eventually
  1525  // terminated.
  1526  //
  1527  // This operation is asynchronous.
  1528  //
  1529  // An InvalidStateException is thrown when the server is not in a valid state.
  1530  // A ResourceNotFoundException is thrown when the server does not exist. A ValidationException
  1531  // is raised when parameters of the request are not valid.
  1532  //
  1533  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1534  // with awserr.Error's Code and Message methods to get detailed information about
  1535  // the error.
  1536  //
  1537  // See the AWS API reference guide for AWS OpsWorks CM's
  1538  // API operation RestoreServer for usage and error information.
  1539  //
  1540  // Returned Error Types:
  1541  //   * InvalidStateException
  1542  //   The resource is in a state that does not allow you to perform a specified
  1543  //   action.
  1544  //
  1545  //   * ResourceNotFoundException
  1546  //   The requested resource does not exist, or access was denied.
  1547  //
  1548  //   * ValidationException
  1549  //   One or more of the provided request parameters are not valid.
  1550  //
  1551  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/RestoreServer
  1552  func (c *OpsWorksCM) RestoreServer(input *RestoreServerInput) (*RestoreServerOutput, error) {
  1553  	req, out := c.RestoreServerRequest(input)
  1554  	return out, req.Send()
  1555  }
  1556  
  1557  // RestoreServerWithContext is the same as RestoreServer with the addition of
  1558  // the ability to pass a context and additional request options.
  1559  //
  1560  // See RestoreServer for details on how to use this API operation.
  1561  //
  1562  // The context must be non-nil and will be used for request cancellation. If
  1563  // the context is nil a panic will occur. In the future the SDK may create
  1564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1565  // for more information on using Contexts.
  1566  func (c *OpsWorksCM) RestoreServerWithContext(ctx aws.Context, input *RestoreServerInput, opts ...request.Option) (*RestoreServerOutput, error) {
  1567  	req, out := c.RestoreServerRequest(input)
  1568  	req.SetContext(ctx)
  1569  	req.ApplyOptions(opts...)
  1570  	return out, req.Send()
  1571  }
  1572  
  1573  const opStartMaintenance = "StartMaintenance"
  1574  
  1575  // StartMaintenanceRequest generates a "aws/request.Request" representing the
  1576  // client's request for the StartMaintenance operation. The "output" return
  1577  // value will be populated with the request's response once the request completes
  1578  // successfully.
  1579  //
  1580  // Use "Send" method on the returned Request to send the API call to the service.
  1581  // the "output" return value is not valid until after Send returns without error.
  1582  //
  1583  // See StartMaintenance for more information on using the StartMaintenance
  1584  // API call, and error handling.
  1585  //
  1586  // This method is useful when you want to inject custom logic or configuration
  1587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1588  //
  1589  //
  1590  //    // Example sending a request using the StartMaintenanceRequest method.
  1591  //    req, resp := client.StartMaintenanceRequest(params)
  1592  //
  1593  //    err := req.Send()
  1594  //    if err == nil { // resp is now filled
  1595  //        fmt.Println(resp)
  1596  //    }
  1597  //
  1598  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/StartMaintenance
  1599  func (c *OpsWorksCM) StartMaintenanceRequest(input *StartMaintenanceInput) (req *request.Request, output *StartMaintenanceOutput) {
  1600  	op := &request.Operation{
  1601  		Name:       opStartMaintenance,
  1602  		HTTPMethod: "POST",
  1603  		HTTPPath:   "/",
  1604  	}
  1605  
  1606  	if input == nil {
  1607  		input = &StartMaintenanceInput{}
  1608  	}
  1609  
  1610  	output = &StartMaintenanceOutput{}
  1611  	req = c.newRequest(op, input, output)
  1612  	return
  1613  }
  1614  
  1615  // StartMaintenance API operation for AWS OpsWorks CM.
  1616  //
  1617  // Manually starts server maintenance. This command can be useful if an earlier
  1618  // maintenance attempt failed, and the underlying cause of maintenance failure
  1619  // has been resolved. The server is in an UNDER_MAINTENANCE state while maintenance
  1620  // is in progress.
  1621  //
  1622  // Maintenance can only be started on servers in HEALTHY and UNHEALTHY states.
  1623  // Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException
  1624  // is thrown when the server does not exist. A ValidationException is raised
  1625  // when parameters of the request are not valid.
  1626  //
  1627  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1628  // with awserr.Error's Code and Message methods to get detailed information about
  1629  // the error.
  1630  //
  1631  // See the AWS API reference guide for AWS OpsWorks CM's
  1632  // API operation StartMaintenance for usage and error information.
  1633  //
  1634  // Returned Error Types:
  1635  //   * InvalidStateException
  1636  //   The resource is in a state that does not allow you to perform a specified
  1637  //   action.
  1638  //
  1639  //   * ResourceNotFoundException
  1640  //   The requested resource does not exist, or access was denied.
  1641  //
  1642  //   * ValidationException
  1643  //   One or more of the provided request parameters are not valid.
  1644  //
  1645  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/StartMaintenance
  1646  func (c *OpsWorksCM) StartMaintenance(input *StartMaintenanceInput) (*StartMaintenanceOutput, error) {
  1647  	req, out := c.StartMaintenanceRequest(input)
  1648  	return out, req.Send()
  1649  }
  1650  
  1651  // StartMaintenanceWithContext is the same as StartMaintenance with the addition of
  1652  // the ability to pass a context and additional request options.
  1653  //
  1654  // See StartMaintenance for details on how to use this API operation.
  1655  //
  1656  // The context must be non-nil and will be used for request cancellation. If
  1657  // the context is nil a panic will occur. In the future the SDK may create
  1658  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1659  // for more information on using Contexts.
  1660  func (c *OpsWorksCM) StartMaintenanceWithContext(ctx aws.Context, input *StartMaintenanceInput, opts ...request.Option) (*StartMaintenanceOutput, error) {
  1661  	req, out := c.StartMaintenanceRequest(input)
  1662  	req.SetContext(ctx)
  1663  	req.ApplyOptions(opts...)
  1664  	return out, req.Send()
  1665  }
  1666  
  1667  const opTagResource = "TagResource"
  1668  
  1669  // TagResourceRequest generates a "aws/request.Request" representing the
  1670  // client's request for the TagResource operation. The "output" return
  1671  // value will be populated with the request's response once the request completes
  1672  // successfully.
  1673  //
  1674  // Use "Send" method on the returned Request to send the API call to the service.
  1675  // the "output" return value is not valid until after Send returns without error.
  1676  //
  1677  // See TagResource for more information on using the TagResource
  1678  // API call, and error handling.
  1679  //
  1680  // This method is useful when you want to inject custom logic or configuration
  1681  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1682  //
  1683  //
  1684  //    // Example sending a request using the TagResourceRequest method.
  1685  //    req, resp := client.TagResourceRequest(params)
  1686  //
  1687  //    err := req.Send()
  1688  //    if err == nil { // resp is now filled
  1689  //        fmt.Println(resp)
  1690  //    }
  1691  //
  1692  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/TagResource
  1693  func (c *OpsWorksCM) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1694  	op := &request.Operation{
  1695  		Name:       opTagResource,
  1696  		HTTPMethod: "POST",
  1697  		HTTPPath:   "/",
  1698  	}
  1699  
  1700  	if input == nil {
  1701  		input = &TagResourceInput{}
  1702  	}
  1703  
  1704  	output = &TagResourceOutput{}
  1705  	req = c.newRequest(op, input, output)
  1706  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1707  	return
  1708  }
  1709  
  1710  // TagResource API operation for AWS OpsWorks CM.
  1711  //
  1712  // Applies tags to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet
  1713  // Enterprise server, or to server backups.
  1714  //
  1715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1716  // with awserr.Error's Code and Message methods to get detailed information about
  1717  // the error.
  1718  //
  1719  // See the AWS API reference guide for AWS OpsWorks CM's
  1720  // API operation TagResource for usage and error information.
  1721  //
  1722  // Returned Error Types:
  1723  //   * ResourceNotFoundException
  1724  //   The requested resource does not exist, or access was denied.
  1725  //
  1726  //   * ValidationException
  1727  //   One or more of the provided request parameters are not valid.
  1728  //
  1729  //   * InvalidStateException
  1730  //   The resource is in a state that does not allow you to perform a specified
  1731  //   action.
  1732  //
  1733  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/TagResource
  1734  func (c *OpsWorksCM) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1735  	req, out := c.TagResourceRequest(input)
  1736  	return out, req.Send()
  1737  }
  1738  
  1739  // TagResourceWithContext is the same as TagResource with the addition of
  1740  // the ability to pass a context and additional request options.
  1741  //
  1742  // See TagResource for details on how to use this API operation.
  1743  //
  1744  // The context must be non-nil and will be used for request cancellation. If
  1745  // the context is nil a panic will occur. In the future the SDK may create
  1746  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1747  // for more information on using Contexts.
  1748  func (c *OpsWorksCM) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1749  	req, out := c.TagResourceRequest(input)
  1750  	req.SetContext(ctx)
  1751  	req.ApplyOptions(opts...)
  1752  	return out, req.Send()
  1753  }
  1754  
  1755  const opUntagResource = "UntagResource"
  1756  
  1757  // UntagResourceRequest generates a "aws/request.Request" representing the
  1758  // client's request for the UntagResource operation. The "output" return
  1759  // value will be populated with the request's response once the request completes
  1760  // successfully.
  1761  //
  1762  // Use "Send" method on the returned Request to send the API call to the service.
  1763  // the "output" return value is not valid until after Send returns without error.
  1764  //
  1765  // See UntagResource for more information on using the UntagResource
  1766  // API call, and error handling.
  1767  //
  1768  // This method is useful when you want to inject custom logic or configuration
  1769  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1770  //
  1771  //
  1772  //    // Example sending a request using the UntagResourceRequest method.
  1773  //    req, resp := client.UntagResourceRequest(params)
  1774  //
  1775  //    err := req.Send()
  1776  //    if err == nil { // resp is now filled
  1777  //        fmt.Println(resp)
  1778  //    }
  1779  //
  1780  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/UntagResource
  1781  func (c *OpsWorksCM) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1782  	op := &request.Operation{
  1783  		Name:       opUntagResource,
  1784  		HTTPMethod: "POST",
  1785  		HTTPPath:   "/",
  1786  	}
  1787  
  1788  	if input == nil {
  1789  		input = &UntagResourceInput{}
  1790  	}
  1791  
  1792  	output = &UntagResourceOutput{}
  1793  	req = c.newRequest(op, input, output)
  1794  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1795  	return
  1796  }
  1797  
  1798  // UntagResource API operation for AWS OpsWorks CM.
  1799  //
  1800  // Removes specified tags from an AWS OpsWorks-CM server or backup.
  1801  //
  1802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1803  // with awserr.Error's Code and Message methods to get detailed information about
  1804  // the error.
  1805  //
  1806  // See the AWS API reference guide for AWS OpsWorks CM's
  1807  // API operation UntagResource for usage and error information.
  1808  //
  1809  // Returned Error Types:
  1810  //   * ResourceNotFoundException
  1811  //   The requested resource does not exist, or access was denied.
  1812  //
  1813  //   * ValidationException
  1814  //   One or more of the provided request parameters are not valid.
  1815  //
  1816  //   * InvalidStateException
  1817  //   The resource is in a state that does not allow you to perform a specified
  1818  //   action.
  1819  //
  1820  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/UntagResource
  1821  func (c *OpsWorksCM) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1822  	req, out := c.UntagResourceRequest(input)
  1823  	return out, req.Send()
  1824  }
  1825  
  1826  // UntagResourceWithContext is the same as UntagResource with the addition of
  1827  // the ability to pass a context and additional request options.
  1828  //
  1829  // See UntagResource for details on how to use this API operation.
  1830  //
  1831  // The context must be non-nil and will be used for request cancellation. If
  1832  // the context is nil a panic will occur. In the future the SDK may create
  1833  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1834  // for more information on using Contexts.
  1835  func (c *OpsWorksCM) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1836  	req, out := c.UntagResourceRequest(input)
  1837  	req.SetContext(ctx)
  1838  	req.ApplyOptions(opts...)
  1839  	return out, req.Send()
  1840  }
  1841  
  1842  const opUpdateServer = "UpdateServer"
  1843  
  1844  // UpdateServerRequest generates a "aws/request.Request" representing the
  1845  // client's request for the UpdateServer operation. The "output" return
  1846  // value will be populated with the request's response once the request completes
  1847  // successfully.
  1848  //
  1849  // Use "Send" method on the returned Request to send the API call to the service.
  1850  // the "output" return value is not valid until after Send returns without error.
  1851  //
  1852  // See UpdateServer for more information on using the UpdateServer
  1853  // API call, and error handling.
  1854  //
  1855  // This method is useful when you want to inject custom logic or configuration
  1856  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1857  //
  1858  //
  1859  //    // Example sending a request using the UpdateServerRequest method.
  1860  //    req, resp := client.UpdateServerRequest(params)
  1861  //
  1862  //    err := req.Send()
  1863  //    if err == nil { // resp is now filled
  1864  //        fmt.Println(resp)
  1865  //    }
  1866  //
  1867  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/UpdateServer
  1868  func (c *OpsWorksCM) UpdateServerRequest(input *UpdateServerInput) (req *request.Request, output *UpdateServerOutput) {
  1869  	op := &request.Operation{
  1870  		Name:       opUpdateServer,
  1871  		HTTPMethod: "POST",
  1872  		HTTPPath:   "/",
  1873  	}
  1874  
  1875  	if input == nil {
  1876  		input = &UpdateServerInput{}
  1877  	}
  1878  
  1879  	output = &UpdateServerOutput{}
  1880  	req = c.newRequest(op, input, output)
  1881  	return
  1882  }
  1883  
  1884  // UpdateServer API operation for AWS OpsWorks CM.
  1885  //
  1886  // Updates settings for a server.
  1887  //
  1888  // This operation is synchronous.
  1889  //
  1890  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1891  // with awserr.Error's Code and Message methods to get detailed information about
  1892  // the error.
  1893  //
  1894  // See the AWS API reference guide for AWS OpsWorks CM's
  1895  // API operation UpdateServer for usage and error information.
  1896  //
  1897  // Returned Error Types:
  1898  //   * InvalidStateException
  1899  //   The resource is in a state that does not allow you to perform a specified
  1900  //   action.
  1901  //
  1902  //   * ResourceNotFoundException
  1903  //   The requested resource does not exist, or access was denied.
  1904  //
  1905  //   * ValidationException
  1906  //   One or more of the provided request parameters are not valid.
  1907  //
  1908  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/UpdateServer
  1909  func (c *OpsWorksCM) UpdateServer(input *UpdateServerInput) (*UpdateServerOutput, error) {
  1910  	req, out := c.UpdateServerRequest(input)
  1911  	return out, req.Send()
  1912  }
  1913  
  1914  // UpdateServerWithContext is the same as UpdateServer with the addition of
  1915  // the ability to pass a context and additional request options.
  1916  //
  1917  // See UpdateServer for details on how to use this API operation.
  1918  //
  1919  // The context must be non-nil and will be used for request cancellation. If
  1920  // the context is nil a panic will occur. In the future the SDK may create
  1921  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1922  // for more information on using Contexts.
  1923  func (c *OpsWorksCM) UpdateServerWithContext(ctx aws.Context, input *UpdateServerInput, opts ...request.Option) (*UpdateServerOutput, error) {
  1924  	req, out := c.UpdateServerRequest(input)
  1925  	req.SetContext(ctx)
  1926  	req.ApplyOptions(opts...)
  1927  	return out, req.Send()
  1928  }
  1929  
  1930  const opUpdateServerEngineAttributes = "UpdateServerEngineAttributes"
  1931  
  1932  // UpdateServerEngineAttributesRequest generates a "aws/request.Request" representing the
  1933  // client's request for the UpdateServerEngineAttributes operation. The "output" return
  1934  // value will be populated with the request's response once the request completes
  1935  // successfully.
  1936  //
  1937  // Use "Send" method on the returned Request to send the API call to the service.
  1938  // the "output" return value is not valid until after Send returns without error.
  1939  //
  1940  // See UpdateServerEngineAttributes for more information on using the UpdateServerEngineAttributes
  1941  // API call, and error handling.
  1942  //
  1943  // This method is useful when you want to inject custom logic or configuration
  1944  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1945  //
  1946  //
  1947  //    // Example sending a request using the UpdateServerEngineAttributesRequest method.
  1948  //    req, resp := client.UpdateServerEngineAttributesRequest(params)
  1949  //
  1950  //    err := req.Send()
  1951  //    if err == nil { // resp is now filled
  1952  //        fmt.Println(resp)
  1953  //    }
  1954  //
  1955  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/UpdateServerEngineAttributes
  1956  func (c *OpsWorksCM) UpdateServerEngineAttributesRequest(input *UpdateServerEngineAttributesInput) (req *request.Request, output *UpdateServerEngineAttributesOutput) {
  1957  	op := &request.Operation{
  1958  		Name:       opUpdateServerEngineAttributes,
  1959  		HTTPMethod: "POST",
  1960  		HTTPPath:   "/",
  1961  	}
  1962  
  1963  	if input == nil {
  1964  		input = &UpdateServerEngineAttributesInput{}
  1965  	}
  1966  
  1967  	output = &UpdateServerEngineAttributesOutput{}
  1968  	req = c.newRequest(op, input, output)
  1969  	return
  1970  }
  1971  
  1972  // UpdateServerEngineAttributes API operation for AWS OpsWorks CM.
  1973  //
  1974  // Updates engine-specific attributes on a specified server. The server enters
  1975  // the MODIFYING state when this operation is in progress. Only one update can
  1976  // occur at a time. You can use this command to reset a Chef server's public
  1977  // key (CHEF_PIVOTAL_KEY) or a Puppet server's admin password (PUPPET_ADMIN_PASSWORD).
  1978  //
  1979  // This operation is asynchronous.
  1980  //
  1981  // This operation can only be called for servers in HEALTHY or UNHEALTHY states.
  1982  // Otherwise, an InvalidStateException is raised. A ResourceNotFoundException
  1983  // is thrown when the server does not exist. A ValidationException is raised
  1984  // when parameters of the request are not valid.
  1985  //
  1986  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1987  // with awserr.Error's Code and Message methods to get detailed information about
  1988  // the error.
  1989  //
  1990  // See the AWS API reference guide for AWS OpsWorks CM's
  1991  // API operation UpdateServerEngineAttributes for usage and error information.
  1992  //
  1993  // Returned Error Types:
  1994  //   * InvalidStateException
  1995  //   The resource is in a state that does not allow you to perform a specified
  1996  //   action.
  1997  //
  1998  //   * ResourceNotFoundException
  1999  //   The requested resource does not exist, or access was denied.
  2000  //
  2001  //   * ValidationException
  2002  //   One or more of the provided request parameters are not valid.
  2003  //
  2004  // See also, https://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/UpdateServerEngineAttributes
  2005  func (c *OpsWorksCM) UpdateServerEngineAttributes(input *UpdateServerEngineAttributesInput) (*UpdateServerEngineAttributesOutput, error) {
  2006  	req, out := c.UpdateServerEngineAttributesRequest(input)
  2007  	return out, req.Send()
  2008  }
  2009  
  2010  // UpdateServerEngineAttributesWithContext is the same as UpdateServerEngineAttributes with the addition of
  2011  // the ability to pass a context and additional request options.
  2012  //
  2013  // See UpdateServerEngineAttributes for details on how to use this API operation.
  2014  //
  2015  // The context must be non-nil and will be used for request cancellation. If
  2016  // the context is nil a panic will occur. In the future the SDK may create
  2017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2018  // for more information on using Contexts.
  2019  func (c *OpsWorksCM) UpdateServerEngineAttributesWithContext(ctx aws.Context, input *UpdateServerEngineAttributesInput, opts ...request.Option) (*UpdateServerEngineAttributesOutput, error) {
  2020  	req, out := c.UpdateServerEngineAttributesRequest(input)
  2021  	req.SetContext(ctx)
  2022  	req.ApplyOptions(opts...)
  2023  	return out, req.Send()
  2024  }
  2025  
  2026  // Stores account attributes.
  2027  type AccountAttribute struct {
  2028  	_ struct{} `type:"structure"`
  2029  
  2030  	// The maximum allowed value.
  2031  	Maximum *int64 `type:"integer"`
  2032  
  2033  	// The attribute name. The following are supported attribute names.
  2034  	//
  2035  	//    * ServerLimit: The number of current servers/maximum number of servers
  2036  	//    allowed. By default, you can have a maximum of 10 servers.
  2037  	//
  2038  	//    * ManualBackupLimit: The number of current manual backups/maximum number
  2039  	//    of backups allowed. By default, you can have a maximum of 50 manual backups
  2040  	//    saved.
  2041  	Name *string `type:"string"`
  2042  
  2043  	// The current usage, such as the current number of servers that are associated
  2044  	// with the account.
  2045  	Used *int64 `type:"integer"`
  2046  }
  2047  
  2048  // String returns the string representation.
  2049  //
  2050  // API parameter values that are decorated as "sensitive" in the API will not
  2051  // be included in the string output. The member name will be present, but the
  2052  // value will be replaced with "sensitive".
  2053  func (s AccountAttribute) String() string {
  2054  	return awsutil.Prettify(s)
  2055  }
  2056  
  2057  // GoString returns the string representation.
  2058  //
  2059  // API parameter values that are decorated as "sensitive" in the API will not
  2060  // be included in the string output. The member name will be present, but the
  2061  // value will be replaced with "sensitive".
  2062  func (s AccountAttribute) GoString() string {
  2063  	return s.String()
  2064  }
  2065  
  2066  // SetMaximum sets the Maximum field's value.
  2067  func (s *AccountAttribute) SetMaximum(v int64) *AccountAttribute {
  2068  	s.Maximum = &v
  2069  	return s
  2070  }
  2071  
  2072  // SetName sets the Name field's value.
  2073  func (s *AccountAttribute) SetName(v string) *AccountAttribute {
  2074  	s.Name = &v
  2075  	return s
  2076  }
  2077  
  2078  // SetUsed sets the Used field's value.
  2079  func (s *AccountAttribute) SetUsed(v int64) *AccountAttribute {
  2080  	s.Used = &v
  2081  	return s
  2082  }
  2083  
  2084  type AssociateNodeInput struct {
  2085  	_ struct{} `type:"structure"`
  2086  
  2087  	// Engine attributes used for associating the node.
  2088  	//
  2089  	// Attributes accepted in a AssociateNode request for Chef
  2090  	//
  2091  	//    * CHEF_ORGANIZATION: The Chef organization with which the node is associated.
  2092  	//    By default only one organization named default can exist.
  2093  	//
  2094  	//    * CHEF_NODE_PUBLIC_KEY: A PEM-formatted public key. This key is required
  2095  	//    for the chef-client agent to access the Chef API.
  2096  	//
  2097  	// Attributes accepted in a AssociateNode request for Puppet
  2098  	//
  2099  	//    * PUPPET_NODE_CSR: A PEM-formatted certificate-signing request (CSR) that
  2100  	//    is created by the node.
  2101  	//
  2102  	// EngineAttributes is a required field
  2103  	EngineAttributes []*EngineAttribute `type:"list" required:"true"`
  2104  
  2105  	// The name of the node.
  2106  	//
  2107  	// NodeName is a required field
  2108  	NodeName *string `type:"string" required:"true"`
  2109  
  2110  	// The name of the server with which to associate the node.
  2111  	//
  2112  	// ServerName is a required field
  2113  	ServerName *string `min:"1" type:"string" required:"true"`
  2114  }
  2115  
  2116  // String returns the string representation.
  2117  //
  2118  // API parameter values that are decorated as "sensitive" in the API will not
  2119  // be included in the string output. The member name will be present, but the
  2120  // value will be replaced with "sensitive".
  2121  func (s AssociateNodeInput) String() string {
  2122  	return awsutil.Prettify(s)
  2123  }
  2124  
  2125  // GoString returns the string representation.
  2126  //
  2127  // API parameter values that are decorated as "sensitive" in the API will not
  2128  // be included in the string output. The member name will be present, but the
  2129  // value will be replaced with "sensitive".
  2130  func (s AssociateNodeInput) GoString() string {
  2131  	return s.String()
  2132  }
  2133  
  2134  // Validate inspects the fields of the type to determine if they are valid.
  2135  func (s *AssociateNodeInput) Validate() error {
  2136  	invalidParams := request.ErrInvalidParams{Context: "AssociateNodeInput"}
  2137  	if s.EngineAttributes == nil {
  2138  		invalidParams.Add(request.NewErrParamRequired("EngineAttributes"))
  2139  	}
  2140  	if s.NodeName == nil {
  2141  		invalidParams.Add(request.NewErrParamRequired("NodeName"))
  2142  	}
  2143  	if s.ServerName == nil {
  2144  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  2145  	}
  2146  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  2147  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  2148  	}
  2149  
  2150  	if invalidParams.Len() > 0 {
  2151  		return invalidParams
  2152  	}
  2153  	return nil
  2154  }
  2155  
  2156  // SetEngineAttributes sets the EngineAttributes field's value.
  2157  func (s *AssociateNodeInput) SetEngineAttributes(v []*EngineAttribute) *AssociateNodeInput {
  2158  	s.EngineAttributes = v
  2159  	return s
  2160  }
  2161  
  2162  // SetNodeName sets the NodeName field's value.
  2163  func (s *AssociateNodeInput) SetNodeName(v string) *AssociateNodeInput {
  2164  	s.NodeName = &v
  2165  	return s
  2166  }
  2167  
  2168  // SetServerName sets the ServerName field's value.
  2169  func (s *AssociateNodeInput) SetServerName(v string) *AssociateNodeInput {
  2170  	s.ServerName = &v
  2171  	return s
  2172  }
  2173  
  2174  type AssociateNodeOutput struct {
  2175  	_ struct{} `type:"structure"`
  2176  
  2177  	// Contains a token which can be passed to the DescribeNodeAssociationStatus
  2178  	// API call to get the status of the association request.
  2179  	NodeAssociationStatusToken *string `type:"string"`
  2180  }
  2181  
  2182  // String returns the string representation.
  2183  //
  2184  // API parameter values that are decorated as "sensitive" in the API will not
  2185  // be included in the string output. The member name will be present, but the
  2186  // value will be replaced with "sensitive".
  2187  func (s AssociateNodeOutput) String() string {
  2188  	return awsutil.Prettify(s)
  2189  }
  2190  
  2191  // GoString returns the string representation.
  2192  //
  2193  // API parameter values that are decorated as "sensitive" in the API will not
  2194  // be included in the string output. The member name will be present, but the
  2195  // value will be replaced with "sensitive".
  2196  func (s AssociateNodeOutput) GoString() string {
  2197  	return s.String()
  2198  }
  2199  
  2200  // SetNodeAssociationStatusToken sets the NodeAssociationStatusToken field's value.
  2201  func (s *AssociateNodeOutput) SetNodeAssociationStatusToken(v string) *AssociateNodeOutput {
  2202  	s.NodeAssociationStatusToken = &v
  2203  	return s
  2204  }
  2205  
  2206  // Describes a single backup.
  2207  type Backup struct {
  2208  	_ struct{} `type:"structure"`
  2209  
  2210  	// The ARN of the backup.
  2211  	BackupArn *string `type:"string"`
  2212  
  2213  	// The generated ID of the backup. Example: myServerName-yyyyMMddHHmmssSSS
  2214  	BackupId *string `type:"string"`
  2215  
  2216  	// The backup type. Valid values are automated or manual.
  2217  	BackupType *string `type:"string" enum:"BackupType"`
  2218  
  2219  	// The time stamp when the backup was created in the database. Example: 2016-07-29T13:38:47.520Z
  2220  	CreatedAt *time.Time `type:"timestamp"`
  2221  
  2222  	// A user-provided description for a manual backup. This field is empty for
  2223  	// automated backups.
  2224  	Description *string `type:"string"`
  2225  
  2226  	// The engine type that is obtained from the server when the backup is created.
  2227  	Engine *string `type:"string"`
  2228  
  2229  	// The engine model that is obtained from the server when the backup is created.
  2230  	EngineModel *string `type:"string"`
  2231  
  2232  	// The engine version that is obtained from the server when the backup is created.
  2233  	EngineVersion *string `type:"string"`
  2234  
  2235  	// The EC2 instance profile ARN that is obtained from the server when the backup
  2236  	// is created. Because this value is stored, you are not required to provide
  2237  	// the InstanceProfileArn again if you restore a backup.
  2238  	InstanceProfileArn *string `type:"string"`
  2239  
  2240  	// The instance type that is obtained from the server when the backup is created.
  2241  	InstanceType *string `type:"string"`
  2242  
  2243  	// The key pair that is obtained from the server when the backup is created.
  2244  	KeyPair *string `type:"string"`
  2245  
  2246  	// The preferred backup period that is obtained from the server when the backup
  2247  	// is created.
  2248  	PreferredBackupWindow *string `type:"string"`
  2249  
  2250  	// The preferred maintenance period that is obtained from the server when the
  2251  	// backup is created.
  2252  	PreferredMaintenanceWindow *string `type:"string"`
  2253  
  2254  	// This field is deprecated and is no longer used.
  2255  	//
  2256  	// Deprecated: S3DataSize has been deprecated
  2257  	S3DataSize *int64 `deprecated:"true" type:"integer"`
  2258  
  2259  	// This field is deprecated and is no longer used.
  2260  	//
  2261  	// Deprecated: S3DataUrl has been deprecated
  2262  	S3DataUrl *string `deprecated:"true" type:"string"`
  2263  
  2264  	// The Amazon S3 URL of the backup's log file.
  2265  	S3LogUrl *string `type:"string"`
  2266  
  2267  	// The security group IDs that are obtained from the server when the backup
  2268  	// is created.
  2269  	SecurityGroupIds []*string `type:"list"`
  2270  
  2271  	// The name of the server from which the backup was made.
  2272  	ServerName *string `min:"1" type:"string"`
  2273  
  2274  	// The service role ARN that is obtained from the server when the backup is
  2275  	// created.
  2276  	ServiceRoleArn *string `type:"string"`
  2277  
  2278  	// The status of a backup while in progress.
  2279  	Status *string `type:"string" enum:"BackupStatus"`
  2280  
  2281  	// An informational message about backup status.
  2282  	StatusDescription *string `type:"string"`
  2283  
  2284  	// The subnet IDs that are obtained from the server when the backup is created.
  2285  	SubnetIds []*string `type:"list"`
  2286  
  2287  	// The version of AWS OpsWorks CM-specific tools that is obtained from the server
  2288  	// when the backup is created.
  2289  	ToolsVersion *string `type:"string"`
  2290  
  2291  	// The IAM user ARN of the requester for manual backups. This field is empty
  2292  	// for automated backups.
  2293  	UserArn *string `type:"string"`
  2294  }
  2295  
  2296  // String returns the string representation.
  2297  //
  2298  // API parameter values that are decorated as "sensitive" in the API will not
  2299  // be included in the string output. The member name will be present, but the
  2300  // value will be replaced with "sensitive".
  2301  func (s Backup) String() string {
  2302  	return awsutil.Prettify(s)
  2303  }
  2304  
  2305  // GoString returns the string representation.
  2306  //
  2307  // API parameter values that are decorated as "sensitive" in the API will not
  2308  // be included in the string output. The member name will be present, but the
  2309  // value will be replaced with "sensitive".
  2310  func (s Backup) GoString() string {
  2311  	return s.String()
  2312  }
  2313  
  2314  // SetBackupArn sets the BackupArn field's value.
  2315  func (s *Backup) SetBackupArn(v string) *Backup {
  2316  	s.BackupArn = &v
  2317  	return s
  2318  }
  2319  
  2320  // SetBackupId sets the BackupId field's value.
  2321  func (s *Backup) SetBackupId(v string) *Backup {
  2322  	s.BackupId = &v
  2323  	return s
  2324  }
  2325  
  2326  // SetBackupType sets the BackupType field's value.
  2327  func (s *Backup) SetBackupType(v string) *Backup {
  2328  	s.BackupType = &v
  2329  	return s
  2330  }
  2331  
  2332  // SetCreatedAt sets the CreatedAt field's value.
  2333  func (s *Backup) SetCreatedAt(v time.Time) *Backup {
  2334  	s.CreatedAt = &v
  2335  	return s
  2336  }
  2337  
  2338  // SetDescription sets the Description field's value.
  2339  func (s *Backup) SetDescription(v string) *Backup {
  2340  	s.Description = &v
  2341  	return s
  2342  }
  2343  
  2344  // SetEngine sets the Engine field's value.
  2345  func (s *Backup) SetEngine(v string) *Backup {
  2346  	s.Engine = &v
  2347  	return s
  2348  }
  2349  
  2350  // SetEngineModel sets the EngineModel field's value.
  2351  func (s *Backup) SetEngineModel(v string) *Backup {
  2352  	s.EngineModel = &v
  2353  	return s
  2354  }
  2355  
  2356  // SetEngineVersion sets the EngineVersion field's value.
  2357  func (s *Backup) SetEngineVersion(v string) *Backup {
  2358  	s.EngineVersion = &v
  2359  	return s
  2360  }
  2361  
  2362  // SetInstanceProfileArn sets the InstanceProfileArn field's value.
  2363  func (s *Backup) SetInstanceProfileArn(v string) *Backup {
  2364  	s.InstanceProfileArn = &v
  2365  	return s
  2366  }
  2367  
  2368  // SetInstanceType sets the InstanceType field's value.
  2369  func (s *Backup) SetInstanceType(v string) *Backup {
  2370  	s.InstanceType = &v
  2371  	return s
  2372  }
  2373  
  2374  // SetKeyPair sets the KeyPair field's value.
  2375  func (s *Backup) SetKeyPair(v string) *Backup {
  2376  	s.KeyPair = &v
  2377  	return s
  2378  }
  2379  
  2380  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  2381  func (s *Backup) SetPreferredBackupWindow(v string) *Backup {
  2382  	s.PreferredBackupWindow = &v
  2383  	return s
  2384  }
  2385  
  2386  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  2387  func (s *Backup) SetPreferredMaintenanceWindow(v string) *Backup {
  2388  	s.PreferredMaintenanceWindow = &v
  2389  	return s
  2390  }
  2391  
  2392  // SetS3DataSize sets the S3DataSize field's value.
  2393  func (s *Backup) SetS3DataSize(v int64) *Backup {
  2394  	s.S3DataSize = &v
  2395  	return s
  2396  }
  2397  
  2398  // SetS3DataUrl sets the S3DataUrl field's value.
  2399  func (s *Backup) SetS3DataUrl(v string) *Backup {
  2400  	s.S3DataUrl = &v
  2401  	return s
  2402  }
  2403  
  2404  // SetS3LogUrl sets the S3LogUrl field's value.
  2405  func (s *Backup) SetS3LogUrl(v string) *Backup {
  2406  	s.S3LogUrl = &v
  2407  	return s
  2408  }
  2409  
  2410  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  2411  func (s *Backup) SetSecurityGroupIds(v []*string) *Backup {
  2412  	s.SecurityGroupIds = v
  2413  	return s
  2414  }
  2415  
  2416  // SetServerName sets the ServerName field's value.
  2417  func (s *Backup) SetServerName(v string) *Backup {
  2418  	s.ServerName = &v
  2419  	return s
  2420  }
  2421  
  2422  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  2423  func (s *Backup) SetServiceRoleArn(v string) *Backup {
  2424  	s.ServiceRoleArn = &v
  2425  	return s
  2426  }
  2427  
  2428  // SetStatus sets the Status field's value.
  2429  func (s *Backup) SetStatus(v string) *Backup {
  2430  	s.Status = &v
  2431  	return s
  2432  }
  2433  
  2434  // SetStatusDescription sets the StatusDescription field's value.
  2435  func (s *Backup) SetStatusDescription(v string) *Backup {
  2436  	s.StatusDescription = &v
  2437  	return s
  2438  }
  2439  
  2440  // SetSubnetIds sets the SubnetIds field's value.
  2441  func (s *Backup) SetSubnetIds(v []*string) *Backup {
  2442  	s.SubnetIds = v
  2443  	return s
  2444  }
  2445  
  2446  // SetToolsVersion sets the ToolsVersion field's value.
  2447  func (s *Backup) SetToolsVersion(v string) *Backup {
  2448  	s.ToolsVersion = &v
  2449  	return s
  2450  }
  2451  
  2452  // SetUserArn sets the UserArn field's value.
  2453  func (s *Backup) SetUserArn(v string) *Backup {
  2454  	s.UserArn = &v
  2455  	return s
  2456  }
  2457  
  2458  type CreateBackupInput struct {
  2459  	_ struct{} `type:"structure"`
  2460  
  2461  	// A user-defined description of the backup.
  2462  	Description *string `type:"string"`
  2463  
  2464  	// The name of the server that you want to back up.
  2465  	//
  2466  	// ServerName is a required field
  2467  	ServerName *string `min:"1" type:"string" required:"true"`
  2468  
  2469  	// A map that contains tag keys and tag values to attach to an AWS OpsWorks-CM
  2470  	// server backup.
  2471  	//
  2472  	//    * The key cannot be empty.
  2473  	//
  2474  	//    * The key can be a maximum of 127 characters, and can contain only Unicode
  2475  	//    letters, numbers, or separators, or the following special characters:
  2476  	//    + - = . _ : /
  2477  	//
  2478  	//    * The value can be a maximum 255 characters, and contain only Unicode
  2479  	//    letters, numbers, or separators, or the following special characters:
  2480  	//    + - = . _ : /
  2481  	//
  2482  	//    * Leading and trailing white spaces are trimmed from both the key and
  2483  	//    value.
  2484  	//
  2485  	//    * A maximum of 50 user-applied tags is allowed for tag-supported AWS OpsWorks-CM
  2486  	//    resources.
  2487  	Tags []*Tag `type:"list"`
  2488  }
  2489  
  2490  // String returns the string representation.
  2491  //
  2492  // API parameter values that are decorated as "sensitive" in the API will not
  2493  // be included in the string output. The member name will be present, but the
  2494  // value will be replaced with "sensitive".
  2495  func (s CreateBackupInput) String() string {
  2496  	return awsutil.Prettify(s)
  2497  }
  2498  
  2499  // GoString returns the string representation.
  2500  //
  2501  // API parameter values that are decorated as "sensitive" in the API will not
  2502  // be included in the string output. The member name will be present, but the
  2503  // value will be replaced with "sensitive".
  2504  func (s CreateBackupInput) GoString() string {
  2505  	return s.String()
  2506  }
  2507  
  2508  // Validate inspects the fields of the type to determine if they are valid.
  2509  func (s *CreateBackupInput) Validate() error {
  2510  	invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"}
  2511  	if s.ServerName == nil {
  2512  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  2513  	}
  2514  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  2515  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  2516  	}
  2517  	if s.Tags != nil {
  2518  		for i, v := range s.Tags {
  2519  			if v == nil {
  2520  				continue
  2521  			}
  2522  			if err := v.Validate(); err != nil {
  2523  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2524  			}
  2525  		}
  2526  	}
  2527  
  2528  	if invalidParams.Len() > 0 {
  2529  		return invalidParams
  2530  	}
  2531  	return nil
  2532  }
  2533  
  2534  // SetDescription sets the Description field's value.
  2535  func (s *CreateBackupInput) SetDescription(v string) *CreateBackupInput {
  2536  	s.Description = &v
  2537  	return s
  2538  }
  2539  
  2540  // SetServerName sets the ServerName field's value.
  2541  func (s *CreateBackupInput) SetServerName(v string) *CreateBackupInput {
  2542  	s.ServerName = &v
  2543  	return s
  2544  }
  2545  
  2546  // SetTags sets the Tags field's value.
  2547  func (s *CreateBackupInput) SetTags(v []*Tag) *CreateBackupInput {
  2548  	s.Tags = v
  2549  	return s
  2550  }
  2551  
  2552  type CreateBackupOutput struct {
  2553  	_ struct{} `type:"structure"`
  2554  
  2555  	// Backup created by request.
  2556  	Backup *Backup `type:"structure"`
  2557  }
  2558  
  2559  // String returns the string representation.
  2560  //
  2561  // API parameter values that are decorated as "sensitive" in the API will not
  2562  // be included in the string output. The member name will be present, but the
  2563  // value will be replaced with "sensitive".
  2564  func (s CreateBackupOutput) String() string {
  2565  	return awsutil.Prettify(s)
  2566  }
  2567  
  2568  // GoString returns the string representation.
  2569  //
  2570  // API parameter values that are decorated as "sensitive" in the API will not
  2571  // be included in the string output. The member name will be present, but the
  2572  // value will be replaced with "sensitive".
  2573  func (s CreateBackupOutput) GoString() string {
  2574  	return s.String()
  2575  }
  2576  
  2577  // SetBackup sets the Backup field's value.
  2578  func (s *CreateBackupOutput) SetBackup(v *Backup) *CreateBackupOutput {
  2579  	s.Backup = v
  2580  	return s
  2581  }
  2582  
  2583  type CreateServerInput struct {
  2584  	_ struct{} `type:"structure"`
  2585  
  2586  	// Associate a public IP address with a server that you are launching. Valid
  2587  	// values are true or false. The default value is true.
  2588  	AssociatePublicIpAddress *bool `type:"boolean"`
  2589  
  2590  	// If you specify this field, AWS OpsWorks CM creates the server by using the
  2591  	// backup represented by BackupId.
  2592  	BackupId *string `type:"string"`
  2593  
  2594  	// The number of automated backups that you want to keep. Whenever a new backup
  2595  	// is created, AWS OpsWorks CM deletes the oldest backups if this number is
  2596  	// exceeded. The default value is 1.
  2597  	BackupRetentionCount *int64 `min:"1" type:"integer"`
  2598  
  2599  	// A PEM-formatted HTTPS certificate. The value can be be a single, self-signed
  2600  	// certificate, or a certificate chain. If you specify a custom certificate,
  2601  	// you must also specify values for CustomDomain and CustomPrivateKey. The following
  2602  	// are requirements for the CustomCertificate value:
  2603  	//
  2604  	//    * You can provide either a self-signed, custom certificate, or the full
  2605  	//    certificate chain.
  2606  	//
  2607  	//    * The certificate must be a valid X509 certificate, or a certificate chain
  2608  	//    in PEM format.
  2609  	//
  2610  	//    * The certificate must be valid at the time of upload. A certificate can't
  2611  	//    be used before its validity period begins (the certificate's NotBefore
  2612  	//    date), or after it expires (the certificate's NotAfter date).
  2613  	//
  2614  	//    * The certificate’s common name or subject alternative names (SANs),
  2615  	//    if present, must match the value of CustomDomain.
  2616  	//
  2617  	//    * The certificate must match the value of CustomPrivateKey.
  2618  	CustomCertificate *string `type:"string"`
  2619  
  2620  	// An optional public endpoint of a server, such as https://aws.my-company.com.
  2621  	// To access the server, create a CNAME DNS record in your preferred DNS service
  2622  	// that points the custom domain to the endpoint that is generated when the
  2623  	// server is created (the value of the CreateServer Endpoint attribute). You
  2624  	// cannot access the server by using the generated Endpoint value if the server
  2625  	// is using a custom domain. If you specify a custom domain, you must also specify
  2626  	// values for CustomCertificate and CustomPrivateKey.
  2627  	CustomDomain *string `type:"string"`
  2628  
  2629  	// A private key in PEM format for connecting to the server by using HTTPS.
  2630  	// The private key must not be encrypted; it cannot be protected by a password
  2631  	// or passphrase. If you specify a custom private key, you must also specify
  2632  	// values for CustomDomain and CustomCertificate.
  2633  	//
  2634  	// CustomPrivateKey is a sensitive parameter and its value will be
  2635  	// replaced with "sensitive" in string returned by CreateServerInput's
  2636  	// String and GoString methods.
  2637  	CustomPrivateKey *string `type:"string" sensitive:"true"`
  2638  
  2639  	// Enable or disable scheduled backups. Valid values are true or false. The
  2640  	// default value is true.
  2641  	DisableAutomatedBackup *bool `type:"boolean"`
  2642  
  2643  	// The configuration management engine to use. Valid values include ChefAutomate
  2644  	// and Puppet.
  2645  	//
  2646  	// Engine is a required field
  2647  	Engine *string `type:"string" required:"true"`
  2648  
  2649  	// Optional engine attributes on a specified server.
  2650  	//
  2651  	// Attributes accepted in a Chef createServer request:
  2652  	//
  2653  	//    * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The corresponding
  2654  	//    private key is required to access the Chef API. When no CHEF_AUTOMATE_PIVOTAL_KEY
  2655  	//    is set, a private key is generated and returned in the response.
  2656  	//
  2657  	//    * CHEF_AUTOMATE_ADMIN_PASSWORD: The password for the administrative user
  2658  	//    in the Chef Automate web-based dashboard. The password length is a minimum
  2659  	//    of eight characters, and a maximum of 32. The password can contain letters,
  2660  	//    numbers, and special characters (!/@#$%^&+=_). The password must contain
  2661  	//    at least one lower case letter, one upper case letter, one number, and
  2662  	//    one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is set, one
  2663  	//    is generated and returned in the response.
  2664  	//
  2665  	// Attributes accepted in a Puppet createServer request:
  2666  	//
  2667  	//    * PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a
  2668  	//    password must use ASCII characters.
  2669  	//
  2670  	//    * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control repository
  2671  	//    (for example, ssh://git@your.git-repo.com:user/control-repo.git). Specifying
  2672  	//    an r10k remote opens TCP port 8170.
  2673  	//
  2674  	//    * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository,
  2675  	//    add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.
  2676  	EngineAttributes []*EngineAttribute `type:"list"`
  2677  
  2678  	// The engine model of the server. Valid values in this release include Monolithic
  2679  	// for Puppet and Single for Chef.
  2680  	EngineModel *string `type:"string"`
  2681  
  2682  	// The major release version of the engine that you want to use. For a Chef
  2683  	// server, the valid value for EngineVersion is currently 2. For a Puppet server,
  2684  	// valid values are 2019 or 2017.
  2685  	EngineVersion *string `type:"string"`
  2686  
  2687  	// The ARN of the instance profile that your Amazon EC2 instances use. Although
  2688  	// the AWS OpsWorks console typically creates the instance profile for you,
  2689  	// if you are using API commands instead, run the service-role-creation.yaml
  2690  	// AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml.
  2691  	// This template creates a CloudFormation stack that includes the instance profile
  2692  	// you need.
  2693  	//
  2694  	// InstanceProfileArn is a required field
  2695  	InstanceProfileArn *string `type:"string" required:"true"`
  2696  
  2697  	// The Amazon EC2 instance type to use. For example, m5.large.
  2698  	//
  2699  	// InstanceType is a required field
  2700  	InstanceType *string `type:"string" required:"true"`
  2701  
  2702  	// The Amazon EC2 key pair to set for the instance. This parameter is optional;
  2703  	// if desired, you may specify this parameter to connect to your instances by
  2704  	// using SSH.
  2705  	KeyPair *string `type:"string"`
  2706  
  2707  	// The start time for a one-hour period during which AWS OpsWorks CM backs up
  2708  	// application-level data on your server if automated backups are enabled. Valid
  2709  	// values must be specified in one of the following formats:
  2710  	//
  2711  	//    * HH:MM for daily backups
  2712  	//
  2713  	//    * DDD:HH:MM for weekly backups
  2714  	//
  2715  	// MM must be specified as 00. The specified time is in coordinated universal
  2716  	// time (UTC). The default value is a random, daily start time.
  2717  	//
  2718  	// Example: 08:00, which represents a daily start time of 08:00 UTC.
  2719  	//
  2720  	// Example: Mon:08:00, which represents a start time of every Monday at 08:00
  2721  	// UTC. (8:00 a.m.)
  2722  	PreferredBackupWindow *string `type:"string"`
  2723  
  2724  	// The start time for a one-hour period each week during which AWS OpsWorks
  2725  	// CM performs maintenance on the instance. Valid values must be specified in
  2726  	// the following format: DDD:HH:MM. MM must be specified as 00. The specified
  2727  	// time is in coordinated universal time (UTC). The default value is a random
  2728  	// one-hour period on Tuesday, Wednesday, or Friday. See TimeWindowDefinition
  2729  	// for more information.
  2730  	//
  2731  	// Example: Mon:08:00, which represents a start time of every Monday at 08:00
  2732  	// UTC. (8:00 a.m.)
  2733  	PreferredMaintenanceWindow *string `type:"string"`
  2734  
  2735  	// A list of security group IDs to attach to the Amazon EC2 instance. If you
  2736  	// add this parameter, the specified security groups must be within the VPC
  2737  	// that is specified by SubnetIds.
  2738  	//
  2739  	// If you do not specify this parameter, AWS OpsWorks CM creates one new security
  2740  	// group that uses TCP ports 22 and 443, open to 0.0.0.0/0 (everyone).
  2741  	SecurityGroupIds []*string `type:"list"`
  2742  
  2743  	// The name of the server. The server name must be unique within your AWS account,
  2744  	// within each region. Server names must start with a letter; then letters,
  2745  	// numbers, or hyphens (-) are allowed, up to a maximum of 40 characters.
  2746  	//
  2747  	// ServerName is a required field
  2748  	ServerName *string `min:"1" type:"string" required:"true"`
  2749  
  2750  	// The service role that the AWS OpsWorks CM service backend uses to work with
  2751  	// your account. Although the AWS OpsWorks management console typically creates
  2752  	// the service role for you, if you are using the AWS CLI or API commands, run
  2753  	// the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml.
  2754  	// This template creates a CloudFormation stack that includes the service role
  2755  	// and instance profile that you need.
  2756  	//
  2757  	// ServiceRoleArn is a required field
  2758  	ServiceRoleArn *string `type:"string" required:"true"`
  2759  
  2760  	// The IDs of subnets in which to launch the server EC2 instance.
  2761  	//
  2762  	// Amazon EC2-Classic customers: This field is required. All servers must run
  2763  	// within a VPC. The VPC must have "Auto Assign Public IP" enabled.
  2764  	//
  2765  	// EC2-VPC customers: This field is optional. If you do not specify subnet IDs,
  2766  	// your EC2 instances are created in a default subnet that is selected by Amazon
  2767  	// EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP"
  2768  	// enabled.
  2769  	//
  2770  	// For more information about supported Amazon EC2 platforms, see Supported
  2771  	// Platforms (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
  2772  	SubnetIds []*string `type:"list"`
  2773  
  2774  	// A map that contains tag keys and tag values to attach to an AWS OpsWorks
  2775  	// for Chef Automate or AWS OpsWorks for Puppet Enterprise server.
  2776  	//
  2777  	//    * The key cannot be empty.
  2778  	//
  2779  	//    * The key can be a maximum of 127 characters, and can contain only Unicode
  2780  	//    letters, numbers, or separators, or the following special characters:
  2781  	//    + - = . _ : / @
  2782  	//
  2783  	//    * The value can be a maximum 255 characters, and contain only Unicode
  2784  	//    letters, numbers, or separators, or the following special characters:
  2785  	//    + - = . _ : / @
  2786  	//
  2787  	//    * Leading and trailing white spaces are trimmed from both the key and
  2788  	//    value.
  2789  	//
  2790  	//    * A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM
  2791  	//    server.
  2792  	Tags []*Tag `type:"list"`
  2793  }
  2794  
  2795  // String returns the string representation.
  2796  //
  2797  // API parameter values that are decorated as "sensitive" in the API will not
  2798  // be included in the string output. The member name will be present, but the
  2799  // value will be replaced with "sensitive".
  2800  func (s CreateServerInput) String() string {
  2801  	return awsutil.Prettify(s)
  2802  }
  2803  
  2804  // GoString returns the string representation.
  2805  //
  2806  // API parameter values that are decorated as "sensitive" in the API will not
  2807  // be included in the string output. The member name will be present, but the
  2808  // value will be replaced with "sensitive".
  2809  func (s CreateServerInput) GoString() string {
  2810  	return s.String()
  2811  }
  2812  
  2813  // Validate inspects the fields of the type to determine if they are valid.
  2814  func (s *CreateServerInput) Validate() error {
  2815  	invalidParams := request.ErrInvalidParams{Context: "CreateServerInput"}
  2816  	if s.BackupRetentionCount != nil && *s.BackupRetentionCount < 1 {
  2817  		invalidParams.Add(request.NewErrParamMinValue("BackupRetentionCount", 1))
  2818  	}
  2819  	if s.Engine == nil {
  2820  		invalidParams.Add(request.NewErrParamRequired("Engine"))
  2821  	}
  2822  	if s.InstanceProfileArn == nil {
  2823  		invalidParams.Add(request.NewErrParamRequired("InstanceProfileArn"))
  2824  	}
  2825  	if s.InstanceType == nil {
  2826  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  2827  	}
  2828  	if s.ServerName == nil {
  2829  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  2830  	}
  2831  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  2832  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  2833  	}
  2834  	if s.ServiceRoleArn == nil {
  2835  		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
  2836  	}
  2837  	if s.Tags != nil {
  2838  		for i, v := range s.Tags {
  2839  			if v == nil {
  2840  				continue
  2841  			}
  2842  			if err := v.Validate(); err != nil {
  2843  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2844  			}
  2845  		}
  2846  	}
  2847  
  2848  	if invalidParams.Len() > 0 {
  2849  		return invalidParams
  2850  	}
  2851  	return nil
  2852  }
  2853  
  2854  // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  2855  func (s *CreateServerInput) SetAssociatePublicIpAddress(v bool) *CreateServerInput {
  2856  	s.AssociatePublicIpAddress = &v
  2857  	return s
  2858  }
  2859  
  2860  // SetBackupId sets the BackupId field's value.
  2861  func (s *CreateServerInput) SetBackupId(v string) *CreateServerInput {
  2862  	s.BackupId = &v
  2863  	return s
  2864  }
  2865  
  2866  // SetBackupRetentionCount sets the BackupRetentionCount field's value.
  2867  func (s *CreateServerInput) SetBackupRetentionCount(v int64) *CreateServerInput {
  2868  	s.BackupRetentionCount = &v
  2869  	return s
  2870  }
  2871  
  2872  // SetCustomCertificate sets the CustomCertificate field's value.
  2873  func (s *CreateServerInput) SetCustomCertificate(v string) *CreateServerInput {
  2874  	s.CustomCertificate = &v
  2875  	return s
  2876  }
  2877  
  2878  // SetCustomDomain sets the CustomDomain field's value.
  2879  func (s *CreateServerInput) SetCustomDomain(v string) *CreateServerInput {
  2880  	s.CustomDomain = &v
  2881  	return s
  2882  }
  2883  
  2884  // SetCustomPrivateKey sets the CustomPrivateKey field's value.
  2885  func (s *CreateServerInput) SetCustomPrivateKey(v string) *CreateServerInput {
  2886  	s.CustomPrivateKey = &v
  2887  	return s
  2888  }
  2889  
  2890  // SetDisableAutomatedBackup sets the DisableAutomatedBackup field's value.
  2891  func (s *CreateServerInput) SetDisableAutomatedBackup(v bool) *CreateServerInput {
  2892  	s.DisableAutomatedBackup = &v
  2893  	return s
  2894  }
  2895  
  2896  // SetEngine sets the Engine field's value.
  2897  func (s *CreateServerInput) SetEngine(v string) *CreateServerInput {
  2898  	s.Engine = &v
  2899  	return s
  2900  }
  2901  
  2902  // SetEngineAttributes sets the EngineAttributes field's value.
  2903  func (s *CreateServerInput) SetEngineAttributes(v []*EngineAttribute) *CreateServerInput {
  2904  	s.EngineAttributes = v
  2905  	return s
  2906  }
  2907  
  2908  // SetEngineModel sets the EngineModel field's value.
  2909  func (s *CreateServerInput) SetEngineModel(v string) *CreateServerInput {
  2910  	s.EngineModel = &v
  2911  	return s
  2912  }
  2913  
  2914  // SetEngineVersion sets the EngineVersion field's value.
  2915  func (s *CreateServerInput) SetEngineVersion(v string) *CreateServerInput {
  2916  	s.EngineVersion = &v
  2917  	return s
  2918  }
  2919  
  2920  // SetInstanceProfileArn sets the InstanceProfileArn field's value.
  2921  func (s *CreateServerInput) SetInstanceProfileArn(v string) *CreateServerInput {
  2922  	s.InstanceProfileArn = &v
  2923  	return s
  2924  }
  2925  
  2926  // SetInstanceType sets the InstanceType field's value.
  2927  func (s *CreateServerInput) SetInstanceType(v string) *CreateServerInput {
  2928  	s.InstanceType = &v
  2929  	return s
  2930  }
  2931  
  2932  // SetKeyPair sets the KeyPair field's value.
  2933  func (s *CreateServerInput) SetKeyPair(v string) *CreateServerInput {
  2934  	s.KeyPair = &v
  2935  	return s
  2936  }
  2937  
  2938  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  2939  func (s *CreateServerInput) SetPreferredBackupWindow(v string) *CreateServerInput {
  2940  	s.PreferredBackupWindow = &v
  2941  	return s
  2942  }
  2943  
  2944  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  2945  func (s *CreateServerInput) SetPreferredMaintenanceWindow(v string) *CreateServerInput {
  2946  	s.PreferredMaintenanceWindow = &v
  2947  	return s
  2948  }
  2949  
  2950  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  2951  func (s *CreateServerInput) SetSecurityGroupIds(v []*string) *CreateServerInput {
  2952  	s.SecurityGroupIds = v
  2953  	return s
  2954  }
  2955  
  2956  // SetServerName sets the ServerName field's value.
  2957  func (s *CreateServerInput) SetServerName(v string) *CreateServerInput {
  2958  	s.ServerName = &v
  2959  	return s
  2960  }
  2961  
  2962  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  2963  func (s *CreateServerInput) SetServiceRoleArn(v string) *CreateServerInput {
  2964  	s.ServiceRoleArn = &v
  2965  	return s
  2966  }
  2967  
  2968  // SetSubnetIds sets the SubnetIds field's value.
  2969  func (s *CreateServerInput) SetSubnetIds(v []*string) *CreateServerInput {
  2970  	s.SubnetIds = v
  2971  	return s
  2972  }
  2973  
  2974  // SetTags sets the Tags field's value.
  2975  func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput {
  2976  	s.Tags = v
  2977  	return s
  2978  }
  2979  
  2980  type CreateServerOutput struct {
  2981  	_ struct{} `type:"structure"`
  2982  
  2983  	// The server that is created by the request.
  2984  	Server *Server `type:"structure"`
  2985  }
  2986  
  2987  // String returns the string representation.
  2988  //
  2989  // API parameter values that are decorated as "sensitive" in the API will not
  2990  // be included in the string output. The member name will be present, but the
  2991  // value will be replaced with "sensitive".
  2992  func (s CreateServerOutput) String() string {
  2993  	return awsutil.Prettify(s)
  2994  }
  2995  
  2996  // GoString returns the string representation.
  2997  //
  2998  // API parameter values that are decorated as "sensitive" in the API will not
  2999  // be included in the string output. The member name will be present, but the
  3000  // value will be replaced with "sensitive".
  3001  func (s CreateServerOutput) GoString() string {
  3002  	return s.String()
  3003  }
  3004  
  3005  // SetServer sets the Server field's value.
  3006  func (s *CreateServerOutput) SetServer(v *Server) *CreateServerOutput {
  3007  	s.Server = v
  3008  	return s
  3009  }
  3010  
  3011  type DeleteBackupInput struct {
  3012  	_ struct{} `type:"structure"`
  3013  
  3014  	// The ID of the backup to delete. Run the DescribeBackups command to get a
  3015  	// list of backup IDs. Backup IDs are in the format ServerName-yyyyMMddHHmmssSSS.
  3016  	//
  3017  	// BackupId is a required field
  3018  	BackupId *string `type:"string" required:"true"`
  3019  }
  3020  
  3021  // String returns the string representation.
  3022  //
  3023  // API parameter values that are decorated as "sensitive" in the API will not
  3024  // be included in the string output. The member name will be present, but the
  3025  // value will be replaced with "sensitive".
  3026  func (s DeleteBackupInput) String() string {
  3027  	return awsutil.Prettify(s)
  3028  }
  3029  
  3030  // GoString returns the string representation.
  3031  //
  3032  // API parameter values that are decorated as "sensitive" in the API will not
  3033  // be included in the string output. The member name will be present, but the
  3034  // value will be replaced with "sensitive".
  3035  func (s DeleteBackupInput) GoString() string {
  3036  	return s.String()
  3037  }
  3038  
  3039  // Validate inspects the fields of the type to determine if they are valid.
  3040  func (s *DeleteBackupInput) Validate() error {
  3041  	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"}
  3042  	if s.BackupId == nil {
  3043  		invalidParams.Add(request.NewErrParamRequired("BackupId"))
  3044  	}
  3045  
  3046  	if invalidParams.Len() > 0 {
  3047  		return invalidParams
  3048  	}
  3049  	return nil
  3050  }
  3051  
  3052  // SetBackupId sets the BackupId field's value.
  3053  func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput {
  3054  	s.BackupId = &v
  3055  	return s
  3056  }
  3057  
  3058  type DeleteBackupOutput struct {
  3059  	_ struct{} `type:"structure"`
  3060  }
  3061  
  3062  // String returns the string representation.
  3063  //
  3064  // API parameter values that are decorated as "sensitive" in the API will not
  3065  // be included in the string output. The member name will be present, but the
  3066  // value will be replaced with "sensitive".
  3067  func (s DeleteBackupOutput) String() string {
  3068  	return awsutil.Prettify(s)
  3069  }
  3070  
  3071  // GoString returns the string representation.
  3072  //
  3073  // API parameter values that are decorated as "sensitive" in the API will not
  3074  // be included in the string output. The member name will be present, but the
  3075  // value will be replaced with "sensitive".
  3076  func (s DeleteBackupOutput) GoString() string {
  3077  	return s.String()
  3078  }
  3079  
  3080  type DeleteServerInput struct {
  3081  	_ struct{} `type:"structure"`
  3082  
  3083  	// The ID of the server to delete.
  3084  	//
  3085  	// ServerName is a required field
  3086  	ServerName *string `min:"1" type:"string" required:"true"`
  3087  }
  3088  
  3089  // String returns the string representation.
  3090  //
  3091  // API parameter values that are decorated as "sensitive" in the API will not
  3092  // be included in the string output. The member name will be present, but the
  3093  // value will be replaced with "sensitive".
  3094  func (s DeleteServerInput) String() string {
  3095  	return awsutil.Prettify(s)
  3096  }
  3097  
  3098  // GoString returns the string representation.
  3099  //
  3100  // API parameter values that are decorated as "sensitive" in the API will not
  3101  // be included in the string output. The member name will be present, but the
  3102  // value will be replaced with "sensitive".
  3103  func (s DeleteServerInput) GoString() string {
  3104  	return s.String()
  3105  }
  3106  
  3107  // Validate inspects the fields of the type to determine if they are valid.
  3108  func (s *DeleteServerInput) Validate() error {
  3109  	invalidParams := request.ErrInvalidParams{Context: "DeleteServerInput"}
  3110  	if s.ServerName == nil {
  3111  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  3112  	}
  3113  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3114  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3115  	}
  3116  
  3117  	if invalidParams.Len() > 0 {
  3118  		return invalidParams
  3119  	}
  3120  	return nil
  3121  }
  3122  
  3123  // SetServerName sets the ServerName field's value.
  3124  func (s *DeleteServerInput) SetServerName(v string) *DeleteServerInput {
  3125  	s.ServerName = &v
  3126  	return s
  3127  }
  3128  
  3129  type DeleteServerOutput struct {
  3130  	_ struct{} `type:"structure"`
  3131  }
  3132  
  3133  // String returns the string representation.
  3134  //
  3135  // API parameter values that are decorated as "sensitive" in the API will not
  3136  // be included in the string output. The member name will be present, but the
  3137  // value will be replaced with "sensitive".
  3138  func (s DeleteServerOutput) String() string {
  3139  	return awsutil.Prettify(s)
  3140  }
  3141  
  3142  // GoString returns the string representation.
  3143  //
  3144  // API parameter values that are decorated as "sensitive" in the API will not
  3145  // be included in the string output. The member name will be present, but the
  3146  // value will be replaced with "sensitive".
  3147  func (s DeleteServerOutput) GoString() string {
  3148  	return s.String()
  3149  }
  3150  
  3151  type DescribeAccountAttributesInput struct {
  3152  	_ struct{} `type:"structure"`
  3153  }
  3154  
  3155  // String returns the string representation.
  3156  //
  3157  // API parameter values that are decorated as "sensitive" in the API will not
  3158  // be included in the string output. The member name will be present, but the
  3159  // value will be replaced with "sensitive".
  3160  func (s DescribeAccountAttributesInput) String() string {
  3161  	return awsutil.Prettify(s)
  3162  }
  3163  
  3164  // GoString returns the string representation.
  3165  //
  3166  // API parameter values that are decorated as "sensitive" in the API will not
  3167  // be included in the string output. The member name will be present, but the
  3168  // value will be replaced with "sensitive".
  3169  func (s DescribeAccountAttributesInput) GoString() string {
  3170  	return s.String()
  3171  }
  3172  
  3173  type DescribeAccountAttributesOutput struct {
  3174  	_ struct{} `type:"structure"`
  3175  
  3176  	// The attributes that are currently set for the account.
  3177  	Attributes []*AccountAttribute `type:"list"`
  3178  }
  3179  
  3180  // String returns the string representation.
  3181  //
  3182  // API parameter values that are decorated as "sensitive" in the API will not
  3183  // be included in the string output. The member name will be present, but the
  3184  // value will be replaced with "sensitive".
  3185  func (s DescribeAccountAttributesOutput) String() string {
  3186  	return awsutil.Prettify(s)
  3187  }
  3188  
  3189  // GoString returns the string representation.
  3190  //
  3191  // API parameter values that are decorated as "sensitive" in the API will not
  3192  // be included in the string output. The member name will be present, but the
  3193  // value will be replaced with "sensitive".
  3194  func (s DescribeAccountAttributesOutput) GoString() string {
  3195  	return s.String()
  3196  }
  3197  
  3198  // SetAttributes sets the Attributes field's value.
  3199  func (s *DescribeAccountAttributesOutput) SetAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  3200  	s.Attributes = v
  3201  	return s
  3202  }
  3203  
  3204  type DescribeBackupsInput struct {
  3205  	_ struct{} `type:"structure"`
  3206  
  3207  	// Describes a single backup.
  3208  	BackupId *string `type:"string"`
  3209  
  3210  	// This is not currently implemented for DescribeBackups requests.
  3211  	MaxResults *int64 `min:"1" type:"integer"`
  3212  
  3213  	// This is not currently implemented for DescribeBackups requests.
  3214  	NextToken *string `type:"string"`
  3215  
  3216  	// Returns backups for the server with the specified ServerName.
  3217  	ServerName *string `min:"1" type:"string"`
  3218  }
  3219  
  3220  // String returns the string representation.
  3221  //
  3222  // API parameter values that are decorated as "sensitive" in the API will not
  3223  // be included in the string output. The member name will be present, but the
  3224  // value will be replaced with "sensitive".
  3225  func (s DescribeBackupsInput) String() string {
  3226  	return awsutil.Prettify(s)
  3227  }
  3228  
  3229  // GoString returns the string representation.
  3230  //
  3231  // API parameter values that are decorated as "sensitive" in the API will not
  3232  // be included in the string output. The member name will be present, but the
  3233  // value will be replaced with "sensitive".
  3234  func (s DescribeBackupsInput) GoString() string {
  3235  	return s.String()
  3236  }
  3237  
  3238  // Validate inspects the fields of the type to determine if they are valid.
  3239  func (s *DescribeBackupsInput) Validate() error {
  3240  	invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"}
  3241  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3242  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3243  	}
  3244  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3245  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3246  	}
  3247  
  3248  	if invalidParams.Len() > 0 {
  3249  		return invalidParams
  3250  	}
  3251  	return nil
  3252  }
  3253  
  3254  // SetBackupId sets the BackupId field's value.
  3255  func (s *DescribeBackupsInput) SetBackupId(v string) *DescribeBackupsInput {
  3256  	s.BackupId = &v
  3257  	return s
  3258  }
  3259  
  3260  // SetMaxResults sets the MaxResults field's value.
  3261  func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput {
  3262  	s.MaxResults = &v
  3263  	return s
  3264  }
  3265  
  3266  // SetNextToken sets the NextToken field's value.
  3267  func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput {
  3268  	s.NextToken = &v
  3269  	return s
  3270  }
  3271  
  3272  // SetServerName sets the ServerName field's value.
  3273  func (s *DescribeBackupsInput) SetServerName(v string) *DescribeBackupsInput {
  3274  	s.ServerName = &v
  3275  	return s
  3276  }
  3277  
  3278  type DescribeBackupsOutput struct {
  3279  	_ struct{} `type:"structure"`
  3280  
  3281  	// Contains the response to a DescribeBackups request.
  3282  	Backups []*Backup `type:"list"`
  3283  
  3284  	// This is not currently implemented for DescribeBackups requests.
  3285  	NextToken *string `type:"string"`
  3286  }
  3287  
  3288  // String returns the string representation.
  3289  //
  3290  // API parameter values that are decorated as "sensitive" in the API will not
  3291  // be included in the string output. The member name will be present, but the
  3292  // value will be replaced with "sensitive".
  3293  func (s DescribeBackupsOutput) String() string {
  3294  	return awsutil.Prettify(s)
  3295  }
  3296  
  3297  // GoString returns the string representation.
  3298  //
  3299  // API parameter values that are decorated as "sensitive" in the API will not
  3300  // be included in the string output. The member name will be present, but the
  3301  // value will be replaced with "sensitive".
  3302  func (s DescribeBackupsOutput) GoString() string {
  3303  	return s.String()
  3304  }
  3305  
  3306  // SetBackups sets the Backups field's value.
  3307  func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput {
  3308  	s.Backups = v
  3309  	return s
  3310  }
  3311  
  3312  // SetNextToken sets the NextToken field's value.
  3313  func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput {
  3314  	s.NextToken = &v
  3315  	return s
  3316  }
  3317  
  3318  type DescribeEventsInput struct {
  3319  	_ struct{} `type:"structure"`
  3320  
  3321  	// To receive a paginated response, use this parameter to specify the maximum
  3322  	// number of results to be returned with a single call. If the number of available
  3323  	// results exceeds this maximum, the response includes a NextToken value that
  3324  	// you can assign to the NextToken request parameter to get the next set of
  3325  	// results.
  3326  	MaxResults *int64 `min:"1" type:"integer"`
  3327  
  3328  	// NextToken is a string that is returned in some command responses. It indicates
  3329  	// that not all entries have been returned, and that you must run at least one
  3330  	// more request to get remaining items. To get remaining results, call DescribeEvents
  3331  	// again, and assign the token from the previous results as the value of the
  3332  	// nextToken parameter. If there are no more results, the response object's
  3333  	// nextToken parameter value is null. Setting a nextToken value that was not
  3334  	// returned in your previous results causes an InvalidNextTokenException to
  3335  	// occur.
  3336  	NextToken *string `type:"string"`
  3337  
  3338  	// The name of the server for which you want to view events.
  3339  	//
  3340  	// ServerName is a required field
  3341  	ServerName *string `min:"1" type:"string" required:"true"`
  3342  }
  3343  
  3344  // String returns the string representation.
  3345  //
  3346  // API parameter values that are decorated as "sensitive" in the API will not
  3347  // be included in the string output. The member name will be present, but the
  3348  // value will be replaced with "sensitive".
  3349  func (s DescribeEventsInput) String() string {
  3350  	return awsutil.Prettify(s)
  3351  }
  3352  
  3353  // GoString returns the string representation.
  3354  //
  3355  // API parameter values that are decorated as "sensitive" in the API will not
  3356  // be included in the string output. The member name will be present, but the
  3357  // value will be replaced with "sensitive".
  3358  func (s DescribeEventsInput) GoString() string {
  3359  	return s.String()
  3360  }
  3361  
  3362  // Validate inspects the fields of the type to determine if they are valid.
  3363  func (s *DescribeEventsInput) Validate() error {
  3364  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
  3365  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3366  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3367  	}
  3368  	if s.ServerName == nil {
  3369  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  3370  	}
  3371  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3372  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3373  	}
  3374  
  3375  	if invalidParams.Len() > 0 {
  3376  		return invalidParams
  3377  	}
  3378  	return nil
  3379  }
  3380  
  3381  // SetMaxResults sets the MaxResults field's value.
  3382  func (s *DescribeEventsInput) SetMaxResults(v int64) *DescribeEventsInput {
  3383  	s.MaxResults = &v
  3384  	return s
  3385  }
  3386  
  3387  // SetNextToken sets the NextToken field's value.
  3388  func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
  3389  	s.NextToken = &v
  3390  	return s
  3391  }
  3392  
  3393  // SetServerName sets the ServerName field's value.
  3394  func (s *DescribeEventsInput) SetServerName(v string) *DescribeEventsInput {
  3395  	s.ServerName = &v
  3396  	return s
  3397  }
  3398  
  3399  type DescribeEventsOutput struct {
  3400  	_ struct{} `type:"structure"`
  3401  
  3402  	// NextToken is a string that is returned in some command responses. It indicates
  3403  	// that not all entries have been returned, and that you must run at least one
  3404  	// more request to get remaining items. To get remaining results, call DescribeEvents
  3405  	// again, and assign the token from the previous results as the value of the
  3406  	// nextToken parameter. If there are no more results, the response object's
  3407  	// nextToken parameter value is null. Setting a nextToken value that was not
  3408  	// returned in your previous results causes an InvalidNextTokenException to
  3409  	// occur.
  3410  	NextToken *string `type:"string"`
  3411  
  3412  	// Contains the response to a DescribeEvents request.
  3413  	ServerEvents []*ServerEvent `type:"list"`
  3414  }
  3415  
  3416  // String returns the string representation.
  3417  //
  3418  // API parameter values that are decorated as "sensitive" in the API will not
  3419  // be included in the string output. The member name will be present, but the
  3420  // value will be replaced with "sensitive".
  3421  func (s DescribeEventsOutput) String() string {
  3422  	return awsutil.Prettify(s)
  3423  }
  3424  
  3425  // GoString returns the string representation.
  3426  //
  3427  // API parameter values that are decorated as "sensitive" in the API will not
  3428  // be included in the string output. The member name will be present, but the
  3429  // value will be replaced with "sensitive".
  3430  func (s DescribeEventsOutput) GoString() string {
  3431  	return s.String()
  3432  }
  3433  
  3434  // SetNextToken sets the NextToken field's value.
  3435  func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
  3436  	s.NextToken = &v
  3437  	return s
  3438  }
  3439  
  3440  // SetServerEvents sets the ServerEvents field's value.
  3441  func (s *DescribeEventsOutput) SetServerEvents(v []*ServerEvent) *DescribeEventsOutput {
  3442  	s.ServerEvents = v
  3443  	return s
  3444  }
  3445  
  3446  type DescribeNodeAssociationStatusInput struct {
  3447  	_ struct{} `type:"structure"`
  3448  
  3449  	// The token returned in either the AssociateNodeResponse or the DisassociateNodeResponse.
  3450  	//
  3451  	// NodeAssociationStatusToken is a required field
  3452  	NodeAssociationStatusToken *string `type:"string" required:"true"`
  3453  
  3454  	// The name of the server from which to disassociate the node.
  3455  	//
  3456  	// ServerName is a required field
  3457  	ServerName *string `min:"1" type:"string" required:"true"`
  3458  }
  3459  
  3460  // String returns the string representation.
  3461  //
  3462  // API parameter values that are decorated as "sensitive" in the API will not
  3463  // be included in the string output. The member name will be present, but the
  3464  // value will be replaced with "sensitive".
  3465  func (s DescribeNodeAssociationStatusInput) String() string {
  3466  	return awsutil.Prettify(s)
  3467  }
  3468  
  3469  // GoString returns the string representation.
  3470  //
  3471  // API parameter values that are decorated as "sensitive" in the API will not
  3472  // be included in the string output. The member name will be present, but the
  3473  // value will be replaced with "sensitive".
  3474  func (s DescribeNodeAssociationStatusInput) GoString() string {
  3475  	return s.String()
  3476  }
  3477  
  3478  // Validate inspects the fields of the type to determine if they are valid.
  3479  func (s *DescribeNodeAssociationStatusInput) Validate() error {
  3480  	invalidParams := request.ErrInvalidParams{Context: "DescribeNodeAssociationStatusInput"}
  3481  	if s.NodeAssociationStatusToken == nil {
  3482  		invalidParams.Add(request.NewErrParamRequired("NodeAssociationStatusToken"))
  3483  	}
  3484  	if s.ServerName == nil {
  3485  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  3486  	}
  3487  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3488  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3489  	}
  3490  
  3491  	if invalidParams.Len() > 0 {
  3492  		return invalidParams
  3493  	}
  3494  	return nil
  3495  }
  3496  
  3497  // SetNodeAssociationStatusToken sets the NodeAssociationStatusToken field's value.
  3498  func (s *DescribeNodeAssociationStatusInput) SetNodeAssociationStatusToken(v string) *DescribeNodeAssociationStatusInput {
  3499  	s.NodeAssociationStatusToken = &v
  3500  	return s
  3501  }
  3502  
  3503  // SetServerName sets the ServerName field's value.
  3504  func (s *DescribeNodeAssociationStatusInput) SetServerName(v string) *DescribeNodeAssociationStatusInput {
  3505  	s.ServerName = &v
  3506  	return s
  3507  }
  3508  
  3509  type DescribeNodeAssociationStatusOutput struct {
  3510  	_ struct{} `type:"structure"`
  3511  
  3512  	// Attributes specific to the node association. In Puppet, the attibute PUPPET_NODE_CERT
  3513  	// contains the signed certificate (the result of the CSR).
  3514  	EngineAttributes []*EngineAttribute `type:"list"`
  3515  
  3516  	// The status of the association or disassociation request.
  3517  	//
  3518  	// Possible values:
  3519  	//
  3520  	//    * SUCCESS: The association or disassociation succeeded.
  3521  	//
  3522  	//    * FAILED: The association or disassociation failed.
  3523  	//
  3524  	//    * IN_PROGRESS: The association or disassociation is still in progress.
  3525  	NodeAssociationStatus *string `type:"string" enum:"NodeAssociationStatus"`
  3526  }
  3527  
  3528  // String returns the string representation.
  3529  //
  3530  // API parameter values that are decorated as "sensitive" in the API will not
  3531  // be included in the string output. The member name will be present, but the
  3532  // value will be replaced with "sensitive".
  3533  func (s DescribeNodeAssociationStatusOutput) String() string {
  3534  	return awsutil.Prettify(s)
  3535  }
  3536  
  3537  // GoString returns the string representation.
  3538  //
  3539  // API parameter values that are decorated as "sensitive" in the API will not
  3540  // be included in the string output. The member name will be present, but the
  3541  // value will be replaced with "sensitive".
  3542  func (s DescribeNodeAssociationStatusOutput) GoString() string {
  3543  	return s.String()
  3544  }
  3545  
  3546  // SetEngineAttributes sets the EngineAttributes field's value.
  3547  func (s *DescribeNodeAssociationStatusOutput) SetEngineAttributes(v []*EngineAttribute) *DescribeNodeAssociationStatusOutput {
  3548  	s.EngineAttributes = v
  3549  	return s
  3550  }
  3551  
  3552  // SetNodeAssociationStatus sets the NodeAssociationStatus field's value.
  3553  func (s *DescribeNodeAssociationStatusOutput) SetNodeAssociationStatus(v string) *DescribeNodeAssociationStatusOutput {
  3554  	s.NodeAssociationStatus = &v
  3555  	return s
  3556  }
  3557  
  3558  type DescribeServersInput struct {
  3559  	_ struct{} `type:"structure"`
  3560  
  3561  	// This is not currently implemented for DescribeServers requests.
  3562  	MaxResults *int64 `min:"1" type:"integer"`
  3563  
  3564  	// This is not currently implemented for DescribeServers requests.
  3565  	NextToken *string `type:"string"`
  3566  
  3567  	// Describes the server with the specified ServerName.
  3568  	ServerName *string `min:"1" type:"string"`
  3569  }
  3570  
  3571  // String returns the string representation.
  3572  //
  3573  // API parameter values that are decorated as "sensitive" in the API will not
  3574  // be included in the string output. The member name will be present, but the
  3575  // value will be replaced with "sensitive".
  3576  func (s DescribeServersInput) String() string {
  3577  	return awsutil.Prettify(s)
  3578  }
  3579  
  3580  // GoString returns the string representation.
  3581  //
  3582  // API parameter values that are decorated as "sensitive" in the API will not
  3583  // be included in the string output. The member name will be present, but the
  3584  // value will be replaced with "sensitive".
  3585  func (s DescribeServersInput) GoString() string {
  3586  	return s.String()
  3587  }
  3588  
  3589  // Validate inspects the fields of the type to determine if they are valid.
  3590  func (s *DescribeServersInput) Validate() error {
  3591  	invalidParams := request.ErrInvalidParams{Context: "DescribeServersInput"}
  3592  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3593  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3594  	}
  3595  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3596  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3597  	}
  3598  
  3599  	if invalidParams.Len() > 0 {
  3600  		return invalidParams
  3601  	}
  3602  	return nil
  3603  }
  3604  
  3605  // SetMaxResults sets the MaxResults field's value.
  3606  func (s *DescribeServersInput) SetMaxResults(v int64) *DescribeServersInput {
  3607  	s.MaxResults = &v
  3608  	return s
  3609  }
  3610  
  3611  // SetNextToken sets the NextToken field's value.
  3612  func (s *DescribeServersInput) SetNextToken(v string) *DescribeServersInput {
  3613  	s.NextToken = &v
  3614  	return s
  3615  }
  3616  
  3617  // SetServerName sets the ServerName field's value.
  3618  func (s *DescribeServersInput) SetServerName(v string) *DescribeServersInput {
  3619  	s.ServerName = &v
  3620  	return s
  3621  }
  3622  
  3623  type DescribeServersOutput struct {
  3624  	_ struct{} `type:"structure"`
  3625  
  3626  	// This is not currently implemented for DescribeServers requests.
  3627  	NextToken *string `type:"string"`
  3628  
  3629  	// Contains the response to a DescribeServers request.
  3630  	//
  3631  	// For Chef Automate servers: If DescribeServersResponse$Servers$EngineAttributes
  3632  	// includes CHEF_MAJOR_UPGRADE_AVAILABLE, you can upgrade the Chef Automate
  3633  	// server to Chef Automate 2. To be eligible for upgrade, a server running Chef
  3634  	// Automate 1 must have had at least one successful maintenance run after November
  3635  	// 1, 2019.
  3636  	//
  3637  	// For Puppet servers: DescribeServersResponse$Servers$EngineAttributes contains
  3638  	// the following two responses:
  3639  	//
  3640  	//    * PUPPET_API_CA_CERT, the PEM-encoded CA certificate that is used by the
  3641  	//    Puppet API over TCP port number 8140. The CA certificate is also used
  3642  	//    to sign node certificates.
  3643  	//
  3644  	//    * PUPPET_API_CRL, a certificate revocation list. The certificate revocation
  3645  	//    list is for internal maintenance purposes only. For more information about
  3646  	//    the Puppet certificate revocation list, see Man Page: puppet certificate_revocation_list
  3647  	//    (https://puppet.com/docs/puppet/5.5/man/certificate_revocation_list.html)
  3648  	//    in the Puppet documentation.
  3649  	Servers []*Server `type:"list"`
  3650  }
  3651  
  3652  // String returns the string representation.
  3653  //
  3654  // API parameter values that are decorated as "sensitive" in the API will not
  3655  // be included in the string output. The member name will be present, but the
  3656  // value will be replaced with "sensitive".
  3657  func (s DescribeServersOutput) String() string {
  3658  	return awsutil.Prettify(s)
  3659  }
  3660  
  3661  // GoString returns the string representation.
  3662  //
  3663  // API parameter values that are decorated as "sensitive" in the API will not
  3664  // be included in the string output. The member name will be present, but the
  3665  // value will be replaced with "sensitive".
  3666  func (s DescribeServersOutput) GoString() string {
  3667  	return s.String()
  3668  }
  3669  
  3670  // SetNextToken sets the NextToken field's value.
  3671  func (s *DescribeServersOutput) SetNextToken(v string) *DescribeServersOutput {
  3672  	s.NextToken = &v
  3673  	return s
  3674  }
  3675  
  3676  // SetServers sets the Servers field's value.
  3677  func (s *DescribeServersOutput) SetServers(v []*Server) *DescribeServersOutput {
  3678  	s.Servers = v
  3679  	return s
  3680  }
  3681  
  3682  type DisassociateNodeInput struct {
  3683  	_ struct{} `type:"structure"`
  3684  
  3685  	// Engine attributes that are used for disassociating the node. No attributes
  3686  	// are required for Puppet.
  3687  	//
  3688  	// Attributes required in a DisassociateNode request for Chef
  3689  	//
  3690  	//    * CHEF_ORGANIZATION: The Chef organization with which the node was associated.
  3691  	//    By default only one organization named default can exist.
  3692  	EngineAttributes []*EngineAttribute `type:"list"`
  3693  
  3694  	// The name of the client node.
  3695  	//
  3696  	// NodeName is a required field
  3697  	NodeName *string `type:"string" required:"true"`
  3698  
  3699  	// The name of the server from which to disassociate the node.
  3700  	//
  3701  	// ServerName is a required field
  3702  	ServerName *string `min:"1" type:"string" required:"true"`
  3703  }
  3704  
  3705  // String returns the string representation.
  3706  //
  3707  // API parameter values that are decorated as "sensitive" in the API will not
  3708  // be included in the string output. The member name will be present, but the
  3709  // value will be replaced with "sensitive".
  3710  func (s DisassociateNodeInput) String() string {
  3711  	return awsutil.Prettify(s)
  3712  }
  3713  
  3714  // GoString returns the string representation.
  3715  //
  3716  // API parameter values that are decorated as "sensitive" in the API will not
  3717  // be included in the string output. The member name will be present, but the
  3718  // value will be replaced with "sensitive".
  3719  func (s DisassociateNodeInput) GoString() string {
  3720  	return s.String()
  3721  }
  3722  
  3723  // Validate inspects the fields of the type to determine if they are valid.
  3724  func (s *DisassociateNodeInput) Validate() error {
  3725  	invalidParams := request.ErrInvalidParams{Context: "DisassociateNodeInput"}
  3726  	if s.NodeName == nil {
  3727  		invalidParams.Add(request.NewErrParamRequired("NodeName"))
  3728  	}
  3729  	if s.ServerName == nil {
  3730  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  3731  	}
  3732  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3733  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3734  	}
  3735  
  3736  	if invalidParams.Len() > 0 {
  3737  		return invalidParams
  3738  	}
  3739  	return nil
  3740  }
  3741  
  3742  // SetEngineAttributes sets the EngineAttributes field's value.
  3743  func (s *DisassociateNodeInput) SetEngineAttributes(v []*EngineAttribute) *DisassociateNodeInput {
  3744  	s.EngineAttributes = v
  3745  	return s
  3746  }
  3747  
  3748  // SetNodeName sets the NodeName field's value.
  3749  func (s *DisassociateNodeInput) SetNodeName(v string) *DisassociateNodeInput {
  3750  	s.NodeName = &v
  3751  	return s
  3752  }
  3753  
  3754  // SetServerName sets the ServerName field's value.
  3755  func (s *DisassociateNodeInput) SetServerName(v string) *DisassociateNodeInput {
  3756  	s.ServerName = &v
  3757  	return s
  3758  }
  3759  
  3760  type DisassociateNodeOutput struct {
  3761  	_ struct{} `type:"structure"`
  3762  
  3763  	// Contains a token which can be passed to the DescribeNodeAssociationStatus
  3764  	// API call to get the status of the disassociation request.
  3765  	NodeAssociationStatusToken *string `type:"string"`
  3766  }
  3767  
  3768  // String returns the string representation.
  3769  //
  3770  // API parameter values that are decorated as "sensitive" in the API will not
  3771  // be included in the string output. The member name will be present, but the
  3772  // value will be replaced with "sensitive".
  3773  func (s DisassociateNodeOutput) String() string {
  3774  	return awsutil.Prettify(s)
  3775  }
  3776  
  3777  // GoString returns the string representation.
  3778  //
  3779  // API parameter values that are decorated as "sensitive" in the API will not
  3780  // be included in the string output. The member name will be present, but the
  3781  // value will be replaced with "sensitive".
  3782  func (s DisassociateNodeOutput) GoString() string {
  3783  	return s.String()
  3784  }
  3785  
  3786  // SetNodeAssociationStatusToken sets the NodeAssociationStatusToken field's value.
  3787  func (s *DisassociateNodeOutput) SetNodeAssociationStatusToken(v string) *DisassociateNodeOutput {
  3788  	s.NodeAssociationStatusToken = &v
  3789  	return s
  3790  }
  3791  
  3792  // A name and value pair that is specific to the engine of the server.
  3793  type EngineAttribute struct {
  3794  	_ struct{} `type:"structure"`
  3795  
  3796  	// The name of the engine attribute.
  3797  	Name *string `type:"string"`
  3798  
  3799  	// The value of the engine attribute.
  3800  	//
  3801  	// Value is a sensitive parameter and its value will be
  3802  	// replaced with "sensitive" in string returned by EngineAttribute's
  3803  	// String and GoString methods.
  3804  	Value *string `type:"string" sensitive:"true"`
  3805  }
  3806  
  3807  // String returns the string representation.
  3808  //
  3809  // API parameter values that are decorated as "sensitive" in the API will not
  3810  // be included in the string output. The member name will be present, but the
  3811  // value will be replaced with "sensitive".
  3812  func (s EngineAttribute) String() string {
  3813  	return awsutil.Prettify(s)
  3814  }
  3815  
  3816  // GoString returns the string representation.
  3817  //
  3818  // API parameter values that are decorated as "sensitive" in the API will not
  3819  // be included in the string output. The member name will be present, but the
  3820  // value will be replaced with "sensitive".
  3821  func (s EngineAttribute) GoString() string {
  3822  	return s.String()
  3823  }
  3824  
  3825  // SetName sets the Name field's value.
  3826  func (s *EngineAttribute) SetName(v string) *EngineAttribute {
  3827  	s.Name = &v
  3828  	return s
  3829  }
  3830  
  3831  // SetValue sets the Value field's value.
  3832  func (s *EngineAttribute) SetValue(v string) *EngineAttribute {
  3833  	s.Value = &v
  3834  	return s
  3835  }
  3836  
  3837  type ExportServerEngineAttributeInput struct {
  3838  	_ struct{} `type:"structure"`
  3839  
  3840  	// The name of the export attribute. Currently, the supported export attribute
  3841  	// is Userdata. This exports a user data script that includes parameters and
  3842  	// values provided in the InputAttributes list.
  3843  	//
  3844  	// ExportAttributeName is a required field
  3845  	ExportAttributeName *string `type:"string" required:"true"`
  3846  
  3847  	// The list of engine attributes. The list type is EngineAttribute. An EngineAttribute
  3848  	// list item is a pair that includes an attribute name and its value. For the
  3849  	// Userdata ExportAttributeName, the following are supported engine attribute
  3850  	// names.
  3851  	//
  3852  	//    * RunList In Chef, a list of roles or recipes that are run in the specified
  3853  	//    order. In Puppet, this parameter is ignored.
  3854  	//
  3855  	//    * OrganizationName In Chef, an organization name. AWS OpsWorks for Chef
  3856  	//    Automate always creates the organization default. In Puppet, this parameter
  3857  	//    is ignored.
  3858  	//
  3859  	//    * NodeEnvironment In Chef, a node environment (for example, development,
  3860  	//    staging, or one-box). In Puppet, this parameter is ignored.
  3861  	//
  3862  	//    * NodeClientVersion In Chef, the version of the Chef engine (three numbers
  3863  	//    separated by dots, such as 13.8.5). If this attribute is empty, OpsWorks
  3864  	//    for Chef Automate uses the most current version. In Puppet, this parameter
  3865  	//    is ignored.
  3866  	InputAttributes []*EngineAttribute `type:"list"`
  3867  
  3868  	// The name of the server from which you are exporting the attribute.
  3869  	//
  3870  	// ServerName is a required field
  3871  	ServerName *string `min:"1" type:"string" required:"true"`
  3872  }
  3873  
  3874  // String returns the string representation.
  3875  //
  3876  // API parameter values that are decorated as "sensitive" in the API will not
  3877  // be included in the string output. The member name will be present, but the
  3878  // value will be replaced with "sensitive".
  3879  func (s ExportServerEngineAttributeInput) String() string {
  3880  	return awsutil.Prettify(s)
  3881  }
  3882  
  3883  // GoString returns the string representation.
  3884  //
  3885  // API parameter values that are decorated as "sensitive" in the API will not
  3886  // be included in the string output. The member name will be present, but the
  3887  // value will be replaced with "sensitive".
  3888  func (s ExportServerEngineAttributeInput) GoString() string {
  3889  	return s.String()
  3890  }
  3891  
  3892  // Validate inspects the fields of the type to determine if they are valid.
  3893  func (s *ExportServerEngineAttributeInput) Validate() error {
  3894  	invalidParams := request.ErrInvalidParams{Context: "ExportServerEngineAttributeInput"}
  3895  	if s.ExportAttributeName == nil {
  3896  		invalidParams.Add(request.NewErrParamRequired("ExportAttributeName"))
  3897  	}
  3898  	if s.ServerName == nil {
  3899  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  3900  	}
  3901  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  3902  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  3903  	}
  3904  
  3905  	if invalidParams.Len() > 0 {
  3906  		return invalidParams
  3907  	}
  3908  	return nil
  3909  }
  3910  
  3911  // SetExportAttributeName sets the ExportAttributeName field's value.
  3912  func (s *ExportServerEngineAttributeInput) SetExportAttributeName(v string) *ExportServerEngineAttributeInput {
  3913  	s.ExportAttributeName = &v
  3914  	return s
  3915  }
  3916  
  3917  // SetInputAttributes sets the InputAttributes field's value.
  3918  func (s *ExportServerEngineAttributeInput) SetInputAttributes(v []*EngineAttribute) *ExportServerEngineAttributeInput {
  3919  	s.InputAttributes = v
  3920  	return s
  3921  }
  3922  
  3923  // SetServerName sets the ServerName field's value.
  3924  func (s *ExportServerEngineAttributeInput) SetServerName(v string) *ExportServerEngineAttributeInput {
  3925  	s.ServerName = &v
  3926  	return s
  3927  }
  3928  
  3929  type ExportServerEngineAttributeOutput struct {
  3930  	_ struct{} `type:"structure"`
  3931  
  3932  	// The requested engine attribute pair with attribute name and value.
  3933  	EngineAttribute *EngineAttribute `type:"structure"`
  3934  
  3935  	// The server name used in the request.
  3936  	ServerName *string `min:"1" type:"string"`
  3937  }
  3938  
  3939  // String returns the string representation.
  3940  //
  3941  // API parameter values that are decorated as "sensitive" in the API will not
  3942  // be included in the string output. The member name will be present, but the
  3943  // value will be replaced with "sensitive".
  3944  func (s ExportServerEngineAttributeOutput) String() string {
  3945  	return awsutil.Prettify(s)
  3946  }
  3947  
  3948  // GoString returns the string representation.
  3949  //
  3950  // API parameter values that are decorated as "sensitive" in the API will not
  3951  // be included in the string output. The member name will be present, but the
  3952  // value will be replaced with "sensitive".
  3953  func (s ExportServerEngineAttributeOutput) GoString() string {
  3954  	return s.String()
  3955  }
  3956  
  3957  // SetEngineAttribute sets the EngineAttribute field's value.
  3958  func (s *ExportServerEngineAttributeOutput) SetEngineAttribute(v *EngineAttribute) *ExportServerEngineAttributeOutput {
  3959  	s.EngineAttribute = v
  3960  	return s
  3961  }
  3962  
  3963  // SetServerName sets the ServerName field's value.
  3964  func (s *ExportServerEngineAttributeOutput) SetServerName(v string) *ExportServerEngineAttributeOutput {
  3965  	s.ServerName = &v
  3966  	return s
  3967  }
  3968  
  3969  // This occurs when the provided nextToken is not valid.
  3970  type InvalidNextTokenException struct {
  3971  	_            struct{}                  `type:"structure"`
  3972  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3973  
  3974  	// Error or informational message that can contain more detail about a nextToken
  3975  	// failure.
  3976  	Message_ *string `locationName:"Message" type:"string"`
  3977  }
  3978  
  3979  // String returns the string representation.
  3980  //
  3981  // API parameter values that are decorated as "sensitive" in the API will not
  3982  // be included in the string output. The member name will be present, but the
  3983  // value will be replaced with "sensitive".
  3984  func (s InvalidNextTokenException) String() string {
  3985  	return awsutil.Prettify(s)
  3986  }
  3987  
  3988  // GoString returns the string representation.
  3989  //
  3990  // API parameter values that are decorated as "sensitive" in the API will not
  3991  // be included in the string output. The member name will be present, but the
  3992  // value will be replaced with "sensitive".
  3993  func (s InvalidNextTokenException) GoString() string {
  3994  	return s.String()
  3995  }
  3996  
  3997  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
  3998  	return &InvalidNextTokenException{
  3999  		RespMetadata: v,
  4000  	}
  4001  }
  4002  
  4003  // Code returns the exception type name.
  4004  func (s *InvalidNextTokenException) Code() string {
  4005  	return "InvalidNextTokenException"
  4006  }
  4007  
  4008  // Message returns the exception's message.
  4009  func (s *InvalidNextTokenException) Message() string {
  4010  	if s.Message_ != nil {
  4011  		return *s.Message_
  4012  	}
  4013  	return ""
  4014  }
  4015  
  4016  // OrigErr always returns nil, satisfies awserr.Error interface.
  4017  func (s *InvalidNextTokenException) OrigErr() error {
  4018  	return nil
  4019  }
  4020  
  4021  func (s *InvalidNextTokenException) Error() string {
  4022  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4023  }
  4024  
  4025  // Status code returns the HTTP status code for the request's response error.
  4026  func (s *InvalidNextTokenException) StatusCode() int {
  4027  	return s.RespMetadata.StatusCode
  4028  }
  4029  
  4030  // RequestID returns the service's response RequestID for request.
  4031  func (s *InvalidNextTokenException) RequestID() string {
  4032  	return s.RespMetadata.RequestID
  4033  }
  4034  
  4035  // The resource is in a state that does not allow you to perform a specified
  4036  // action.
  4037  type InvalidStateException struct {
  4038  	_            struct{}                  `type:"structure"`
  4039  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4040  
  4041  	// Error or informational message that provides more detail if a resource is
  4042  	// in a state that is not valid for performing a specified action.
  4043  	Message_ *string `locationName:"Message" type:"string"`
  4044  }
  4045  
  4046  // String returns the string representation.
  4047  //
  4048  // API parameter values that are decorated as "sensitive" in the API will not
  4049  // be included in the string output. The member name will be present, but the
  4050  // value will be replaced with "sensitive".
  4051  func (s InvalidStateException) String() string {
  4052  	return awsutil.Prettify(s)
  4053  }
  4054  
  4055  // GoString returns the string representation.
  4056  //
  4057  // API parameter values that are decorated as "sensitive" in the API will not
  4058  // be included in the string output. The member name will be present, but the
  4059  // value will be replaced with "sensitive".
  4060  func (s InvalidStateException) GoString() string {
  4061  	return s.String()
  4062  }
  4063  
  4064  func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
  4065  	return &InvalidStateException{
  4066  		RespMetadata: v,
  4067  	}
  4068  }
  4069  
  4070  // Code returns the exception type name.
  4071  func (s *InvalidStateException) Code() string {
  4072  	return "InvalidStateException"
  4073  }
  4074  
  4075  // Message returns the exception's message.
  4076  func (s *InvalidStateException) Message() string {
  4077  	if s.Message_ != nil {
  4078  		return *s.Message_
  4079  	}
  4080  	return ""
  4081  }
  4082  
  4083  // OrigErr always returns nil, satisfies awserr.Error interface.
  4084  func (s *InvalidStateException) OrigErr() error {
  4085  	return nil
  4086  }
  4087  
  4088  func (s *InvalidStateException) Error() string {
  4089  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4090  }
  4091  
  4092  // Status code returns the HTTP status code for the request's response error.
  4093  func (s *InvalidStateException) StatusCode() int {
  4094  	return s.RespMetadata.StatusCode
  4095  }
  4096  
  4097  // RequestID returns the service's response RequestID for request.
  4098  func (s *InvalidStateException) RequestID() string {
  4099  	return s.RespMetadata.RequestID
  4100  }
  4101  
  4102  // The limit of servers or backups has been reached.
  4103  type LimitExceededException struct {
  4104  	_            struct{}                  `type:"structure"`
  4105  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4106  
  4107  	// Error or informational message that the maximum allowed number of servers
  4108  	// or backups has been exceeded.
  4109  	Message_ *string `locationName:"Message" type:"string"`
  4110  }
  4111  
  4112  // String returns the string representation.
  4113  //
  4114  // API parameter values that are decorated as "sensitive" in the API will not
  4115  // be included in the string output. The member name will be present, but the
  4116  // value will be replaced with "sensitive".
  4117  func (s LimitExceededException) String() string {
  4118  	return awsutil.Prettify(s)
  4119  }
  4120  
  4121  // GoString returns the string representation.
  4122  //
  4123  // API parameter values that are decorated as "sensitive" in the API will not
  4124  // be included in the string output. The member name will be present, but the
  4125  // value will be replaced with "sensitive".
  4126  func (s LimitExceededException) GoString() string {
  4127  	return s.String()
  4128  }
  4129  
  4130  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  4131  	return &LimitExceededException{
  4132  		RespMetadata: v,
  4133  	}
  4134  }
  4135  
  4136  // Code returns the exception type name.
  4137  func (s *LimitExceededException) Code() string {
  4138  	return "LimitExceededException"
  4139  }
  4140  
  4141  // Message returns the exception's message.
  4142  func (s *LimitExceededException) Message() string {
  4143  	if s.Message_ != nil {
  4144  		return *s.Message_
  4145  	}
  4146  	return ""
  4147  }
  4148  
  4149  // OrigErr always returns nil, satisfies awserr.Error interface.
  4150  func (s *LimitExceededException) OrigErr() error {
  4151  	return nil
  4152  }
  4153  
  4154  func (s *LimitExceededException) Error() string {
  4155  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4156  }
  4157  
  4158  // Status code returns the HTTP status code for the request's response error.
  4159  func (s *LimitExceededException) StatusCode() int {
  4160  	return s.RespMetadata.StatusCode
  4161  }
  4162  
  4163  // RequestID returns the service's response RequestID for request.
  4164  func (s *LimitExceededException) RequestID() string {
  4165  	return s.RespMetadata.RequestID
  4166  }
  4167  
  4168  type ListTagsForResourceInput struct {
  4169  	_ struct{} `type:"structure"`
  4170  
  4171  	// To receive a paginated response, use this parameter to specify the maximum
  4172  	// number of results to be returned with a single call. If the number of available
  4173  	// results exceeds this maximum, the response includes a NextToken value that
  4174  	// you can assign to the NextToken request parameter to get the next set of
  4175  	// results.
  4176  	MaxResults *int64 `min:"1" type:"integer"`
  4177  
  4178  	// NextToken is a string that is returned in some command responses. It indicates
  4179  	// that not all entries have been returned, and that you must run at least one
  4180  	// more request to get remaining items. To get remaining results, call ListTagsForResource
  4181  	// again, and assign the token from the previous results as the value of the
  4182  	// nextToken parameter. If there are no more results, the response object's
  4183  	// nextToken parameter value is null. Setting a nextToken value that was not
  4184  	// returned in your previous results causes an InvalidNextTokenException to
  4185  	// occur.
  4186  	NextToken *string `type:"string"`
  4187  
  4188  	// The Amazon Resource Number (ARN) of an AWS OpsWorks for Chef Automate or
  4189  	// AWS OpsWorks for Puppet Enterprise server for which you want to show applied
  4190  	// tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.
  4191  	//
  4192  	// ResourceArn is a required field
  4193  	ResourceArn *string `type:"string" required:"true"`
  4194  }
  4195  
  4196  // String returns the string representation.
  4197  //
  4198  // API parameter values that are decorated as "sensitive" in the API will not
  4199  // be included in the string output. The member name will be present, but the
  4200  // value will be replaced with "sensitive".
  4201  func (s ListTagsForResourceInput) String() string {
  4202  	return awsutil.Prettify(s)
  4203  }
  4204  
  4205  // GoString returns the string representation.
  4206  //
  4207  // API parameter values that are decorated as "sensitive" in the API will not
  4208  // be included in the string output. The member name will be present, but the
  4209  // value will be replaced with "sensitive".
  4210  func (s ListTagsForResourceInput) GoString() string {
  4211  	return s.String()
  4212  }
  4213  
  4214  // Validate inspects the fields of the type to determine if they are valid.
  4215  func (s *ListTagsForResourceInput) Validate() error {
  4216  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  4217  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4218  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4219  	}
  4220  	if s.ResourceArn == nil {
  4221  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4222  	}
  4223  
  4224  	if invalidParams.Len() > 0 {
  4225  		return invalidParams
  4226  	}
  4227  	return nil
  4228  }
  4229  
  4230  // SetMaxResults sets the MaxResults field's value.
  4231  func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
  4232  	s.MaxResults = &v
  4233  	return s
  4234  }
  4235  
  4236  // SetNextToken sets the NextToken field's value.
  4237  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  4238  	s.NextToken = &v
  4239  	return s
  4240  }
  4241  
  4242  // SetResourceArn sets the ResourceArn field's value.
  4243  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  4244  	s.ResourceArn = &v
  4245  	return s
  4246  }
  4247  
  4248  type ListTagsForResourceOutput struct {
  4249  	_ struct{} `type:"structure"`
  4250  
  4251  	// A token that you can use as the value of NextToken in subsequent calls to
  4252  	// the API to show more results.
  4253  	NextToken *string `type:"string"`
  4254  
  4255  	// Tags that have been applied to the resource.
  4256  	Tags []*Tag `type:"list"`
  4257  }
  4258  
  4259  // String returns the string representation.
  4260  //
  4261  // API parameter values that are decorated as "sensitive" in the API will not
  4262  // be included in the string output. The member name will be present, but the
  4263  // value will be replaced with "sensitive".
  4264  func (s ListTagsForResourceOutput) String() string {
  4265  	return awsutil.Prettify(s)
  4266  }
  4267  
  4268  // GoString returns the string representation.
  4269  //
  4270  // API parameter values that are decorated as "sensitive" in the API will not
  4271  // be included in the string output. The member name will be present, but the
  4272  // value will be replaced with "sensitive".
  4273  func (s ListTagsForResourceOutput) GoString() string {
  4274  	return s.String()
  4275  }
  4276  
  4277  // SetNextToken sets the NextToken field's value.
  4278  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  4279  	s.NextToken = &v
  4280  	return s
  4281  }
  4282  
  4283  // SetTags sets the Tags field's value.
  4284  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  4285  	s.Tags = v
  4286  	return s
  4287  }
  4288  
  4289  // The requested resource cannot be created because it already exists.
  4290  type ResourceAlreadyExistsException struct {
  4291  	_            struct{}                  `type:"structure"`
  4292  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4293  
  4294  	// Error or informational message in response to a CreateServer request that
  4295  	// a resource cannot be created because it already exists.
  4296  	Message_ *string `locationName:"Message" type:"string"`
  4297  }
  4298  
  4299  // String returns the string representation.
  4300  //
  4301  // API parameter values that are decorated as "sensitive" in the API will not
  4302  // be included in the string output. The member name will be present, but the
  4303  // value will be replaced with "sensitive".
  4304  func (s ResourceAlreadyExistsException) String() string {
  4305  	return awsutil.Prettify(s)
  4306  }
  4307  
  4308  // GoString returns the string representation.
  4309  //
  4310  // API parameter values that are decorated as "sensitive" in the API will not
  4311  // be included in the string output. The member name will be present, but the
  4312  // value will be replaced with "sensitive".
  4313  func (s ResourceAlreadyExistsException) GoString() string {
  4314  	return s.String()
  4315  }
  4316  
  4317  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
  4318  	return &ResourceAlreadyExistsException{
  4319  		RespMetadata: v,
  4320  	}
  4321  }
  4322  
  4323  // Code returns the exception type name.
  4324  func (s *ResourceAlreadyExistsException) Code() string {
  4325  	return "ResourceAlreadyExistsException"
  4326  }
  4327  
  4328  // Message returns the exception's message.
  4329  func (s *ResourceAlreadyExistsException) Message() string {
  4330  	if s.Message_ != nil {
  4331  		return *s.Message_
  4332  	}
  4333  	return ""
  4334  }
  4335  
  4336  // OrigErr always returns nil, satisfies awserr.Error interface.
  4337  func (s *ResourceAlreadyExistsException) OrigErr() error {
  4338  	return nil
  4339  }
  4340  
  4341  func (s *ResourceAlreadyExistsException) Error() string {
  4342  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4343  }
  4344  
  4345  // Status code returns the HTTP status code for the request's response error.
  4346  func (s *ResourceAlreadyExistsException) StatusCode() int {
  4347  	return s.RespMetadata.StatusCode
  4348  }
  4349  
  4350  // RequestID returns the service's response RequestID for request.
  4351  func (s *ResourceAlreadyExistsException) RequestID() string {
  4352  	return s.RespMetadata.RequestID
  4353  }
  4354  
  4355  // The requested resource does not exist, or access was denied.
  4356  type ResourceNotFoundException struct {
  4357  	_            struct{}                  `type:"structure"`
  4358  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4359  
  4360  	// Error or informational message that can contain more detail about problems
  4361  	// locating or accessing a resource.
  4362  	Message_ *string `locationName:"Message" type:"string"`
  4363  }
  4364  
  4365  // String returns the string representation.
  4366  //
  4367  // API parameter values that are decorated as "sensitive" in the API will not
  4368  // be included in the string output. The member name will be present, but the
  4369  // value will be replaced with "sensitive".
  4370  func (s ResourceNotFoundException) String() string {
  4371  	return awsutil.Prettify(s)
  4372  }
  4373  
  4374  // GoString returns the string representation.
  4375  //
  4376  // API parameter values that are decorated as "sensitive" in the API will not
  4377  // be included in the string output. The member name will be present, but the
  4378  // value will be replaced with "sensitive".
  4379  func (s ResourceNotFoundException) GoString() string {
  4380  	return s.String()
  4381  }
  4382  
  4383  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  4384  	return &ResourceNotFoundException{
  4385  		RespMetadata: v,
  4386  	}
  4387  }
  4388  
  4389  // Code returns the exception type name.
  4390  func (s *ResourceNotFoundException) Code() string {
  4391  	return "ResourceNotFoundException"
  4392  }
  4393  
  4394  // Message returns the exception's message.
  4395  func (s *ResourceNotFoundException) Message() string {
  4396  	if s.Message_ != nil {
  4397  		return *s.Message_
  4398  	}
  4399  	return ""
  4400  }
  4401  
  4402  // OrigErr always returns nil, satisfies awserr.Error interface.
  4403  func (s *ResourceNotFoundException) OrigErr() error {
  4404  	return nil
  4405  }
  4406  
  4407  func (s *ResourceNotFoundException) Error() string {
  4408  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4409  }
  4410  
  4411  // Status code returns the HTTP status code for the request's response error.
  4412  func (s *ResourceNotFoundException) StatusCode() int {
  4413  	return s.RespMetadata.StatusCode
  4414  }
  4415  
  4416  // RequestID returns the service's response RequestID for request.
  4417  func (s *ResourceNotFoundException) RequestID() string {
  4418  	return s.RespMetadata.RequestID
  4419  }
  4420  
  4421  type RestoreServerInput struct {
  4422  	_ struct{} `type:"structure"`
  4423  
  4424  	// The ID of the backup that you want to use to restore a server.
  4425  	//
  4426  	// BackupId is a required field
  4427  	BackupId *string `type:"string" required:"true"`
  4428  
  4429  	// The type of instance to restore. Valid values must be specified in the following
  4430  	// format: ^([cm][34]|t2).* For example, m5.large. Valid values are m5.large,
  4431  	// r5.xlarge, and r5.2xlarge. If you do not specify this parameter, RestoreServer
  4432  	// uses the instance type from the specified backup.
  4433  	InstanceType *string `type:"string"`
  4434  
  4435  	// The name of the key pair to set on the new EC2 instance. This can be helpful
  4436  	// if the administrator no longer has the SSH key.
  4437  	KeyPair *string `type:"string"`
  4438  
  4439  	// The name of the server that you want to restore.
  4440  	//
  4441  	// ServerName is a required field
  4442  	ServerName *string `min:"1" type:"string" required:"true"`
  4443  }
  4444  
  4445  // String returns the string representation.
  4446  //
  4447  // API parameter values that are decorated as "sensitive" in the API will not
  4448  // be included in the string output. The member name will be present, but the
  4449  // value will be replaced with "sensitive".
  4450  func (s RestoreServerInput) String() string {
  4451  	return awsutil.Prettify(s)
  4452  }
  4453  
  4454  // GoString returns the string representation.
  4455  //
  4456  // API parameter values that are decorated as "sensitive" in the API will not
  4457  // be included in the string output. The member name will be present, but the
  4458  // value will be replaced with "sensitive".
  4459  func (s RestoreServerInput) GoString() string {
  4460  	return s.String()
  4461  }
  4462  
  4463  // Validate inspects the fields of the type to determine if they are valid.
  4464  func (s *RestoreServerInput) Validate() error {
  4465  	invalidParams := request.ErrInvalidParams{Context: "RestoreServerInput"}
  4466  	if s.BackupId == nil {
  4467  		invalidParams.Add(request.NewErrParamRequired("BackupId"))
  4468  	}
  4469  	if s.ServerName == nil {
  4470  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  4471  	}
  4472  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  4473  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  4474  	}
  4475  
  4476  	if invalidParams.Len() > 0 {
  4477  		return invalidParams
  4478  	}
  4479  	return nil
  4480  }
  4481  
  4482  // SetBackupId sets the BackupId field's value.
  4483  func (s *RestoreServerInput) SetBackupId(v string) *RestoreServerInput {
  4484  	s.BackupId = &v
  4485  	return s
  4486  }
  4487  
  4488  // SetInstanceType sets the InstanceType field's value.
  4489  func (s *RestoreServerInput) SetInstanceType(v string) *RestoreServerInput {
  4490  	s.InstanceType = &v
  4491  	return s
  4492  }
  4493  
  4494  // SetKeyPair sets the KeyPair field's value.
  4495  func (s *RestoreServerInput) SetKeyPair(v string) *RestoreServerInput {
  4496  	s.KeyPair = &v
  4497  	return s
  4498  }
  4499  
  4500  // SetServerName sets the ServerName field's value.
  4501  func (s *RestoreServerInput) SetServerName(v string) *RestoreServerInput {
  4502  	s.ServerName = &v
  4503  	return s
  4504  }
  4505  
  4506  type RestoreServerOutput struct {
  4507  	_ struct{} `type:"structure"`
  4508  
  4509  	// Describes a configuration management server.
  4510  	Server *Server `type:"structure"`
  4511  }
  4512  
  4513  // String returns the string representation.
  4514  //
  4515  // API parameter values that are decorated as "sensitive" in the API will not
  4516  // be included in the string output. The member name will be present, but the
  4517  // value will be replaced with "sensitive".
  4518  func (s RestoreServerOutput) String() string {
  4519  	return awsutil.Prettify(s)
  4520  }
  4521  
  4522  // GoString returns the string representation.
  4523  //
  4524  // API parameter values that are decorated as "sensitive" in the API will not
  4525  // be included in the string output. The member name will be present, but the
  4526  // value will be replaced with "sensitive".
  4527  func (s RestoreServerOutput) GoString() string {
  4528  	return s.String()
  4529  }
  4530  
  4531  // SetServer sets the Server field's value.
  4532  func (s *RestoreServerOutput) SetServer(v *Server) *RestoreServerOutput {
  4533  	s.Server = v
  4534  	return s
  4535  }
  4536  
  4537  // Describes a configuration management server.
  4538  type Server struct {
  4539  	_ struct{} `type:"structure"`
  4540  
  4541  	// Associate a public IP address with a server that you are launching.
  4542  	AssociatePublicIpAddress *bool `type:"boolean"`
  4543  
  4544  	// The number of automated backups to keep.
  4545  	BackupRetentionCount *int64 `type:"integer"`
  4546  
  4547  	// The ARN of the CloudFormation stack that was used to create the server.
  4548  	CloudFormationStackArn *string `type:"string"`
  4549  
  4550  	// Time stamp of server creation. Example 2016-07-29T13:38:47.520Z
  4551  	CreatedAt *time.Time `type:"timestamp"`
  4552  
  4553  	// An optional public endpoint of a server, such as https://aws.my-company.com.
  4554  	// You cannot access the server by using the Endpoint value if the server has
  4555  	// a CustomDomain specified.
  4556  	CustomDomain *string `type:"string"`
  4557  
  4558  	// Disables automated backups. The number of stored backups is dependent on
  4559  	// the value of PreferredBackupCount.
  4560  	DisableAutomatedBackup *bool `type:"boolean"`
  4561  
  4562  	// A DNS name that can be used to access the engine. Example: myserver-asdfghjkl.us-east-1.opsworks.io.
  4563  	// You cannot access the server by using the Endpoint value if the server has
  4564  	// a CustomDomain specified.
  4565  	Endpoint *string `type:"string"`
  4566  
  4567  	// The engine type of the server. Valid values in this release include ChefAutomate
  4568  	// and Puppet.
  4569  	Engine *string `type:"string"`
  4570  
  4571  	// The response of a createServer() request returns the master credential to
  4572  	// access the server in EngineAttributes. These credentials are not stored by
  4573  	// AWS OpsWorks CM; they are returned only as part of the result of createServer().
  4574  	//
  4575  	// Attributes returned in a createServer response for Chef
  4576  	//
  4577  	//    * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA private key that is
  4578  	//    generated by AWS OpsWorks for Chef Automate. This private key is required
  4579  	//    to access the Chef API.
  4580  	//
  4581  	//    * CHEF_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a
  4582  	//    Chef starter kit, which includes a README, a configuration file, and the
  4583  	//    required RSA private key. Save this file, unzip it, and then change to
  4584  	//    the directory where you've unzipped the file contents. From this directory,
  4585  	//    you can run Knife commands.
  4586  	//
  4587  	// Attributes returned in a createServer response for Puppet
  4588  	//
  4589  	//    * PUPPET_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains
  4590  	//    a Puppet starter kit, including a README and a required private key. Save
  4591  	//    this file, unzip it, and then change to the directory where you've unzipped
  4592  	//    the file contents.
  4593  	//
  4594  	//    * PUPPET_ADMIN_PASSWORD: An administrator password that you can use to
  4595  	//    sign in to the Puppet Enterprise console after the server is online.
  4596  	EngineAttributes []*EngineAttribute `type:"list"`
  4597  
  4598  	// The engine model of the server. Valid values in this release include Monolithic
  4599  	// for Puppet and Single for Chef.
  4600  	EngineModel *string `type:"string"`
  4601  
  4602  	// The engine version of the server. For a Chef server, the valid value for
  4603  	// EngineVersion is currently 2. For a Puppet server, specify either 2019 or
  4604  	// 2017.
  4605  	EngineVersion *string `type:"string"`
  4606  
  4607  	// The instance profile ARN of the server.
  4608  	InstanceProfileArn *string `type:"string"`
  4609  
  4610  	// The instance type for the server, as specified in the CloudFormation stack.
  4611  	// This might not be the same instance type that is shown in the EC2 console.
  4612  	InstanceType *string `type:"string"`
  4613  
  4614  	// The key pair associated with the server.
  4615  	KeyPair *string `type:"string"`
  4616  
  4617  	// The status of the most recent server maintenance run. Shows SUCCESS or FAILED.
  4618  	MaintenanceStatus *string `type:"string" enum:"MaintenanceStatus"`
  4619  
  4620  	// The preferred backup period specified for the server.
  4621  	PreferredBackupWindow *string `type:"string"`
  4622  
  4623  	// The preferred maintenance period specified for the server.
  4624  	PreferredMaintenanceWindow *string `type:"string"`
  4625  
  4626  	// The security group IDs for the server, as specified in the CloudFormation
  4627  	// stack. These might not be the same security groups that are shown in the
  4628  	// EC2 console.
  4629  	SecurityGroupIds []*string `type:"list"`
  4630  
  4631  	// The ARN of the server.
  4632  	ServerArn *string `type:"string"`
  4633  
  4634  	// The name of the server.
  4635  	ServerName *string `type:"string"`
  4636  
  4637  	// The service role ARN used to create the server.
  4638  	ServiceRoleArn *string `type:"string"`
  4639  
  4640  	// The server's status. This field displays the states of actions in progress,
  4641  	// such as creating, running, or backing up the server, as well as the server's
  4642  	// health state.
  4643  	Status *string `type:"string" enum:"ServerStatus"`
  4644  
  4645  	// Depending on the server status, this field has either a human-readable message
  4646  	// (such as a create or backup error), or an escaped block of JSON (used for
  4647  	// health check results).
  4648  	StatusReason *string `type:"string"`
  4649  
  4650  	// The subnet IDs specified in a CreateServer request.
  4651  	SubnetIds []*string `type:"list"`
  4652  }
  4653  
  4654  // String returns the string representation.
  4655  //
  4656  // API parameter values that are decorated as "sensitive" in the API will not
  4657  // be included in the string output. The member name will be present, but the
  4658  // value will be replaced with "sensitive".
  4659  func (s Server) String() string {
  4660  	return awsutil.Prettify(s)
  4661  }
  4662  
  4663  // GoString returns the string representation.
  4664  //
  4665  // API parameter values that are decorated as "sensitive" in the API will not
  4666  // be included in the string output. The member name will be present, but the
  4667  // value will be replaced with "sensitive".
  4668  func (s Server) GoString() string {
  4669  	return s.String()
  4670  }
  4671  
  4672  // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  4673  func (s *Server) SetAssociatePublicIpAddress(v bool) *Server {
  4674  	s.AssociatePublicIpAddress = &v
  4675  	return s
  4676  }
  4677  
  4678  // SetBackupRetentionCount sets the BackupRetentionCount field's value.
  4679  func (s *Server) SetBackupRetentionCount(v int64) *Server {
  4680  	s.BackupRetentionCount = &v
  4681  	return s
  4682  }
  4683  
  4684  // SetCloudFormationStackArn sets the CloudFormationStackArn field's value.
  4685  func (s *Server) SetCloudFormationStackArn(v string) *Server {
  4686  	s.CloudFormationStackArn = &v
  4687  	return s
  4688  }
  4689  
  4690  // SetCreatedAt sets the CreatedAt field's value.
  4691  func (s *Server) SetCreatedAt(v time.Time) *Server {
  4692  	s.CreatedAt = &v
  4693  	return s
  4694  }
  4695  
  4696  // SetCustomDomain sets the CustomDomain field's value.
  4697  func (s *Server) SetCustomDomain(v string) *Server {
  4698  	s.CustomDomain = &v
  4699  	return s
  4700  }
  4701  
  4702  // SetDisableAutomatedBackup sets the DisableAutomatedBackup field's value.
  4703  func (s *Server) SetDisableAutomatedBackup(v bool) *Server {
  4704  	s.DisableAutomatedBackup = &v
  4705  	return s
  4706  }
  4707  
  4708  // SetEndpoint sets the Endpoint field's value.
  4709  func (s *Server) SetEndpoint(v string) *Server {
  4710  	s.Endpoint = &v
  4711  	return s
  4712  }
  4713  
  4714  // SetEngine sets the Engine field's value.
  4715  func (s *Server) SetEngine(v string) *Server {
  4716  	s.Engine = &v
  4717  	return s
  4718  }
  4719  
  4720  // SetEngineAttributes sets the EngineAttributes field's value.
  4721  func (s *Server) SetEngineAttributes(v []*EngineAttribute) *Server {
  4722  	s.EngineAttributes = v
  4723  	return s
  4724  }
  4725  
  4726  // SetEngineModel sets the EngineModel field's value.
  4727  func (s *Server) SetEngineModel(v string) *Server {
  4728  	s.EngineModel = &v
  4729  	return s
  4730  }
  4731  
  4732  // SetEngineVersion sets the EngineVersion field's value.
  4733  func (s *Server) SetEngineVersion(v string) *Server {
  4734  	s.EngineVersion = &v
  4735  	return s
  4736  }
  4737  
  4738  // SetInstanceProfileArn sets the InstanceProfileArn field's value.
  4739  func (s *Server) SetInstanceProfileArn(v string) *Server {
  4740  	s.InstanceProfileArn = &v
  4741  	return s
  4742  }
  4743  
  4744  // SetInstanceType sets the InstanceType field's value.
  4745  func (s *Server) SetInstanceType(v string) *Server {
  4746  	s.InstanceType = &v
  4747  	return s
  4748  }
  4749  
  4750  // SetKeyPair sets the KeyPair field's value.
  4751  func (s *Server) SetKeyPair(v string) *Server {
  4752  	s.KeyPair = &v
  4753  	return s
  4754  }
  4755  
  4756  // SetMaintenanceStatus sets the MaintenanceStatus field's value.
  4757  func (s *Server) SetMaintenanceStatus(v string) *Server {
  4758  	s.MaintenanceStatus = &v
  4759  	return s
  4760  }
  4761  
  4762  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  4763  func (s *Server) SetPreferredBackupWindow(v string) *Server {
  4764  	s.PreferredBackupWindow = &v
  4765  	return s
  4766  }
  4767  
  4768  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  4769  func (s *Server) SetPreferredMaintenanceWindow(v string) *Server {
  4770  	s.PreferredMaintenanceWindow = &v
  4771  	return s
  4772  }
  4773  
  4774  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  4775  func (s *Server) SetSecurityGroupIds(v []*string) *Server {
  4776  	s.SecurityGroupIds = v
  4777  	return s
  4778  }
  4779  
  4780  // SetServerArn sets the ServerArn field's value.
  4781  func (s *Server) SetServerArn(v string) *Server {
  4782  	s.ServerArn = &v
  4783  	return s
  4784  }
  4785  
  4786  // SetServerName sets the ServerName field's value.
  4787  func (s *Server) SetServerName(v string) *Server {
  4788  	s.ServerName = &v
  4789  	return s
  4790  }
  4791  
  4792  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  4793  func (s *Server) SetServiceRoleArn(v string) *Server {
  4794  	s.ServiceRoleArn = &v
  4795  	return s
  4796  }
  4797  
  4798  // SetStatus sets the Status field's value.
  4799  func (s *Server) SetStatus(v string) *Server {
  4800  	s.Status = &v
  4801  	return s
  4802  }
  4803  
  4804  // SetStatusReason sets the StatusReason field's value.
  4805  func (s *Server) SetStatusReason(v string) *Server {
  4806  	s.StatusReason = &v
  4807  	return s
  4808  }
  4809  
  4810  // SetSubnetIds sets the SubnetIds field's value.
  4811  func (s *Server) SetSubnetIds(v []*string) *Server {
  4812  	s.SubnetIds = v
  4813  	return s
  4814  }
  4815  
  4816  // An event that is related to the server, such as the start of maintenance
  4817  // or backup.
  4818  type ServerEvent struct {
  4819  	_ struct{} `type:"structure"`
  4820  
  4821  	// The time when the event occurred.
  4822  	CreatedAt *time.Time `type:"timestamp"`
  4823  
  4824  	// The Amazon S3 URL of the event's log file.
  4825  	LogUrl *string `type:"string"`
  4826  
  4827  	// A human-readable informational or status message.
  4828  	Message *string `type:"string"`
  4829  
  4830  	// The name of the server on or for which the event occurred.
  4831  	ServerName *string `type:"string"`
  4832  }
  4833  
  4834  // String returns the string representation.
  4835  //
  4836  // API parameter values that are decorated as "sensitive" in the API will not
  4837  // be included in the string output. The member name will be present, but the
  4838  // value will be replaced with "sensitive".
  4839  func (s ServerEvent) String() string {
  4840  	return awsutil.Prettify(s)
  4841  }
  4842  
  4843  // GoString returns the string representation.
  4844  //
  4845  // API parameter values that are decorated as "sensitive" in the API will not
  4846  // be included in the string output. The member name will be present, but the
  4847  // value will be replaced with "sensitive".
  4848  func (s ServerEvent) GoString() string {
  4849  	return s.String()
  4850  }
  4851  
  4852  // SetCreatedAt sets the CreatedAt field's value.
  4853  func (s *ServerEvent) SetCreatedAt(v time.Time) *ServerEvent {
  4854  	s.CreatedAt = &v
  4855  	return s
  4856  }
  4857  
  4858  // SetLogUrl sets the LogUrl field's value.
  4859  func (s *ServerEvent) SetLogUrl(v string) *ServerEvent {
  4860  	s.LogUrl = &v
  4861  	return s
  4862  }
  4863  
  4864  // SetMessage sets the Message field's value.
  4865  func (s *ServerEvent) SetMessage(v string) *ServerEvent {
  4866  	s.Message = &v
  4867  	return s
  4868  }
  4869  
  4870  // SetServerName sets the ServerName field's value.
  4871  func (s *ServerEvent) SetServerName(v string) *ServerEvent {
  4872  	s.ServerName = &v
  4873  	return s
  4874  }
  4875  
  4876  type StartMaintenanceInput struct {
  4877  	_ struct{} `type:"structure"`
  4878  
  4879  	// Engine attributes that are specific to the server on which you want to run
  4880  	// maintenance.
  4881  	//
  4882  	// Attributes accepted in a StartMaintenance request for Chef
  4883  	//
  4884  	//    * CHEF_MAJOR_UPGRADE: If a Chef Automate server is eligible for upgrade
  4885  	//    to Chef Automate 2, add this engine attribute to a StartMaintenance request
  4886  	//    and set the value to true to upgrade the server to Chef Automate 2. For
  4887  	//    more information, see Upgrade an AWS OpsWorks for Chef Automate Server
  4888  	//    to Chef Automate 2 (https://docs.aws.amazon.com/opsworks/latest/userguide/opscm-a2upgrade.html).
  4889  	EngineAttributes []*EngineAttribute `type:"list"`
  4890  
  4891  	// The name of the server on which to run maintenance.
  4892  	//
  4893  	// ServerName is a required field
  4894  	ServerName *string `min:"1" type:"string" required:"true"`
  4895  }
  4896  
  4897  // String returns the string representation.
  4898  //
  4899  // API parameter values that are decorated as "sensitive" in the API will not
  4900  // be included in the string output. The member name will be present, but the
  4901  // value will be replaced with "sensitive".
  4902  func (s StartMaintenanceInput) String() string {
  4903  	return awsutil.Prettify(s)
  4904  }
  4905  
  4906  // GoString returns the string representation.
  4907  //
  4908  // API parameter values that are decorated as "sensitive" in the API will not
  4909  // be included in the string output. The member name will be present, but the
  4910  // value will be replaced with "sensitive".
  4911  func (s StartMaintenanceInput) GoString() string {
  4912  	return s.String()
  4913  }
  4914  
  4915  // Validate inspects the fields of the type to determine if they are valid.
  4916  func (s *StartMaintenanceInput) Validate() error {
  4917  	invalidParams := request.ErrInvalidParams{Context: "StartMaintenanceInput"}
  4918  	if s.ServerName == nil {
  4919  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  4920  	}
  4921  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  4922  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  4923  	}
  4924  
  4925  	if invalidParams.Len() > 0 {
  4926  		return invalidParams
  4927  	}
  4928  	return nil
  4929  }
  4930  
  4931  // SetEngineAttributes sets the EngineAttributes field's value.
  4932  func (s *StartMaintenanceInput) SetEngineAttributes(v []*EngineAttribute) *StartMaintenanceInput {
  4933  	s.EngineAttributes = v
  4934  	return s
  4935  }
  4936  
  4937  // SetServerName sets the ServerName field's value.
  4938  func (s *StartMaintenanceInput) SetServerName(v string) *StartMaintenanceInput {
  4939  	s.ServerName = &v
  4940  	return s
  4941  }
  4942  
  4943  type StartMaintenanceOutput struct {
  4944  	_ struct{} `type:"structure"`
  4945  
  4946  	// Contains the response to a StartMaintenance request.
  4947  	Server *Server `type:"structure"`
  4948  }
  4949  
  4950  // String returns the string representation.
  4951  //
  4952  // API parameter values that are decorated as "sensitive" in the API will not
  4953  // be included in the string output. The member name will be present, but the
  4954  // value will be replaced with "sensitive".
  4955  func (s StartMaintenanceOutput) String() string {
  4956  	return awsutil.Prettify(s)
  4957  }
  4958  
  4959  // GoString returns the string representation.
  4960  //
  4961  // API parameter values that are decorated as "sensitive" in the API will not
  4962  // be included in the string output. The member name will be present, but the
  4963  // value will be replaced with "sensitive".
  4964  func (s StartMaintenanceOutput) GoString() string {
  4965  	return s.String()
  4966  }
  4967  
  4968  // SetServer sets the Server field's value.
  4969  func (s *StartMaintenanceOutput) SetServer(v *Server) *StartMaintenanceOutput {
  4970  	s.Server = v
  4971  	return s
  4972  }
  4973  
  4974  // A map that contains tag keys and tag values to attach to an AWS OpsWorks
  4975  // for Chef Automate or AWS OpsWorks for Puppet Enterprise server. Leading and
  4976  // trailing white spaces are trimmed from both the key and value. A maximum
  4977  // of 50 user-applied tags is allowed for tag-supported AWS OpsWorks-CM resources.
  4978  type Tag struct {
  4979  	_ struct{} `type:"structure"`
  4980  
  4981  	// A tag key, such as Stage or Name. A tag key cannot be empty. The key can
  4982  	// be a maximum of 127 characters, and can contain only Unicode letters, numbers,
  4983  	// or separators, or the following special characters: + - = . _ : /
  4984  	//
  4985  	// Key is a required field
  4986  	Key *string `min:"1" type:"string" required:"true"`
  4987  
  4988  	// An optional tag value, such as Production or test-owcm-server. The value
  4989  	// can be a maximum of 255 characters, and contain only Unicode letters, numbers,
  4990  	// or separators, or the following special characters: + - = . _ : /
  4991  	//
  4992  	// Value is a required field
  4993  	Value *string `type:"string" required:"true"`
  4994  }
  4995  
  4996  // String returns the string representation.
  4997  //
  4998  // API parameter values that are decorated as "sensitive" in the API will not
  4999  // be included in the string output. The member name will be present, but the
  5000  // value will be replaced with "sensitive".
  5001  func (s Tag) String() string {
  5002  	return awsutil.Prettify(s)
  5003  }
  5004  
  5005  // GoString returns the string representation.
  5006  //
  5007  // API parameter values that are decorated as "sensitive" in the API will not
  5008  // be included in the string output. The member name will be present, but the
  5009  // value will be replaced with "sensitive".
  5010  func (s Tag) GoString() string {
  5011  	return s.String()
  5012  }
  5013  
  5014  // Validate inspects the fields of the type to determine if they are valid.
  5015  func (s *Tag) Validate() error {
  5016  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  5017  	if s.Key == nil {
  5018  		invalidParams.Add(request.NewErrParamRequired("Key"))
  5019  	}
  5020  	if s.Key != nil && len(*s.Key) < 1 {
  5021  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  5022  	}
  5023  	if s.Value == nil {
  5024  		invalidParams.Add(request.NewErrParamRequired("Value"))
  5025  	}
  5026  
  5027  	if invalidParams.Len() > 0 {
  5028  		return invalidParams
  5029  	}
  5030  	return nil
  5031  }
  5032  
  5033  // SetKey sets the Key field's value.
  5034  func (s *Tag) SetKey(v string) *Tag {
  5035  	s.Key = &v
  5036  	return s
  5037  }
  5038  
  5039  // SetValue sets the Value field's value.
  5040  func (s *Tag) SetValue(v string) *Tag {
  5041  	s.Value = &v
  5042  	return s
  5043  }
  5044  
  5045  type TagResourceInput struct {
  5046  	_ struct{} `type:"structure"`
  5047  
  5048  	// The Amazon Resource Number (ARN) of a resource to which you want to apply
  5049  	// tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.
  5050  	//
  5051  	// ResourceArn is a required field
  5052  	ResourceArn *string `type:"string" required:"true"`
  5053  
  5054  	// A map that contains tag keys and tag values to attach to AWS OpsWorks-CM
  5055  	// servers or backups.
  5056  	//
  5057  	//    * The key cannot be empty.
  5058  	//
  5059  	//    * The key can be a maximum of 127 characters, and can contain only Unicode
  5060  	//    letters, numbers, or separators, or the following special characters:
  5061  	//    + - = . _ : /
  5062  	//
  5063  	//    * The value can be a maximum 255 characters, and contain only Unicode
  5064  	//    letters, numbers, or separators, or the following special characters:
  5065  	//    + - = . _ : /
  5066  	//
  5067  	//    * Leading and trailing white spaces are trimmed from both the key and
  5068  	//    value.
  5069  	//
  5070  	//    * A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM
  5071  	//    server or backup.
  5072  	//
  5073  	// Tags is a required field
  5074  	Tags []*Tag `type:"list" required:"true"`
  5075  }
  5076  
  5077  // String returns the string representation.
  5078  //
  5079  // API parameter values that are decorated as "sensitive" in the API will not
  5080  // be included in the string output. The member name will be present, but the
  5081  // value will be replaced with "sensitive".
  5082  func (s TagResourceInput) String() string {
  5083  	return awsutil.Prettify(s)
  5084  }
  5085  
  5086  // GoString returns the string representation.
  5087  //
  5088  // API parameter values that are decorated as "sensitive" in the API will not
  5089  // be included in the string output. The member name will be present, but the
  5090  // value will be replaced with "sensitive".
  5091  func (s TagResourceInput) GoString() string {
  5092  	return s.String()
  5093  }
  5094  
  5095  // Validate inspects the fields of the type to determine if they are valid.
  5096  func (s *TagResourceInput) Validate() error {
  5097  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  5098  	if s.ResourceArn == nil {
  5099  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  5100  	}
  5101  	if s.Tags == nil {
  5102  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  5103  	}
  5104  	if s.Tags != nil {
  5105  		for i, v := range s.Tags {
  5106  			if v == nil {
  5107  				continue
  5108  			}
  5109  			if err := v.Validate(); err != nil {
  5110  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5111  			}
  5112  		}
  5113  	}
  5114  
  5115  	if invalidParams.Len() > 0 {
  5116  		return invalidParams
  5117  	}
  5118  	return nil
  5119  }
  5120  
  5121  // SetResourceArn sets the ResourceArn field's value.
  5122  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  5123  	s.ResourceArn = &v
  5124  	return s
  5125  }
  5126  
  5127  // SetTags sets the Tags field's value.
  5128  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  5129  	s.Tags = v
  5130  	return s
  5131  }
  5132  
  5133  type TagResourceOutput struct {
  5134  	_ struct{} `type:"structure"`
  5135  }
  5136  
  5137  // String returns the string representation.
  5138  //
  5139  // API parameter values that are decorated as "sensitive" in the API will not
  5140  // be included in the string output. The member name will be present, but the
  5141  // value will be replaced with "sensitive".
  5142  func (s TagResourceOutput) String() string {
  5143  	return awsutil.Prettify(s)
  5144  }
  5145  
  5146  // GoString returns the string representation.
  5147  //
  5148  // API parameter values that are decorated as "sensitive" in the API will not
  5149  // be included in the string output. The member name will be present, but the
  5150  // value will be replaced with "sensitive".
  5151  func (s TagResourceOutput) GoString() string {
  5152  	return s.String()
  5153  }
  5154  
  5155  type UntagResourceInput struct {
  5156  	_ struct{} `type:"structure"`
  5157  
  5158  	// The Amazon Resource Number (ARN) of a resource from which you want to remove
  5159  	// tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.
  5160  	//
  5161  	// ResourceArn is a required field
  5162  	ResourceArn *string `type:"string" required:"true"`
  5163  
  5164  	// The keys of tags that you want to remove.
  5165  	//
  5166  	// TagKeys is a required field
  5167  	TagKeys []*string `type:"list" required:"true"`
  5168  }
  5169  
  5170  // String returns the string representation.
  5171  //
  5172  // API parameter values that are decorated as "sensitive" in the API will not
  5173  // be included in the string output. The member name will be present, but the
  5174  // value will be replaced with "sensitive".
  5175  func (s UntagResourceInput) String() string {
  5176  	return awsutil.Prettify(s)
  5177  }
  5178  
  5179  // GoString returns the string representation.
  5180  //
  5181  // API parameter values that are decorated as "sensitive" in the API will not
  5182  // be included in the string output. The member name will be present, but the
  5183  // value will be replaced with "sensitive".
  5184  func (s UntagResourceInput) GoString() string {
  5185  	return s.String()
  5186  }
  5187  
  5188  // Validate inspects the fields of the type to determine if they are valid.
  5189  func (s *UntagResourceInput) Validate() error {
  5190  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  5191  	if s.ResourceArn == nil {
  5192  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  5193  	}
  5194  	if s.TagKeys == nil {
  5195  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  5196  	}
  5197  
  5198  	if invalidParams.Len() > 0 {
  5199  		return invalidParams
  5200  	}
  5201  	return nil
  5202  }
  5203  
  5204  // SetResourceArn sets the ResourceArn field's value.
  5205  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  5206  	s.ResourceArn = &v
  5207  	return s
  5208  }
  5209  
  5210  // SetTagKeys sets the TagKeys field's value.
  5211  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  5212  	s.TagKeys = v
  5213  	return s
  5214  }
  5215  
  5216  type UntagResourceOutput struct {
  5217  	_ struct{} `type:"structure"`
  5218  }
  5219  
  5220  // String returns the string representation.
  5221  //
  5222  // API parameter values that are decorated as "sensitive" in the API will not
  5223  // be included in the string output. The member name will be present, but the
  5224  // value will be replaced with "sensitive".
  5225  func (s UntagResourceOutput) String() string {
  5226  	return awsutil.Prettify(s)
  5227  }
  5228  
  5229  // GoString returns the string representation.
  5230  //
  5231  // API parameter values that are decorated as "sensitive" in the API will not
  5232  // be included in the string output. The member name will be present, but the
  5233  // value will be replaced with "sensitive".
  5234  func (s UntagResourceOutput) GoString() string {
  5235  	return s.String()
  5236  }
  5237  
  5238  type UpdateServerEngineAttributesInput struct {
  5239  	_ struct{} `type:"structure"`
  5240  
  5241  	// The name of the engine attribute to update.
  5242  	//
  5243  	// AttributeName is a required field
  5244  	AttributeName *string `min:"1" type:"string" required:"true"`
  5245  
  5246  	// The value to set for the attribute.
  5247  	AttributeValue *string `type:"string"`
  5248  
  5249  	// The name of the server to update.
  5250  	//
  5251  	// ServerName is a required field
  5252  	ServerName *string `min:"1" type:"string" required:"true"`
  5253  }
  5254  
  5255  // String returns the string representation.
  5256  //
  5257  // API parameter values that are decorated as "sensitive" in the API will not
  5258  // be included in the string output. The member name will be present, but the
  5259  // value will be replaced with "sensitive".
  5260  func (s UpdateServerEngineAttributesInput) String() string {
  5261  	return awsutil.Prettify(s)
  5262  }
  5263  
  5264  // GoString returns the string representation.
  5265  //
  5266  // API parameter values that are decorated as "sensitive" in the API will not
  5267  // be included in the string output. The member name will be present, but the
  5268  // value will be replaced with "sensitive".
  5269  func (s UpdateServerEngineAttributesInput) GoString() string {
  5270  	return s.String()
  5271  }
  5272  
  5273  // Validate inspects the fields of the type to determine if they are valid.
  5274  func (s *UpdateServerEngineAttributesInput) Validate() error {
  5275  	invalidParams := request.ErrInvalidParams{Context: "UpdateServerEngineAttributesInput"}
  5276  	if s.AttributeName == nil {
  5277  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
  5278  	}
  5279  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
  5280  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
  5281  	}
  5282  	if s.ServerName == nil {
  5283  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  5284  	}
  5285  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  5286  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  5287  	}
  5288  
  5289  	if invalidParams.Len() > 0 {
  5290  		return invalidParams
  5291  	}
  5292  	return nil
  5293  }
  5294  
  5295  // SetAttributeName sets the AttributeName field's value.
  5296  func (s *UpdateServerEngineAttributesInput) SetAttributeName(v string) *UpdateServerEngineAttributesInput {
  5297  	s.AttributeName = &v
  5298  	return s
  5299  }
  5300  
  5301  // SetAttributeValue sets the AttributeValue field's value.
  5302  func (s *UpdateServerEngineAttributesInput) SetAttributeValue(v string) *UpdateServerEngineAttributesInput {
  5303  	s.AttributeValue = &v
  5304  	return s
  5305  }
  5306  
  5307  // SetServerName sets the ServerName field's value.
  5308  func (s *UpdateServerEngineAttributesInput) SetServerName(v string) *UpdateServerEngineAttributesInput {
  5309  	s.ServerName = &v
  5310  	return s
  5311  }
  5312  
  5313  type UpdateServerEngineAttributesOutput struct {
  5314  	_ struct{} `type:"structure"`
  5315  
  5316  	// Contains the response to an UpdateServerEngineAttributes request.
  5317  	Server *Server `type:"structure"`
  5318  }
  5319  
  5320  // String returns the string representation.
  5321  //
  5322  // API parameter values that are decorated as "sensitive" in the API will not
  5323  // be included in the string output. The member name will be present, but the
  5324  // value will be replaced with "sensitive".
  5325  func (s UpdateServerEngineAttributesOutput) String() string {
  5326  	return awsutil.Prettify(s)
  5327  }
  5328  
  5329  // GoString returns the string representation.
  5330  //
  5331  // API parameter values that are decorated as "sensitive" in the API will not
  5332  // be included in the string output. The member name will be present, but the
  5333  // value will be replaced with "sensitive".
  5334  func (s UpdateServerEngineAttributesOutput) GoString() string {
  5335  	return s.String()
  5336  }
  5337  
  5338  // SetServer sets the Server field's value.
  5339  func (s *UpdateServerEngineAttributesOutput) SetServer(v *Server) *UpdateServerEngineAttributesOutput {
  5340  	s.Server = v
  5341  	return s
  5342  }
  5343  
  5344  type UpdateServerInput struct {
  5345  	_ struct{} `type:"structure"`
  5346  
  5347  	// Sets the number of automated backups that you want to keep.
  5348  	BackupRetentionCount *int64 `type:"integer"`
  5349  
  5350  	// Setting DisableAutomatedBackup to true disables automated or scheduled backups.
  5351  	// Automated backups are enabled by default.
  5352  	DisableAutomatedBackup *bool `type:"boolean"`
  5353  
  5354  	// DDD:HH:MM (weekly start time) or HH:MM (daily start time).
  5355  	//
  5356  	// Time windows always use coordinated universal time (UTC). Valid strings for
  5357  	// day of week (DDD) are: Mon, Tue, Wed, Thr, Fri, Sat, or Sun.
  5358  	PreferredBackupWindow *string `type:"string"`
  5359  
  5360  	// DDD:HH:MM (weekly start time) or HH:MM (daily start time).
  5361  	//
  5362  	// Time windows always use coordinated universal time (UTC). Valid strings for
  5363  	// day of week (DDD) are: Mon, Tue, Wed, Thr, Fri, Sat, or Sun.
  5364  	PreferredMaintenanceWindow *string `type:"string"`
  5365  
  5366  	// The name of the server to update.
  5367  	//
  5368  	// ServerName is a required field
  5369  	ServerName *string `min:"1" type:"string" required:"true"`
  5370  }
  5371  
  5372  // String returns the string representation.
  5373  //
  5374  // API parameter values that are decorated as "sensitive" in the API will not
  5375  // be included in the string output. The member name will be present, but the
  5376  // value will be replaced with "sensitive".
  5377  func (s UpdateServerInput) String() string {
  5378  	return awsutil.Prettify(s)
  5379  }
  5380  
  5381  // GoString returns the string representation.
  5382  //
  5383  // API parameter values that are decorated as "sensitive" in the API will not
  5384  // be included in the string output. The member name will be present, but the
  5385  // value will be replaced with "sensitive".
  5386  func (s UpdateServerInput) GoString() string {
  5387  	return s.String()
  5388  }
  5389  
  5390  // Validate inspects the fields of the type to determine if they are valid.
  5391  func (s *UpdateServerInput) Validate() error {
  5392  	invalidParams := request.ErrInvalidParams{Context: "UpdateServerInput"}
  5393  	if s.ServerName == nil {
  5394  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
  5395  	}
  5396  	if s.ServerName != nil && len(*s.ServerName) < 1 {
  5397  		invalidParams.Add(request.NewErrParamMinLen("ServerName", 1))
  5398  	}
  5399  
  5400  	if invalidParams.Len() > 0 {
  5401  		return invalidParams
  5402  	}
  5403  	return nil
  5404  }
  5405  
  5406  // SetBackupRetentionCount sets the BackupRetentionCount field's value.
  5407  func (s *UpdateServerInput) SetBackupRetentionCount(v int64) *UpdateServerInput {
  5408  	s.BackupRetentionCount = &v
  5409  	return s
  5410  }
  5411  
  5412  // SetDisableAutomatedBackup sets the DisableAutomatedBackup field's value.
  5413  func (s *UpdateServerInput) SetDisableAutomatedBackup(v bool) *UpdateServerInput {
  5414  	s.DisableAutomatedBackup = &v
  5415  	return s
  5416  }
  5417  
  5418  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  5419  func (s *UpdateServerInput) SetPreferredBackupWindow(v string) *UpdateServerInput {
  5420  	s.PreferredBackupWindow = &v
  5421  	return s
  5422  }
  5423  
  5424  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  5425  func (s *UpdateServerInput) SetPreferredMaintenanceWindow(v string) *UpdateServerInput {
  5426  	s.PreferredMaintenanceWindow = &v
  5427  	return s
  5428  }
  5429  
  5430  // SetServerName sets the ServerName field's value.
  5431  func (s *UpdateServerInput) SetServerName(v string) *UpdateServerInput {
  5432  	s.ServerName = &v
  5433  	return s
  5434  }
  5435  
  5436  type UpdateServerOutput struct {
  5437  	_ struct{} `type:"structure"`
  5438  
  5439  	// Contains the response to a UpdateServer request.
  5440  	Server *Server `type:"structure"`
  5441  }
  5442  
  5443  // String returns the string representation.
  5444  //
  5445  // API parameter values that are decorated as "sensitive" in the API will not
  5446  // be included in the string output. The member name will be present, but the
  5447  // value will be replaced with "sensitive".
  5448  func (s UpdateServerOutput) String() string {
  5449  	return awsutil.Prettify(s)
  5450  }
  5451  
  5452  // GoString returns the string representation.
  5453  //
  5454  // API parameter values that are decorated as "sensitive" in the API will not
  5455  // be included in the string output. The member name will be present, but the
  5456  // value will be replaced with "sensitive".
  5457  func (s UpdateServerOutput) GoString() string {
  5458  	return s.String()
  5459  }
  5460  
  5461  // SetServer sets the Server field's value.
  5462  func (s *UpdateServerOutput) SetServer(v *Server) *UpdateServerOutput {
  5463  	s.Server = v
  5464  	return s
  5465  }
  5466  
  5467  // One or more of the provided request parameters are not valid.
  5468  type ValidationException struct {
  5469  	_            struct{}                  `type:"structure"`
  5470  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5471  
  5472  	// Error or informational message that can contain more detail about a validation
  5473  	// failure.
  5474  	Message_ *string `locationName:"Message" type:"string"`
  5475  }
  5476  
  5477  // String returns the string representation.
  5478  //
  5479  // API parameter values that are decorated as "sensitive" in the API will not
  5480  // be included in the string output. The member name will be present, but the
  5481  // value will be replaced with "sensitive".
  5482  func (s ValidationException) String() string {
  5483  	return awsutil.Prettify(s)
  5484  }
  5485  
  5486  // GoString returns the string representation.
  5487  //
  5488  // API parameter values that are decorated as "sensitive" in the API will not
  5489  // be included in the string output. The member name will be present, but the
  5490  // value will be replaced with "sensitive".
  5491  func (s ValidationException) GoString() string {
  5492  	return s.String()
  5493  }
  5494  
  5495  func newErrorValidationException(v protocol.ResponseMetadata) error {
  5496  	return &ValidationException{
  5497  		RespMetadata: v,
  5498  	}
  5499  }
  5500  
  5501  // Code returns the exception type name.
  5502  func (s *ValidationException) Code() string {
  5503  	return "ValidationException"
  5504  }
  5505  
  5506  // Message returns the exception's message.
  5507  func (s *ValidationException) Message() string {
  5508  	if s.Message_ != nil {
  5509  		return *s.Message_
  5510  	}
  5511  	return ""
  5512  }
  5513  
  5514  // OrigErr always returns nil, satisfies awserr.Error interface.
  5515  func (s *ValidationException) OrigErr() error {
  5516  	return nil
  5517  }
  5518  
  5519  func (s *ValidationException) Error() string {
  5520  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5521  }
  5522  
  5523  // Status code returns the HTTP status code for the request's response error.
  5524  func (s *ValidationException) StatusCode() int {
  5525  	return s.RespMetadata.StatusCode
  5526  }
  5527  
  5528  // RequestID returns the service's response RequestID for request.
  5529  func (s *ValidationException) RequestID() string {
  5530  	return s.RespMetadata.RequestID
  5531  }
  5532  
  5533  const (
  5534  	// BackupStatusInProgress is a BackupStatus enum value
  5535  	BackupStatusInProgress = "IN_PROGRESS"
  5536  
  5537  	// BackupStatusOk is a BackupStatus enum value
  5538  	BackupStatusOk = "OK"
  5539  
  5540  	// BackupStatusFailed is a BackupStatus enum value
  5541  	BackupStatusFailed = "FAILED"
  5542  
  5543  	// BackupStatusDeleting is a BackupStatus enum value
  5544  	BackupStatusDeleting = "DELETING"
  5545  )
  5546  
  5547  // BackupStatus_Values returns all elements of the BackupStatus enum
  5548  func BackupStatus_Values() []string {
  5549  	return []string{
  5550  		BackupStatusInProgress,
  5551  		BackupStatusOk,
  5552  		BackupStatusFailed,
  5553  		BackupStatusDeleting,
  5554  	}
  5555  }
  5556  
  5557  const (
  5558  	// BackupTypeAutomated is a BackupType enum value
  5559  	BackupTypeAutomated = "AUTOMATED"
  5560  
  5561  	// BackupTypeManual is a BackupType enum value
  5562  	BackupTypeManual = "MANUAL"
  5563  )
  5564  
  5565  // BackupType_Values returns all elements of the BackupType enum
  5566  func BackupType_Values() []string {
  5567  	return []string{
  5568  		BackupTypeAutomated,
  5569  		BackupTypeManual,
  5570  	}
  5571  }
  5572  
  5573  const (
  5574  	// MaintenanceStatusSuccess is a MaintenanceStatus enum value
  5575  	MaintenanceStatusSuccess = "SUCCESS"
  5576  
  5577  	// MaintenanceStatusFailed is a MaintenanceStatus enum value
  5578  	MaintenanceStatusFailed = "FAILED"
  5579  )
  5580  
  5581  // MaintenanceStatus_Values returns all elements of the MaintenanceStatus enum
  5582  func MaintenanceStatus_Values() []string {
  5583  	return []string{
  5584  		MaintenanceStatusSuccess,
  5585  		MaintenanceStatusFailed,
  5586  	}
  5587  }
  5588  
  5589  // The status of the association or disassociation request.
  5590  //
  5591  // Possible values:
  5592  //
  5593  //    * SUCCESS: The association or disassociation succeeded.
  5594  //
  5595  //    * FAILED: The association or disassociation failed.
  5596  //
  5597  //    * IN_PROGRESS: The association or disassociation is still in progress.
  5598  const (
  5599  	// NodeAssociationStatusSuccess is a NodeAssociationStatus enum value
  5600  	NodeAssociationStatusSuccess = "SUCCESS"
  5601  
  5602  	// NodeAssociationStatusFailed is a NodeAssociationStatus enum value
  5603  	NodeAssociationStatusFailed = "FAILED"
  5604  
  5605  	// NodeAssociationStatusInProgress is a NodeAssociationStatus enum value
  5606  	NodeAssociationStatusInProgress = "IN_PROGRESS"
  5607  )
  5608  
  5609  // NodeAssociationStatus_Values returns all elements of the NodeAssociationStatus enum
  5610  func NodeAssociationStatus_Values() []string {
  5611  	return []string{
  5612  		NodeAssociationStatusSuccess,
  5613  		NodeAssociationStatusFailed,
  5614  		NodeAssociationStatusInProgress,
  5615  	}
  5616  }
  5617  
  5618  const (
  5619  	// ServerStatusBackingUp is a ServerStatus enum value
  5620  	ServerStatusBackingUp = "BACKING_UP"
  5621  
  5622  	// ServerStatusConnectionLost is a ServerStatus enum value
  5623  	ServerStatusConnectionLost = "CONNECTION_LOST"
  5624  
  5625  	// ServerStatusCreating is a ServerStatus enum value
  5626  	ServerStatusCreating = "CREATING"
  5627  
  5628  	// ServerStatusDeleting is a ServerStatus enum value
  5629  	ServerStatusDeleting = "DELETING"
  5630  
  5631  	// ServerStatusModifying is a ServerStatus enum value
  5632  	ServerStatusModifying = "MODIFYING"
  5633  
  5634  	// ServerStatusFailed is a ServerStatus enum value
  5635  	ServerStatusFailed = "FAILED"
  5636  
  5637  	// ServerStatusHealthy is a ServerStatus enum value
  5638  	ServerStatusHealthy = "HEALTHY"
  5639  
  5640  	// ServerStatusRunning is a ServerStatus enum value
  5641  	ServerStatusRunning = "RUNNING"
  5642  
  5643  	// ServerStatusRestoring is a ServerStatus enum value
  5644  	ServerStatusRestoring = "RESTORING"
  5645  
  5646  	// ServerStatusSetup is a ServerStatus enum value
  5647  	ServerStatusSetup = "SETUP"
  5648  
  5649  	// ServerStatusUnderMaintenance is a ServerStatus enum value
  5650  	ServerStatusUnderMaintenance = "UNDER_MAINTENANCE"
  5651  
  5652  	// ServerStatusUnhealthy is a ServerStatus enum value
  5653  	ServerStatusUnhealthy = "UNHEALTHY"
  5654  
  5655  	// ServerStatusTerminated is a ServerStatus enum value
  5656  	ServerStatusTerminated = "TERMINATED"
  5657  )
  5658  
  5659  // ServerStatus_Values returns all elements of the ServerStatus enum
  5660  func ServerStatus_Values() []string {
  5661  	return []string{
  5662  		ServerStatusBackingUp,
  5663  		ServerStatusConnectionLost,
  5664  		ServerStatusCreating,
  5665  		ServerStatusDeleting,
  5666  		ServerStatusModifying,
  5667  		ServerStatusFailed,
  5668  		ServerStatusHealthy,
  5669  		ServerStatusRunning,
  5670  		ServerStatusRestoring,
  5671  		ServerStatusSetup,
  5672  		ServerStatusUnderMaintenance,
  5673  		ServerStatusUnhealthy,
  5674  		ServerStatusTerminated,
  5675  	}
  5676  }