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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package cloudcontrolapi
     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  )
    14  
    15  const opCancelResourceRequest = "CancelResourceRequest"
    16  
    17  // CancelResourceRequestRequest generates a "aws/request.Request" representing the
    18  // client's request for the CancelResourceRequest operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See CancelResourceRequest for more information on using the CancelResourceRequest
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the CancelResourceRequestRequest method.
    33  //    req, resp := client.CancelResourceRequestRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/CancelResourceRequest
    41  func (c *CloudControlApi) CancelResourceRequestRequest(input *CancelResourceRequestInput) (req *request.Request, output *CancelResourceRequestOutput) {
    42  	op := &request.Operation{
    43  		Name:       opCancelResourceRequest,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &CancelResourceRequestInput{}
    50  	}
    51  
    52  	output = &CancelResourceRequestOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // CancelResourceRequest API operation for AWS Cloud Control API.
    58  //
    59  // Cancels the specified resource operation request. For more information, see
    60  // Canceling resource operation requests (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html#resource-operations-manage-requests-cancel)
    61  // in the Amazon Web Services Cloud Control API User Guide.
    62  //
    63  // Only resource operations requests with a status of PENDING or IN_PROGRESS
    64  // can be cancelled.
    65  //
    66  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    67  // with awserr.Error's Code and Message methods to get detailed information about
    68  // the error.
    69  //
    70  // See the AWS API reference guide for AWS Cloud Control API's
    71  // API operation CancelResourceRequest for usage and error information.
    72  //
    73  // Returned Error Types:
    74  //   * RequestTokenNotFoundException
    75  //   A resource operation with the specified request token cannot be found.
    76  //
    77  //   * ConcurrentModificationException
    78  //   The resource is currently being modified by another operation.
    79  //
    80  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/CancelResourceRequest
    81  func (c *CloudControlApi) CancelResourceRequest(input *CancelResourceRequestInput) (*CancelResourceRequestOutput, error) {
    82  	req, out := c.CancelResourceRequestRequest(input)
    83  	return out, req.Send()
    84  }
    85  
    86  // CancelResourceRequestWithContext is the same as CancelResourceRequest with the addition of
    87  // the ability to pass a context and additional request options.
    88  //
    89  // See CancelResourceRequest for details on how to use this API operation.
    90  //
    91  // The context must be non-nil and will be used for request cancellation. If
    92  // the context is nil a panic will occur. In the future the SDK may create
    93  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    94  // for more information on using Contexts.
    95  func (c *CloudControlApi) CancelResourceRequestWithContext(ctx aws.Context, input *CancelResourceRequestInput, opts ...request.Option) (*CancelResourceRequestOutput, error) {
    96  	req, out := c.CancelResourceRequestRequest(input)
    97  	req.SetContext(ctx)
    98  	req.ApplyOptions(opts...)
    99  	return out, req.Send()
   100  }
   101  
   102  const opCreateResource = "CreateResource"
   103  
   104  // CreateResourceRequest generates a "aws/request.Request" representing the
   105  // client's request for the CreateResource operation. The "output" return
   106  // value will be populated with the request's response once the request completes
   107  // successfully.
   108  //
   109  // Use "Send" method on the returned Request to send the API call to the service.
   110  // the "output" return value is not valid until after Send returns without error.
   111  //
   112  // See CreateResource for more information on using the CreateResource
   113  // API call, and error handling.
   114  //
   115  // This method is useful when you want to inject custom logic or configuration
   116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   117  //
   118  //
   119  //    // Example sending a request using the CreateResourceRequest method.
   120  //    req, resp := client.CreateResourceRequest(params)
   121  //
   122  //    err := req.Send()
   123  //    if err == nil { // resp is now filled
   124  //        fmt.Println(resp)
   125  //    }
   126  //
   127  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/CreateResource
   128  func (c *CloudControlApi) CreateResourceRequest(input *CreateResourceInput) (req *request.Request, output *CreateResourceOutput) {
   129  	op := &request.Operation{
   130  		Name:       opCreateResource,
   131  		HTTPMethod: "POST",
   132  		HTTPPath:   "/",
   133  	}
   134  
   135  	if input == nil {
   136  		input = &CreateResourceInput{}
   137  	}
   138  
   139  	output = &CreateResourceOutput{}
   140  	req = c.newRequest(op, input, output)
   141  	return
   142  }
   143  
   144  // CreateResource API operation for AWS Cloud Control API.
   145  //
   146  // Creates the specified resource. For more information, see Creating a resource
   147  // (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-create.html)
   148  // in the Amazon Web Services Cloud Control API User Guide.
   149  //
   150  // After you have initiated a resource creation request, you can monitor the
   151  // progress of your request by calling GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
   152  // using the RequestToken of the ProgressEvent type returned by CreateResource.
   153  //
   154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   155  // with awserr.Error's Code and Message methods to get detailed information about
   156  // the error.
   157  //
   158  // See the AWS API reference guide for AWS Cloud Control API's
   159  // API operation CreateResource for usage and error information.
   160  //
   161  // Returned Error Types:
   162  //   * ConcurrentOperationException
   163  //   Another resource operation is currently being performed on this resource.
   164  //
   165  //   * ClientTokenConflictException
   166  //   The specified client token has already been used in another resource request.
   167  //
   168  //   It is best practice for client tokens to be unique for each resource operation
   169  //   request. However, client token expire after 36 hours.
   170  //
   171  //   * UnsupportedActionException
   172  //   The specified resource does not support this resource operation.
   173  //
   174  //   * TypeNotFoundException
   175  //   The specified extension does not exist in the CloudFormation registry.
   176  //
   177  //   * AlreadyExistsException
   178  //   The resource with the name requested already exists.
   179  //
   180  //   * GeneralServiceException
   181  //   The resource handler has returned that the downstream service generated an
   182  //   error that does not map to any other handler error code.
   183  //
   184  //   * HandlerInternalFailureException
   185  //   The resource handler has returned that an unexpected error occurred within
   186  //   the resource handler.
   187  //
   188  //   * InvalidCredentialsException
   189  //   The resource handler has returned that the credentials provided by the user
   190  //   are invalid.
   191  //
   192  //   * InvalidRequestException
   193  //   The resource handler has returned that invalid input from the user has generated
   194  //   a generic exception.
   195  //
   196  //   * NetworkFailureException
   197  //   The resource handler has returned that the request could not be completed
   198  //   due to networking issues, such as a failure to receive a response from the
   199  //   server.
   200  //
   201  //   * ResourceNotFoundException
   202  //   A resource with the specified identifier cannot be found.
   203  //
   204  //   * NotStabilizedException
   205  //   The resource handler has returned that the downstream resource failed to
   206  //   complete all of its ready-state checks.
   207  //
   208  //   * NotUpdatableException
   209  //   One or more properties included in this resource operation are defined as
   210  //   create-only, and therefore cannot be updated.
   211  //
   212  //   * ResourceConflictException
   213  //   The resource is temporarily unavailable to be acted upon. For example, if
   214  //   the resource is currently undergoing an operation and cannot be acted upon
   215  //   until that operation is finished.
   216  //
   217  //   * ServiceInternalErrorException
   218  //   The resource handler has returned that the downstream service returned an
   219  //   internal error, typically with a 5XX HTTP status code.
   220  //
   221  //   * ServiceLimitExceededException
   222  //   The resource handler has returned that a non-transient resource limit was
   223  //   reached on the service side.
   224  //
   225  //   * ThrottlingException
   226  //   The request was denied due to request throttling.
   227  //
   228  //   * PrivateTypeException
   229  //   Cloud Control API has not received a valid response from the resource handler,
   230  //   due to a configuration error. This includes issues such as the resource handler
   231  //   returning an invalid response, or timing out.
   232  //
   233  //   * HandlerFailureException
   234  //   The resource handler has failed without a returning a more specific error
   235  //   code. This can include timeouts.
   236  //
   237  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/CreateResource
   238  func (c *CloudControlApi) CreateResource(input *CreateResourceInput) (*CreateResourceOutput, error) {
   239  	req, out := c.CreateResourceRequest(input)
   240  	return out, req.Send()
   241  }
   242  
   243  // CreateResourceWithContext is the same as CreateResource with the addition of
   244  // the ability to pass a context and additional request options.
   245  //
   246  // See CreateResource for details on how to use this API operation.
   247  //
   248  // The context must be non-nil and will be used for request cancellation. If
   249  // the context is nil a panic will occur. In the future the SDK may create
   250  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   251  // for more information on using Contexts.
   252  func (c *CloudControlApi) CreateResourceWithContext(ctx aws.Context, input *CreateResourceInput, opts ...request.Option) (*CreateResourceOutput, error) {
   253  	req, out := c.CreateResourceRequest(input)
   254  	req.SetContext(ctx)
   255  	req.ApplyOptions(opts...)
   256  	return out, req.Send()
   257  }
   258  
   259  const opDeleteResource = "DeleteResource"
   260  
   261  // DeleteResourceRequest generates a "aws/request.Request" representing the
   262  // client's request for the DeleteResource operation. The "output" return
   263  // value will be populated with the request's response once the request completes
   264  // successfully.
   265  //
   266  // Use "Send" method on the returned Request to send the API call to the service.
   267  // the "output" return value is not valid until after Send returns without error.
   268  //
   269  // See DeleteResource for more information on using the DeleteResource
   270  // API call, and error handling.
   271  //
   272  // This method is useful when you want to inject custom logic or configuration
   273  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   274  //
   275  //
   276  //    // Example sending a request using the DeleteResourceRequest method.
   277  //    req, resp := client.DeleteResourceRequest(params)
   278  //
   279  //    err := req.Send()
   280  //    if err == nil { // resp is now filled
   281  //        fmt.Println(resp)
   282  //    }
   283  //
   284  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/DeleteResource
   285  func (c *CloudControlApi) DeleteResourceRequest(input *DeleteResourceInput) (req *request.Request, output *DeleteResourceOutput) {
   286  	op := &request.Operation{
   287  		Name:       opDeleteResource,
   288  		HTTPMethod: "POST",
   289  		HTTPPath:   "/",
   290  	}
   291  
   292  	if input == nil {
   293  		input = &DeleteResourceInput{}
   294  	}
   295  
   296  	output = &DeleteResourceOutput{}
   297  	req = c.newRequest(op, input, output)
   298  	return
   299  }
   300  
   301  // DeleteResource API operation for AWS Cloud Control API.
   302  //
   303  // Deletes the specified resource. For details, see Deleting a resource (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-delete.html)
   304  // in the Amazon Web Services Cloud Control API User Guide.
   305  //
   306  // After you have initiated a resource deletion request, you can monitor the
   307  // progress of your request by calling GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
   308  // using the RequestToken of the ProgressEvent returned by DeleteResource.
   309  //
   310  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   311  // with awserr.Error's Code and Message methods to get detailed information about
   312  // the error.
   313  //
   314  // See the AWS API reference guide for AWS Cloud Control API's
   315  // API operation DeleteResource for usage and error information.
   316  //
   317  // Returned Error Types:
   318  //   * ConcurrentOperationException
   319  //   Another resource operation is currently being performed on this resource.
   320  //
   321  //   * ClientTokenConflictException
   322  //   The specified client token has already been used in another resource request.
   323  //
   324  //   It is best practice for client tokens to be unique for each resource operation
   325  //   request. However, client token expire after 36 hours.
   326  //
   327  //   * UnsupportedActionException
   328  //   The specified resource does not support this resource operation.
   329  //
   330  //   * TypeNotFoundException
   331  //   The specified extension does not exist in the CloudFormation registry.
   332  //
   333  //   * AlreadyExistsException
   334  //   The resource with the name requested already exists.
   335  //
   336  //   * GeneralServiceException
   337  //   The resource handler has returned that the downstream service generated an
   338  //   error that does not map to any other handler error code.
   339  //
   340  //   * HandlerInternalFailureException
   341  //   The resource handler has returned that an unexpected error occurred within
   342  //   the resource handler.
   343  //
   344  //   * InvalidCredentialsException
   345  //   The resource handler has returned that the credentials provided by the user
   346  //   are invalid.
   347  //
   348  //   * InvalidRequestException
   349  //   The resource handler has returned that invalid input from the user has generated
   350  //   a generic exception.
   351  //
   352  //   * NetworkFailureException
   353  //   The resource handler has returned that the request could not be completed
   354  //   due to networking issues, such as a failure to receive a response from the
   355  //   server.
   356  //
   357  //   * ResourceNotFoundException
   358  //   A resource with the specified identifier cannot be found.
   359  //
   360  //   * NotStabilizedException
   361  //   The resource handler has returned that the downstream resource failed to
   362  //   complete all of its ready-state checks.
   363  //
   364  //   * NotUpdatableException
   365  //   One or more properties included in this resource operation are defined as
   366  //   create-only, and therefore cannot be updated.
   367  //
   368  //   * ResourceConflictException
   369  //   The resource is temporarily unavailable to be acted upon. For example, if
   370  //   the resource is currently undergoing an operation and cannot be acted upon
   371  //   until that operation is finished.
   372  //
   373  //   * ServiceInternalErrorException
   374  //   The resource handler has returned that the downstream service returned an
   375  //   internal error, typically with a 5XX HTTP status code.
   376  //
   377  //   * ServiceLimitExceededException
   378  //   The resource handler has returned that a non-transient resource limit was
   379  //   reached on the service side.
   380  //
   381  //   * ThrottlingException
   382  //   The request was denied due to request throttling.
   383  //
   384  //   * PrivateTypeException
   385  //   Cloud Control API has not received a valid response from the resource handler,
   386  //   due to a configuration error. This includes issues such as the resource handler
   387  //   returning an invalid response, or timing out.
   388  //
   389  //   * HandlerFailureException
   390  //   The resource handler has failed without a returning a more specific error
   391  //   code. This can include timeouts.
   392  //
   393  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/DeleteResource
   394  func (c *CloudControlApi) DeleteResource(input *DeleteResourceInput) (*DeleteResourceOutput, error) {
   395  	req, out := c.DeleteResourceRequest(input)
   396  	return out, req.Send()
   397  }
   398  
   399  // DeleteResourceWithContext is the same as DeleteResource with the addition of
   400  // the ability to pass a context and additional request options.
   401  //
   402  // See DeleteResource for details on how to use this API operation.
   403  //
   404  // The context must be non-nil and will be used for request cancellation. If
   405  // the context is nil a panic will occur. In the future the SDK may create
   406  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   407  // for more information on using Contexts.
   408  func (c *CloudControlApi) DeleteResourceWithContext(ctx aws.Context, input *DeleteResourceInput, opts ...request.Option) (*DeleteResourceOutput, error) {
   409  	req, out := c.DeleteResourceRequest(input)
   410  	req.SetContext(ctx)
   411  	req.ApplyOptions(opts...)
   412  	return out, req.Send()
   413  }
   414  
   415  const opGetResource = "GetResource"
   416  
   417  // GetResourceRequest generates a "aws/request.Request" representing the
   418  // client's request for the GetResource operation. The "output" return
   419  // value will be populated with the request's response once the request completes
   420  // successfully.
   421  //
   422  // Use "Send" method on the returned Request to send the API call to the service.
   423  // the "output" return value is not valid until after Send returns without error.
   424  //
   425  // See GetResource for more information on using the GetResource
   426  // API call, and error handling.
   427  //
   428  // This method is useful when you want to inject custom logic or configuration
   429  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   430  //
   431  //
   432  //    // Example sending a request using the GetResourceRequest method.
   433  //    req, resp := client.GetResourceRequest(params)
   434  //
   435  //    err := req.Send()
   436  //    if err == nil { // resp is now filled
   437  //        fmt.Println(resp)
   438  //    }
   439  //
   440  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/GetResource
   441  func (c *CloudControlApi) GetResourceRequest(input *GetResourceInput) (req *request.Request, output *GetResourceOutput) {
   442  	op := &request.Operation{
   443  		Name:       opGetResource,
   444  		HTTPMethod: "POST",
   445  		HTTPPath:   "/",
   446  	}
   447  
   448  	if input == nil {
   449  		input = &GetResourceInput{}
   450  	}
   451  
   452  	output = &GetResourceOutput{}
   453  	req = c.newRequest(op, input, output)
   454  	return
   455  }
   456  
   457  // GetResource API operation for AWS Cloud Control API.
   458  //
   459  // Returns information about the current state of the specified resource. For
   460  // details, see Reading a resource's current state (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-read.html).
   461  //
   462  // You can use this action to return information about an existing resource
   463  // in your account and Amazon Web Services Region, whether or not those resources
   464  // were provisioned using Cloud Control API.
   465  //
   466  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   467  // with awserr.Error's Code and Message methods to get detailed information about
   468  // the error.
   469  //
   470  // See the AWS API reference guide for AWS Cloud Control API's
   471  // API operation GetResource for usage and error information.
   472  //
   473  // Returned Error Types:
   474  //   * UnsupportedActionException
   475  //   The specified resource does not support this resource operation.
   476  //
   477  //   * TypeNotFoundException
   478  //   The specified extension does not exist in the CloudFormation registry.
   479  //
   480  //   * AlreadyExistsException
   481  //   The resource with the name requested already exists.
   482  //
   483  //   * GeneralServiceException
   484  //   The resource handler has returned that the downstream service generated an
   485  //   error that does not map to any other handler error code.
   486  //
   487  //   * HandlerInternalFailureException
   488  //   The resource handler has returned that an unexpected error occurred within
   489  //   the resource handler.
   490  //
   491  //   * InvalidCredentialsException
   492  //   The resource handler has returned that the credentials provided by the user
   493  //   are invalid.
   494  //
   495  //   * InvalidRequestException
   496  //   The resource handler has returned that invalid input from the user has generated
   497  //   a generic exception.
   498  //
   499  //   * NetworkFailureException
   500  //   The resource handler has returned that the request could not be completed
   501  //   due to networking issues, such as a failure to receive a response from the
   502  //   server.
   503  //
   504  //   * ResourceNotFoundException
   505  //   A resource with the specified identifier cannot be found.
   506  //
   507  //   * NotStabilizedException
   508  //   The resource handler has returned that the downstream resource failed to
   509  //   complete all of its ready-state checks.
   510  //
   511  //   * NotUpdatableException
   512  //   One or more properties included in this resource operation are defined as
   513  //   create-only, and therefore cannot be updated.
   514  //
   515  //   * ResourceConflictException
   516  //   The resource is temporarily unavailable to be acted upon. For example, if
   517  //   the resource is currently undergoing an operation and cannot be acted upon
   518  //   until that operation is finished.
   519  //
   520  //   * ServiceInternalErrorException
   521  //   The resource handler has returned that the downstream service returned an
   522  //   internal error, typically with a 5XX HTTP status code.
   523  //
   524  //   * ServiceLimitExceededException
   525  //   The resource handler has returned that a non-transient resource limit was
   526  //   reached on the service side.
   527  //
   528  //   * ThrottlingException
   529  //   The request was denied due to request throttling.
   530  //
   531  //   * PrivateTypeException
   532  //   Cloud Control API has not received a valid response from the resource handler,
   533  //   due to a configuration error. This includes issues such as the resource handler
   534  //   returning an invalid response, or timing out.
   535  //
   536  //   * HandlerFailureException
   537  //   The resource handler has failed without a returning a more specific error
   538  //   code. This can include timeouts.
   539  //
   540  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/GetResource
   541  func (c *CloudControlApi) GetResource(input *GetResourceInput) (*GetResourceOutput, error) {
   542  	req, out := c.GetResourceRequest(input)
   543  	return out, req.Send()
   544  }
   545  
   546  // GetResourceWithContext is the same as GetResource with the addition of
   547  // the ability to pass a context and additional request options.
   548  //
   549  // See GetResource for details on how to use this API operation.
   550  //
   551  // The context must be non-nil and will be used for request cancellation. If
   552  // the context is nil a panic will occur. In the future the SDK may create
   553  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   554  // for more information on using Contexts.
   555  func (c *CloudControlApi) GetResourceWithContext(ctx aws.Context, input *GetResourceInput, opts ...request.Option) (*GetResourceOutput, error) {
   556  	req, out := c.GetResourceRequest(input)
   557  	req.SetContext(ctx)
   558  	req.ApplyOptions(opts...)
   559  	return out, req.Send()
   560  }
   561  
   562  const opGetResourceRequestStatus = "GetResourceRequestStatus"
   563  
   564  // GetResourceRequestStatusRequest generates a "aws/request.Request" representing the
   565  // client's request for the GetResourceRequestStatus operation. The "output" return
   566  // value will be populated with the request's response once the request completes
   567  // successfully.
   568  //
   569  // Use "Send" method on the returned Request to send the API call to the service.
   570  // the "output" return value is not valid until after Send returns without error.
   571  //
   572  // See GetResourceRequestStatus for more information on using the GetResourceRequestStatus
   573  // API call, and error handling.
   574  //
   575  // This method is useful when you want to inject custom logic or configuration
   576  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   577  //
   578  //
   579  //    // Example sending a request using the GetResourceRequestStatusRequest method.
   580  //    req, resp := client.GetResourceRequestStatusRequest(params)
   581  //
   582  //    err := req.Send()
   583  //    if err == nil { // resp is now filled
   584  //        fmt.Println(resp)
   585  //    }
   586  //
   587  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/GetResourceRequestStatus
   588  func (c *CloudControlApi) GetResourceRequestStatusRequest(input *GetResourceRequestStatusInput) (req *request.Request, output *GetResourceRequestStatusOutput) {
   589  	op := &request.Operation{
   590  		Name:       opGetResourceRequestStatus,
   591  		HTTPMethod: "POST",
   592  		HTTPPath:   "/",
   593  	}
   594  
   595  	if input == nil {
   596  		input = &GetResourceRequestStatusInput{}
   597  	}
   598  
   599  	output = &GetResourceRequestStatusOutput{}
   600  	req = c.newRequest(op, input, output)
   601  	return
   602  }
   603  
   604  // GetResourceRequestStatus API operation for AWS Cloud Control API.
   605  //
   606  // Returns the current status of a resource operation request. For more information,
   607  // see Tracking the progress of resource operation requests (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html#resource-operations-manage-requests-track)
   608  // in the Amazon Web Services Cloud Control API User Guide.
   609  //
   610  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   611  // with awserr.Error's Code and Message methods to get detailed information about
   612  // the error.
   613  //
   614  // See the AWS API reference guide for AWS Cloud Control API's
   615  // API operation GetResourceRequestStatus for usage and error information.
   616  //
   617  // Returned Error Types:
   618  //   * RequestTokenNotFoundException
   619  //   A resource operation with the specified request token cannot be found.
   620  //
   621  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/GetResourceRequestStatus
   622  func (c *CloudControlApi) GetResourceRequestStatus(input *GetResourceRequestStatusInput) (*GetResourceRequestStatusOutput, error) {
   623  	req, out := c.GetResourceRequestStatusRequest(input)
   624  	return out, req.Send()
   625  }
   626  
   627  // GetResourceRequestStatusWithContext is the same as GetResourceRequestStatus with the addition of
   628  // the ability to pass a context and additional request options.
   629  //
   630  // See GetResourceRequestStatus for details on how to use this API operation.
   631  //
   632  // The context must be non-nil and will be used for request cancellation. If
   633  // the context is nil a panic will occur. In the future the SDK may create
   634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   635  // for more information on using Contexts.
   636  func (c *CloudControlApi) GetResourceRequestStatusWithContext(ctx aws.Context, input *GetResourceRequestStatusInput, opts ...request.Option) (*GetResourceRequestStatusOutput, error) {
   637  	req, out := c.GetResourceRequestStatusRequest(input)
   638  	req.SetContext(ctx)
   639  	req.ApplyOptions(opts...)
   640  	return out, req.Send()
   641  }
   642  
   643  const opListResourceRequests = "ListResourceRequests"
   644  
   645  // ListResourceRequestsRequest generates a "aws/request.Request" representing the
   646  // client's request for the ListResourceRequests operation. The "output" return
   647  // value will be populated with the request's response once the request completes
   648  // successfully.
   649  //
   650  // Use "Send" method on the returned Request to send the API call to the service.
   651  // the "output" return value is not valid until after Send returns without error.
   652  //
   653  // See ListResourceRequests for more information on using the ListResourceRequests
   654  // API call, and error handling.
   655  //
   656  // This method is useful when you want to inject custom logic or configuration
   657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   658  //
   659  //
   660  //    // Example sending a request using the ListResourceRequestsRequest method.
   661  //    req, resp := client.ListResourceRequestsRequest(params)
   662  //
   663  //    err := req.Send()
   664  //    if err == nil { // resp is now filled
   665  //        fmt.Println(resp)
   666  //    }
   667  //
   668  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/ListResourceRequests
   669  func (c *CloudControlApi) ListResourceRequestsRequest(input *ListResourceRequestsInput) (req *request.Request, output *ListResourceRequestsOutput) {
   670  	op := &request.Operation{
   671  		Name:       opListResourceRequests,
   672  		HTTPMethod: "POST",
   673  		HTTPPath:   "/",
   674  		Paginator: &request.Paginator{
   675  			InputTokens:     []string{"NextToken"},
   676  			OutputTokens:    []string{"NextToken"},
   677  			LimitToken:      "MaxResults",
   678  			TruncationToken: "",
   679  		},
   680  	}
   681  
   682  	if input == nil {
   683  		input = &ListResourceRequestsInput{}
   684  	}
   685  
   686  	output = &ListResourceRequestsOutput{}
   687  	req = c.newRequest(op, input, output)
   688  	return
   689  }
   690  
   691  // ListResourceRequests API operation for AWS Cloud Control API.
   692  //
   693  // Returns existing resource operation requests. This includes requests of all
   694  // status types. For more information, see Listing active resource operation
   695  // requests (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html#resource-operations-manage-requests-list)
   696  // in the Amazon Web Services Cloud Control API User Guide.
   697  //
   698  // Resource operation requests expire after seven days.
   699  //
   700  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   701  // with awserr.Error's Code and Message methods to get detailed information about
   702  // the error.
   703  //
   704  // See the AWS API reference guide for AWS Cloud Control API's
   705  // API operation ListResourceRequests for usage and error information.
   706  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/ListResourceRequests
   707  func (c *CloudControlApi) ListResourceRequests(input *ListResourceRequestsInput) (*ListResourceRequestsOutput, error) {
   708  	req, out := c.ListResourceRequestsRequest(input)
   709  	return out, req.Send()
   710  }
   711  
   712  // ListResourceRequestsWithContext is the same as ListResourceRequests with the addition of
   713  // the ability to pass a context and additional request options.
   714  //
   715  // See ListResourceRequests for details on how to use this API operation.
   716  //
   717  // The context must be non-nil and will be used for request cancellation. If
   718  // the context is nil a panic will occur. In the future the SDK may create
   719  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   720  // for more information on using Contexts.
   721  func (c *CloudControlApi) ListResourceRequestsWithContext(ctx aws.Context, input *ListResourceRequestsInput, opts ...request.Option) (*ListResourceRequestsOutput, error) {
   722  	req, out := c.ListResourceRequestsRequest(input)
   723  	req.SetContext(ctx)
   724  	req.ApplyOptions(opts...)
   725  	return out, req.Send()
   726  }
   727  
   728  // ListResourceRequestsPages iterates over the pages of a ListResourceRequests operation,
   729  // calling the "fn" function with the response data for each page. To stop
   730  // iterating, return false from the fn function.
   731  //
   732  // See ListResourceRequests method for more information on how to use this operation.
   733  //
   734  // Note: This operation can generate multiple requests to a service.
   735  //
   736  //    // Example iterating over at most 3 pages of a ListResourceRequests operation.
   737  //    pageNum := 0
   738  //    err := client.ListResourceRequestsPages(params,
   739  //        func(page *cloudcontrolapi.ListResourceRequestsOutput, lastPage bool) bool {
   740  //            pageNum++
   741  //            fmt.Println(page)
   742  //            return pageNum <= 3
   743  //        })
   744  //
   745  func (c *CloudControlApi) ListResourceRequestsPages(input *ListResourceRequestsInput, fn func(*ListResourceRequestsOutput, bool) bool) error {
   746  	return c.ListResourceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
   747  }
   748  
   749  // ListResourceRequestsPagesWithContext same as ListResourceRequestsPages except
   750  // it takes a Context and allows setting request options on the pages.
   751  //
   752  // The context must be non-nil and will be used for request cancellation. If
   753  // the context is nil a panic will occur. In the future the SDK may create
   754  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   755  // for more information on using Contexts.
   756  func (c *CloudControlApi) ListResourceRequestsPagesWithContext(ctx aws.Context, input *ListResourceRequestsInput, fn func(*ListResourceRequestsOutput, bool) bool, opts ...request.Option) error {
   757  	p := request.Pagination{
   758  		NewRequest: func() (*request.Request, error) {
   759  			var inCpy *ListResourceRequestsInput
   760  			if input != nil {
   761  				tmp := *input
   762  				inCpy = &tmp
   763  			}
   764  			req, _ := c.ListResourceRequestsRequest(inCpy)
   765  			req.SetContext(ctx)
   766  			req.ApplyOptions(opts...)
   767  			return req, nil
   768  		},
   769  	}
   770  
   771  	for p.Next() {
   772  		if !fn(p.Page().(*ListResourceRequestsOutput), !p.HasNextPage()) {
   773  			break
   774  		}
   775  	}
   776  
   777  	return p.Err()
   778  }
   779  
   780  const opListResources = "ListResources"
   781  
   782  // ListResourcesRequest generates a "aws/request.Request" representing the
   783  // client's request for the ListResources operation. The "output" return
   784  // value will be populated with the request's response once the request completes
   785  // successfully.
   786  //
   787  // Use "Send" method on the returned Request to send the API call to the service.
   788  // the "output" return value is not valid until after Send returns without error.
   789  //
   790  // See ListResources for more information on using the ListResources
   791  // API call, and error handling.
   792  //
   793  // This method is useful when you want to inject custom logic or configuration
   794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   795  //
   796  //
   797  //    // Example sending a request using the ListResourcesRequest method.
   798  //    req, resp := client.ListResourcesRequest(params)
   799  //
   800  //    err := req.Send()
   801  //    if err == nil { // resp is now filled
   802  //        fmt.Println(resp)
   803  //    }
   804  //
   805  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/ListResources
   806  func (c *CloudControlApi) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) {
   807  	op := &request.Operation{
   808  		Name:       opListResources,
   809  		HTTPMethod: "POST",
   810  		HTTPPath:   "/",
   811  		Paginator: &request.Paginator{
   812  			InputTokens:     []string{"NextToken"},
   813  			OutputTokens:    []string{"NextToken"},
   814  			LimitToken:      "MaxResults",
   815  			TruncationToken: "",
   816  		},
   817  	}
   818  
   819  	if input == nil {
   820  		input = &ListResourcesInput{}
   821  	}
   822  
   823  	output = &ListResourcesOutput{}
   824  	req = c.newRequest(op, input, output)
   825  	return
   826  }
   827  
   828  // ListResources API operation for AWS Cloud Control API.
   829  //
   830  // Returns information about the specified resources. For more information,
   831  // see Discovering resources (cloudcontrolapi/latest/userguide/resource-operations-list.html)
   832  // in the Amazon Web Services Cloud Control API User Guide.
   833  //
   834  // You can use this action to return information about existing resources in
   835  // your account and Amazon Web Services Region, whether or not those resources
   836  // were provisioned using Cloud Control API.
   837  //
   838  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   839  // with awserr.Error's Code and Message methods to get detailed information about
   840  // the error.
   841  //
   842  // See the AWS API reference guide for AWS Cloud Control API's
   843  // API operation ListResources for usage and error information.
   844  //
   845  // Returned Error Types:
   846  //   * UnsupportedActionException
   847  //   The specified resource does not support this resource operation.
   848  //
   849  //   * TypeNotFoundException
   850  //   The specified extension does not exist in the CloudFormation registry.
   851  //
   852  //   * AlreadyExistsException
   853  //   The resource with the name requested already exists.
   854  //
   855  //   * GeneralServiceException
   856  //   The resource handler has returned that the downstream service generated an
   857  //   error that does not map to any other handler error code.
   858  //
   859  //   * HandlerInternalFailureException
   860  //   The resource handler has returned that an unexpected error occurred within
   861  //   the resource handler.
   862  //
   863  //   * InvalidCredentialsException
   864  //   The resource handler has returned that the credentials provided by the user
   865  //   are invalid.
   866  //
   867  //   * InvalidRequestException
   868  //   The resource handler has returned that invalid input from the user has generated
   869  //   a generic exception.
   870  //
   871  //   * NetworkFailureException
   872  //   The resource handler has returned that the request could not be completed
   873  //   due to networking issues, such as a failure to receive a response from the
   874  //   server.
   875  //
   876  //   * ResourceNotFoundException
   877  //   A resource with the specified identifier cannot be found.
   878  //
   879  //   * NotStabilizedException
   880  //   The resource handler has returned that the downstream resource failed to
   881  //   complete all of its ready-state checks.
   882  //
   883  //   * NotUpdatableException
   884  //   One or more properties included in this resource operation are defined as
   885  //   create-only, and therefore cannot be updated.
   886  //
   887  //   * ResourceConflictException
   888  //   The resource is temporarily unavailable to be acted upon. For example, if
   889  //   the resource is currently undergoing an operation and cannot be acted upon
   890  //   until that operation is finished.
   891  //
   892  //   * ServiceInternalErrorException
   893  //   The resource handler has returned that the downstream service returned an
   894  //   internal error, typically with a 5XX HTTP status code.
   895  //
   896  //   * ServiceLimitExceededException
   897  //   The resource handler has returned that a non-transient resource limit was
   898  //   reached on the service side.
   899  //
   900  //   * ThrottlingException
   901  //   The request was denied due to request throttling.
   902  //
   903  //   * PrivateTypeException
   904  //   Cloud Control API has not received a valid response from the resource handler,
   905  //   due to a configuration error. This includes issues such as the resource handler
   906  //   returning an invalid response, or timing out.
   907  //
   908  //   * HandlerFailureException
   909  //   The resource handler has failed without a returning a more specific error
   910  //   code. This can include timeouts.
   911  //
   912  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/ListResources
   913  func (c *CloudControlApi) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) {
   914  	req, out := c.ListResourcesRequest(input)
   915  	return out, req.Send()
   916  }
   917  
   918  // ListResourcesWithContext is the same as ListResources with the addition of
   919  // the ability to pass a context and additional request options.
   920  //
   921  // See ListResources for details on how to use this API operation.
   922  //
   923  // The context must be non-nil and will be used for request cancellation. If
   924  // the context is nil a panic will occur. In the future the SDK may create
   925  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   926  // for more information on using Contexts.
   927  func (c *CloudControlApi) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) {
   928  	req, out := c.ListResourcesRequest(input)
   929  	req.SetContext(ctx)
   930  	req.ApplyOptions(opts...)
   931  	return out, req.Send()
   932  }
   933  
   934  // ListResourcesPages iterates over the pages of a ListResources operation,
   935  // calling the "fn" function with the response data for each page. To stop
   936  // iterating, return false from the fn function.
   937  //
   938  // See ListResources method for more information on how to use this operation.
   939  //
   940  // Note: This operation can generate multiple requests to a service.
   941  //
   942  //    // Example iterating over at most 3 pages of a ListResources operation.
   943  //    pageNum := 0
   944  //    err := client.ListResourcesPages(params,
   945  //        func(page *cloudcontrolapi.ListResourcesOutput, lastPage bool) bool {
   946  //            pageNum++
   947  //            fmt.Println(page)
   948  //            return pageNum <= 3
   949  //        })
   950  //
   951  func (c *CloudControlApi) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error {
   952  	return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
   953  }
   954  
   955  // ListResourcesPagesWithContext same as ListResourcesPages except
   956  // it takes a Context and allows setting request options on the pages.
   957  //
   958  // The context must be non-nil and will be used for request cancellation. If
   959  // the context is nil a panic will occur. In the future the SDK may create
   960  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   961  // for more information on using Contexts.
   962  func (c *CloudControlApi) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error {
   963  	p := request.Pagination{
   964  		NewRequest: func() (*request.Request, error) {
   965  			var inCpy *ListResourcesInput
   966  			if input != nil {
   967  				tmp := *input
   968  				inCpy = &tmp
   969  			}
   970  			req, _ := c.ListResourcesRequest(inCpy)
   971  			req.SetContext(ctx)
   972  			req.ApplyOptions(opts...)
   973  			return req, nil
   974  		},
   975  	}
   976  
   977  	for p.Next() {
   978  		if !fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) {
   979  			break
   980  		}
   981  	}
   982  
   983  	return p.Err()
   984  }
   985  
   986  const opUpdateResource = "UpdateResource"
   987  
   988  // UpdateResourceRequest generates a "aws/request.Request" representing the
   989  // client's request for the UpdateResource operation. The "output" return
   990  // value will be populated with the request's response once the request completes
   991  // successfully.
   992  //
   993  // Use "Send" method on the returned Request to send the API call to the service.
   994  // the "output" return value is not valid until after Send returns without error.
   995  //
   996  // See UpdateResource for more information on using the UpdateResource
   997  // API call, and error handling.
   998  //
   999  // This method is useful when you want to inject custom logic or configuration
  1000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1001  //
  1002  //
  1003  //    // Example sending a request using the UpdateResourceRequest method.
  1004  //    req, resp := client.UpdateResourceRequest(params)
  1005  //
  1006  //    err := req.Send()
  1007  //    if err == nil { // resp is now filled
  1008  //        fmt.Println(resp)
  1009  //    }
  1010  //
  1011  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/UpdateResource
  1012  func (c *CloudControlApi) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *UpdateResourceOutput) {
  1013  	op := &request.Operation{
  1014  		Name:       opUpdateResource,
  1015  		HTTPMethod: "POST",
  1016  		HTTPPath:   "/",
  1017  	}
  1018  
  1019  	if input == nil {
  1020  		input = &UpdateResourceInput{}
  1021  	}
  1022  
  1023  	output = &UpdateResourceOutput{}
  1024  	req = c.newRequest(op, input, output)
  1025  	return
  1026  }
  1027  
  1028  // UpdateResource API operation for AWS Cloud Control API.
  1029  //
  1030  // Updates the specified property values in the resource.
  1031  //
  1032  // You specify your resource property updates as a list of patch operations
  1033  // contained in a JSON patch document that adheres to the RFC 6902 - JavaScript
  1034  // Object Notation (JSON) Patch (https://datatracker.ietf.org/doc/html/rfc6902)
  1035  // standard.
  1036  //
  1037  // For details on how Cloud Control API performs resource update operations,
  1038  // see Updating a resource (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-update.html)
  1039  // in the Amazon Web Services Cloud Control API User Guide.
  1040  //
  1041  // After you have initiated a resource update request, you can monitor the progress
  1042  // of your request by calling GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
  1043  // using the RequestToken of the ProgressEvent returned by UpdateResource.
  1044  //
  1045  // For more information about the properties of a specific resource, refer to
  1046  // the related topic for the resource in the Resource and property types reference
  1047  // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  1048  // in the Amazon Web Services CloudFormation Users Guide.
  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 Cloud Control API's
  1055  // API operation UpdateResource for usage and error information.
  1056  //
  1057  // Returned Error Types:
  1058  //   * ConcurrentOperationException
  1059  //   Another resource operation is currently being performed on this resource.
  1060  //
  1061  //   * ClientTokenConflictException
  1062  //   The specified client token has already been used in another resource request.
  1063  //
  1064  //   It is best practice for client tokens to be unique for each resource operation
  1065  //   request. However, client token expire after 36 hours.
  1066  //
  1067  //   * UnsupportedActionException
  1068  //   The specified resource does not support this resource operation.
  1069  //
  1070  //   * TypeNotFoundException
  1071  //   The specified extension does not exist in the CloudFormation registry.
  1072  //
  1073  //   * AlreadyExistsException
  1074  //   The resource with the name requested already exists.
  1075  //
  1076  //   * GeneralServiceException
  1077  //   The resource handler has returned that the downstream service generated an
  1078  //   error that does not map to any other handler error code.
  1079  //
  1080  //   * HandlerInternalFailureException
  1081  //   The resource handler has returned that an unexpected error occurred within
  1082  //   the resource handler.
  1083  //
  1084  //   * InvalidCredentialsException
  1085  //   The resource handler has returned that the credentials provided by the user
  1086  //   are invalid.
  1087  //
  1088  //   * InvalidRequestException
  1089  //   The resource handler has returned that invalid input from the user has generated
  1090  //   a generic exception.
  1091  //
  1092  //   * NetworkFailureException
  1093  //   The resource handler has returned that the request could not be completed
  1094  //   due to networking issues, such as a failure to receive a response from the
  1095  //   server.
  1096  //
  1097  //   * ResourceNotFoundException
  1098  //   A resource with the specified identifier cannot be found.
  1099  //
  1100  //   * NotStabilizedException
  1101  //   The resource handler has returned that the downstream resource failed to
  1102  //   complete all of its ready-state checks.
  1103  //
  1104  //   * NotUpdatableException
  1105  //   One or more properties included in this resource operation are defined as
  1106  //   create-only, and therefore cannot be updated.
  1107  //
  1108  //   * ResourceConflictException
  1109  //   The resource is temporarily unavailable to be acted upon. For example, if
  1110  //   the resource is currently undergoing an operation and cannot be acted upon
  1111  //   until that operation is finished.
  1112  //
  1113  //   * ServiceInternalErrorException
  1114  //   The resource handler has returned that the downstream service returned an
  1115  //   internal error, typically with a 5XX HTTP status code.
  1116  //
  1117  //   * ServiceLimitExceededException
  1118  //   The resource handler has returned that a non-transient resource limit was
  1119  //   reached on the service side.
  1120  //
  1121  //   * ThrottlingException
  1122  //   The request was denied due to request throttling.
  1123  //
  1124  //   * PrivateTypeException
  1125  //   Cloud Control API has not received a valid response from the resource handler,
  1126  //   due to a configuration error. This includes issues such as the resource handler
  1127  //   returning an invalid response, or timing out.
  1128  //
  1129  //   * HandlerFailureException
  1130  //   The resource handler has failed without a returning a more specific error
  1131  //   code. This can include timeouts.
  1132  //
  1133  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/UpdateResource
  1134  func (c *CloudControlApi) UpdateResource(input *UpdateResourceInput) (*UpdateResourceOutput, error) {
  1135  	req, out := c.UpdateResourceRequest(input)
  1136  	return out, req.Send()
  1137  }
  1138  
  1139  // UpdateResourceWithContext is the same as UpdateResource with the addition of
  1140  // the ability to pass a context and additional request options.
  1141  //
  1142  // See UpdateResource for details on how to use this API operation.
  1143  //
  1144  // The context must be non-nil and will be used for request cancellation. If
  1145  // the context is nil a panic will occur. In the future the SDK may create
  1146  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1147  // for more information on using Contexts.
  1148  func (c *CloudControlApi) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*UpdateResourceOutput, error) {
  1149  	req, out := c.UpdateResourceRequest(input)
  1150  	req.SetContext(ctx)
  1151  	req.ApplyOptions(opts...)
  1152  	return out, req.Send()
  1153  }
  1154  
  1155  // The resource with the name requested already exists.
  1156  type AlreadyExistsException struct {
  1157  	_            struct{}                  `type:"structure"`
  1158  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1159  
  1160  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  1161  }
  1162  
  1163  // String returns the string representation.
  1164  //
  1165  // API parameter values that are decorated as "sensitive" in the API will not
  1166  // be included in the string output. The member name will be present, but the
  1167  // value will be replaced with "sensitive".
  1168  func (s AlreadyExistsException) String() string {
  1169  	return awsutil.Prettify(s)
  1170  }
  1171  
  1172  // GoString returns the string representation.
  1173  //
  1174  // API parameter values that are decorated as "sensitive" in the API will not
  1175  // be included in the string output. The member name will be present, but the
  1176  // value will be replaced with "sensitive".
  1177  func (s AlreadyExistsException) GoString() string {
  1178  	return s.String()
  1179  }
  1180  
  1181  func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error {
  1182  	return &AlreadyExistsException{
  1183  		RespMetadata: v,
  1184  	}
  1185  }
  1186  
  1187  // Code returns the exception type name.
  1188  func (s *AlreadyExistsException) Code() string {
  1189  	return "AlreadyExistsException"
  1190  }
  1191  
  1192  // Message returns the exception's message.
  1193  func (s *AlreadyExistsException) Message() string {
  1194  	if s.Message_ != nil {
  1195  		return *s.Message_
  1196  	}
  1197  	return ""
  1198  }
  1199  
  1200  // OrigErr always returns nil, satisfies awserr.Error interface.
  1201  func (s *AlreadyExistsException) OrigErr() error {
  1202  	return nil
  1203  }
  1204  
  1205  func (s *AlreadyExistsException) Error() string {
  1206  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1207  }
  1208  
  1209  // Status code returns the HTTP status code for the request's response error.
  1210  func (s *AlreadyExistsException) StatusCode() int {
  1211  	return s.RespMetadata.StatusCode
  1212  }
  1213  
  1214  // RequestID returns the service's response RequestID for request.
  1215  func (s *AlreadyExistsException) RequestID() string {
  1216  	return s.RespMetadata.RequestID
  1217  }
  1218  
  1219  type CancelResourceRequestInput struct {
  1220  	_ struct{} `type:"structure"`
  1221  
  1222  	// The RequestToken of the ProgressEvent object returned by the resource operation
  1223  	// request.
  1224  	//
  1225  	// RequestToken is a required field
  1226  	RequestToken *string `min:"1" type:"string" required:"true"`
  1227  }
  1228  
  1229  // String returns the string representation.
  1230  //
  1231  // API parameter values that are decorated as "sensitive" in the API will not
  1232  // be included in the string output. The member name will be present, but the
  1233  // value will be replaced with "sensitive".
  1234  func (s CancelResourceRequestInput) String() string {
  1235  	return awsutil.Prettify(s)
  1236  }
  1237  
  1238  // GoString returns the string representation.
  1239  //
  1240  // API parameter values that are decorated as "sensitive" in the API will not
  1241  // be included in the string output. The member name will be present, but the
  1242  // value will be replaced with "sensitive".
  1243  func (s CancelResourceRequestInput) GoString() string {
  1244  	return s.String()
  1245  }
  1246  
  1247  // Validate inspects the fields of the type to determine if they are valid.
  1248  func (s *CancelResourceRequestInput) Validate() error {
  1249  	invalidParams := request.ErrInvalidParams{Context: "CancelResourceRequestInput"}
  1250  	if s.RequestToken == nil {
  1251  		invalidParams.Add(request.NewErrParamRequired("RequestToken"))
  1252  	}
  1253  	if s.RequestToken != nil && len(*s.RequestToken) < 1 {
  1254  		invalidParams.Add(request.NewErrParamMinLen("RequestToken", 1))
  1255  	}
  1256  
  1257  	if invalidParams.Len() > 0 {
  1258  		return invalidParams
  1259  	}
  1260  	return nil
  1261  }
  1262  
  1263  // SetRequestToken sets the RequestToken field's value.
  1264  func (s *CancelResourceRequestInput) SetRequestToken(v string) *CancelResourceRequestInput {
  1265  	s.RequestToken = &v
  1266  	return s
  1267  }
  1268  
  1269  type CancelResourceRequestOutput struct {
  1270  	_ struct{} `type:"structure"`
  1271  
  1272  	// Represents the current status of a resource operation request. For more information,
  1273  	// see Managing resource operation requests (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html)
  1274  	// in the Amazon Web Services Cloud Control API User Guide.
  1275  	ProgressEvent *ProgressEvent `type:"structure"`
  1276  }
  1277  
  1278  // String returns the string representation.
  1279  //
  1280  // API parameter values that are decorated as "sensitive" in the API will not
  1281  // be included in the string output. The member name will be present, but the
  1282  // value will be replaced with "sensitive".
  1283  func (s CancelResourceRequestOutput) String() string {
  1284  	return awsutil.Prettify(s)
  1285  }
  1286  
  1287  // GoString returns the string representation.
  1288  //
  1289  // API parameter values that are decorated as "sensitive" in the API will not
  1290  // be included in the string output. The member name will be present, but the
  1291  // value will be replaced with "sensitive".
  1292  func (s CancelResourceRequestOutput) GoString() string {
  1293  	return s.String()
  1294  }
  1295  
  1296  // SetProgressEvent sets the ProgressEvent field's value.
  1297  func (s *CancelResourceRequestOutput) SetProgressEvent(v *ProgressEvent) *CancelResourceRequestOutput {
  1298  	s.ProgressEvent = v
  1299  	return s
  1300  }
  1301  
  1302  // The specified client token has already been used in another resource request.
  1303  //
  1304  // It is best practice for client tokens to be unique for each resource operation
  1305  // request. However, client token expire after 36 hours.
  1306  type ClientTokenConflictException struct {
  1307  	_            struct{}                  `type:"structure"`
  1308  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1309  
  1310  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  1311  }
  1312  
  1313  // String returns the string representation.
  1314  //
  1315  // API parameter values that are decorated as "sensitive" in the API will not
  1316  // be included in the string output. The member name will be present, but the
  1317  // value will be replaced with "sensitive".
  1318  func (s ClientTokenConflictException) String() string {
  1319  	return awsutil.Prettify(s)
  1320  }
  1321  
  1322  // GoString returns the string representation.
  1323  //
  1324  // API parameter values that are decorated as "sensitive" in the API will not
  1325  // be included in the string output. The member name will be present, but the
  1326  // value will be replaced with "sensitive".
  1327  func (s ClientTokenConflictException) GoString() string {
  1328  	return s.String()
  1329  }
  1330  
  1331  func newErrorClientTokenConflictException(v protocol.ResponseMetadata) error {
  1332  	return &ClientTokenConflictException{
  1333  		RespMetadata: v,
  1334  	}
  1335  }
  1336  
  1337  // Code returns the exception type name.
  1338  func (s *ClientTokenConflictException) Code() string {
  1339  	return "ClientTokenConflictException"
  1340  }
  1341  
  1342  // Message returns the exception's message.
  1343  func (s *ClientTokenConflictException) Message() string {
  1344  	if s.Message_ != nil {
  1345  		return *s.Message_
  1346  	}
  1347  	return ""
  1348  }
  1349  
  1350  // OrigErr always returns nil, satisfies awserr.Error interface.
  1351  func (s *ClientTokenConflictException) OrigErr() error {
  1352  	return nil
  1353  }
  1354  
  1355  func (s *ClientTokenConflictException) Error() string {
  1356  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1357  }
  1358  
  1359  // Status code returns the HTTP status code for the request's response error.
  1360  func (s *ClientTokenConflictException) StatusCode() int {
  1361  	return s.RespMetadata.StatusCode
  1362  }
  1363  
  1364  // RequestID returns the service's response RequestID for request.
  1365  func (s *ClientTokenConflictException) RequestID() string {
  1366  	return s.RespMetadata.RequestID
  1367  }
  1368  
  1369  // The resource is currently being modified by another operation.
  1370  type ConcurrentModificationException struct {
  1371  	_            struct{}                  `type:"structure"`
  1372  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1373  
  1374  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  1375  }
  1376  
  1377  // String returns the string representation.
  1378  //
  1379  // API parameter values that are decorated as "sensitive" in the API will not
  1380  // be included in the string output. The member name will be present, but the
  1381  // value will be replaced with "sensitive".
  1382  func (s ConcurrentModificationException) String() string {
  1383  	return awsutil.Prettify(s)
  1384  }
  1385  
  1386  // GoString returns the string representation.
  1387  //
  1388  // API parameter values that are decorated as "sensitive" in the API will not
  1389  // be included in the string output. The member name will be present, but the
  1390  // value will be replaced with "sensitive".
  1391  func (s ConcurrentModificationException) GoString() string {
  1392  	return s.String()
  1393  }
  1394  
  1395  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
  1396  	return &ConcurrentModificationException{
  1397  		RespMetadata: v,
  1398  	}
  1399  }
  1400  
  1401  // Code returns the exception type name.
  1402  func (s *ConcurrentModificationException) Code() string {
  1403  	return "ConcurrentModificationException"
  1404  }
  1405  
  1406  // Message returns the exception's message.
  1407  func (s *ConcurrentModificationException) Message() string {
  1408  	if s.Message_ != nil {
  1409  		return *s.Message_
  1410  	}
  1411  	return ""
  1412  }
  1413  
  1414  // OrigErr always returns nil, satisfies awserr.Error interface.
  1415  func (s *ConcurrentModificationException) OrigErr() error {
  1416  	return nil
  1417  }
  1418  
  1419  func (s *ConcurrentModificationException) Error() string {
  1420  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1421  }
  1422  
  1423  // Status code returns the HTTP status code for the request's response error.
  1424  func (s *ConcurrentModificationException) StatusCode() int {
  1425  	return s.RespMetadata.StatusCode
  1426  }
  1427  
  1428  // RequestID returns the service's response RequestID for request.
  1429  func (s *ConcurrentModificationException) RequestID() string {
  1430  	return s.RespMetadata.RequestID
  1431  }
  1432  
  1433  // Another resource operation is currently being performed on this resource.
  1434  type ConcurrentOperationException struct {
  1435  	_            struct{}                  `type:"structure"`
  1436  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1437  
  1438  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  1439  }
  1440  
  1441  // String returns the string representation.
  1442  //
  1443  // API parameter values that are decorated as "sensitive" in the API will not
  1444  // be included in the string output. The member name will be present, but the
  1445  // value will be replaced with "sensitive".
  1446  func (s ConcurrentOperationException) String() string {
  1447  	return awsutil.Prettify(s)
  1448  }
  1449  
  1450  // GoString returns the string representation.
  1451  //
  1452  // API parameter values that are decorated as "sensitive" in the API will not
  1453  // be included in the string output. The member name will be present, but the
  1454  // value will be replaced with "sensitive".
  1455  func (s ConcurrentOperationException) GoString() string {
  1456  	return s.String()
  1457  }
  1458  
  1459  func newErrorConcurrentOperationException(v protocol.ResponseMetadata) error {
  1460  	return &ConcurrentOperationException{
  1461  		RespMetadata: v,
  1462  	}
  1463  }
  1464  
  1465  // Code returns the exception type name.
  1466  func (s *ConcurrentOperationException) Code() string {
  1467  	return "ConcurrentOperationException"
  1468  }
  1469  
  1470  // Message returns the exception's message.
  1471  func (s *ConcurrentOperationException) Message() string {
  1472  	if s.Message_ != nil {
  1473  		return *s.Message_
  1474  	}
  1475  	return ""
  1476  }
  1477  
  1478  // OrigErr always returns nil, satisfies awserr.Error interface.
  1479  func (s *ConcurrentOperationException) OrigErr() error {
  1480  	return nil
  1481  }
  1482  
  1483  func (s *ConcurrentOperationException) Error() string {
  1484  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1485  }
  1486  
  1487  // Status code returns the HTTP status code for the request's response error.
  1488  func (s *ConcurrentOperationException) StatusCode() int {
  1489  	return s.RespMetadata.StatusCode
  1490  }
  1491  
  1492  // RequestID returns the service's response RequestID for request.
  1493  func (s *ConcurrentOperationException) RequestID() string {
  1494  	return s.RespMetadata.RequestID
  1495  }
  1496  
  1497  type CreateResourceInput struct {
  1498  	_ struct{} `type:"structure"`
  1499  
  1500  	// A unique identifier to ensure the idempotency of the resource request. As
  1501  	// a best practice, specify this token to ensure idempotency, so that Amazon
  1502  	// Web Services Cloud Control API can accurately distinguish between request
  1503  	// retries and new resource requests. You might retry a resource request to
  1504  	// ensure that it was successfully received.
  1505  	//
  1506  	// A client token is valid for 36 hours once used. After that, a resource request
  1507  	// with the same client token is treated as a new request.
  1508  	//
  1509  	// If you do not specify a client token, one is generated for inclusion in the
  1510  	// request.
  1511  	//
  1512  	// For more information, see Ensuring resource operation requests are unique
  1513  	// (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-idempotency)
  1514  	// in the Amazon Web Services Cloud Control API User Guide.
  1515  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  1516  
  1517  	// Structured data format representing the desired state of the resource, consisting
  1518  	// of that resource's properties and their desired values.
  1519  	//
  1520  	// Cloud Control API currently supports JSON as a structured data format.
  1521  	//
  1522  	// Specify the desired state as one of the following:
  1523  	//
  1524  	//    * A JSON blob
  1525  	//
  1526  	//    * A local path containing the desired state in JSON data format
  1527  	//
  1528  	// For more information, see Composing the desired state of the resource (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-create.html#resource-operations-create-desiredstate)
  1529  	// in the Amazon Web Services Cloud Control API User Guide.
  1530  	//
  1531  	// For more information about the properties of a specific resource, refer to
  1532  	// the related topic for the resource in the Resource and property types reference
  1533  	// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
  1534  	// in the Amazon Web Services CloudFormation Users Guide.
  1535  	//
  1536  	// DesiredState is a sensitive parameter and its value will be
  1537  	// replaced with "sensitive" in string returned by CreateResourceInput's
  1538  	// String and GoString methods.
  1539  	//
  1540  	// DesiredState is a required field
  1541  	DesiredState *string `min:"1" type:"string" required:"true" sensitive:"true"`
  1542  
  1543  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  1544  	// for Cloud Control API to use when performing this resource operation. The
  1545  	// role specified must have the permissions required for this operation. The
  1546  	// necessary permissions for each event handler are defined in the handlers
  1547  	// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers)
  1548  	// section of the resource type definition schema (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html).
  1549  	//
  1550  	// If you do not specify a role, Cloud Control API uses a temporary session
  1551  	// created using your Amazon Web Services user credentials.
  1552  	//
  1553  	// For more information, see Specifying credentials (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-permissions)
  1554  	// in the Amazon Web Services Cloud Control API User Guide.
  1555  	RoleArn *string `min:"20" type:"string"`
  1556  
  1557  	// The name of the resource type.
  1558  	//
  1559  	// TypeName is a required field
  1560  	TypeName *string `min:"10" type:"string" required:"true"`
  1561  
  1562  	// For private resource types, the type version to use in this resource operation.
  1563  	// If you do not specify a resource version, CloudFormation uses the default
  1564  	// version.
  1565  	TypeVersionId *string `min:"1" type:"string"`
  1566  }
  1567  
  1568  // String returns the string representation.
  1569  //
  1570  // API parameter values that are decorated as "sensitive" in the API will not
  1571  // be included in the string output. The member name will be present, but the
  1572  // value will be replaced with "sensitive".
  1573  func (s CreateResourceInput) String() string {
  1574  	return awsutil.Prettify(s)
  1575  }
  1576  
  1577  // GoString returns the string representation.
  1578  //
  1579  // API parameter values that are decorated as "sensitive" in the API will not
  1580  // be included in the string output. The member name will be present, but the
  1581  // value will be replaced with "sensitive".
  1582  func (s CreateResourceInput) GoString() string {
  1583  	return s.String()
  1584  }
  1585  
  1586  // Validate inspects the fields of the type to determine if they are valid.
  1587  func (s *CreateResourceInput) Validate() error {
  1588  	invalidParams := request.ErrInvalidParams{Context: "CreateResourceInput"}
  1589  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1590  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1591  	}
  1592  	if s.DesiredState == nil {
  1593  		invalidParams.Add(request.NewErrParamRequired("DesiredState"))
  1594  	}
  1595  	if s.DesiredState != nil && len(*s.DesiredState) < 1 {
  1596  		invalidParams.Add(request.NewErrParamMinLen("DesiredState", 1))
  1597  	}
  1598  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  1599  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  1600  	}
  1601  	if s.TypeName == nil {
  1602  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  1603  	}
  1604  	if s.TypeName != nil && len(*s.TypeName) < 10 {
  1605  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 10))
  1606  	}
  1607  	if s.TypeVersionId != nil && len(*s.TypeVersionId) < 1 {
  1608  		invalidParams.Add(request.NewErrParamMinLen("TypeVersionId", 1))
  1609  	}
  1610  
  1611  	if invalidParams.Len() > 0 {
  1612  		return invalidParams
  1613  	}
  1614  	return nil
  1615  }
  1616  
  1617  // SetClientToken sets the ClientToken field's value.
  1618  func (s *CreateResourceInput) SetClientToken(v string) *CreateResourceInput {
  1619  	s.ClientToken = &v
  1620  	return s
  1621  }
  1622  
  1623  // SetDesiredState sets the DesiredState field's value.
  1624  func (s *CreateResourceInput) SetDesiredState(v string) *CreateResourceInput {
  1625  	s.DesiredState = &v
  1626  	return s
  1627  }
  1628  
  1629  // SetRoleArn sets the RoleArn field's value.
  1630  func (s *CreateResourceInput) SetRoleArn(v string) *CreateResourceInput {
  1631  	s.RoleArn = &v
  1632  	return s
  1633  }
  1634  
  1635  // SetTypeName sets the TypeName field's value.
  1636  func (s *CreateResourceInput) SetTypeName(v string) *CreateResourceInput {
  1637  	s.TypeName = &v
  1638  	return s
  1639  }
  1640  
  1641  // SetTypeVersionId sets the TypeVersionId field's value.
  1642  func (s *CreateResourceInput) SetTypeVersionId(v string) *CreateResourceInput {
  1643  	s.TypeVersionId = &v
  1644  	return s
  1645  }
  1646  
  1647  type CreateResourceOutput struct {
  1648  	_ struct{} `type:"structure"`
  1649  
  1650  	// Represents the current status of the resource creation request.
  1651  	//
  1652  	// After you have initiated a resource creation request, you can monitor the
  1653  	// progress of your request by calling GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
  1654  	// using the RequestToken of the ProgressEvent returned by CreateResource.
  1655  	ProgressEvent *ProgressEvent `type:"structure"`
  1656  }
  1657  
  1658  // String returns the string representation.
  1659  //
  1660  // API parameter values that are decorated as "sensitive" in the API will not
  1661  // be included in the string output. The member name will be present, but the
  1662  // value will be replaced with "sensitive".
  1663  func (s CreateResourceOutput) String() string {
  1664  	return awsutil.Prettify(s)
  1665  }
  1666  
  1667  // GoString returns the string representation.
  1668  //
  1669  // API parameter values that are decorated as "sensitive" in the API will not
  1670  // be included in the string output. The member name will be present, but the
  1671  // value will be replaced with "sensitive".
  1672  func (s CreateResourceOutput) GoString() string {
  1673  	return s.String()
  1674  }
  1675  
  1676  // SetProgressEvent sets the ProgressEvent field's value.
  1677  func (s *CreateResourceOutput) SetProgressEvent(v *ProgressEvent) *CreateResourceOutput {
  1678  	s.ProgressEvent = v
  1679  	return s
  1680  }
  1681  
  1682  type DeleteResourceInput struct {
  1683  	_ struct{} `type:"structure"`
  1684  
  1685  	// A unique identifier to ensure the idempotency of the resource request. As
  1686  	// a best practice, specify this token to ensure idempotency, so that Amazon
  1687  	// Web Services Cloud Control API can accurately distinguish between request
  1688  	// retries and new resource requests. You might retry a resource request to
  1689  	// ensure that it was successfully received.
  1690  	//
  1691  	// A client token is valid for 36 hours once used. After that, a resource request
  1692  	// with the same client token is treated as a new request.
  1693  	//
  1694  	// If you do not specify a client token, one is generated for inclusion in the
  1695  	// request.
  1696  	//
  1697  	// For more information, see Ensuring resource operation requests are unique
  1698  	// (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-idempotency)
  1699  	// in the Amazon Web Services Cloud Control API User Guide.
  1700  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  1701  
  1702  	// The identifier for the resource.
  1703  	//
  1704  	// You can specify the primary identifier, or any secondary identifier defined
  1705  	// for the resource type in its resource schema. You can only specify one identifier.
  1706  	// Primary identifiers can be specified as a string or JSON; secondary identifiers
  1707  	// must be specified as JSON.
  1708  	//
  1709  	// For compound primary identifiers (that is, one that consists of multiple
  1710  	// resource properties strung together), to specify the primary identifier as
  1711  	// a string, list the property values in the order they are specified in the
  1712  	// primary identifier definition, separated by |.
  1713  	//
  1714  	// For more information, see Identifying resources (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-identifier.html)
  1715  	// in the Amazon Web Services Cloud Control API User Guide.
  1716  	//
  1717  	// Identifier is a required field
  1718  	Identifier *string `min:"1" type:"string" required:"true"`
  1719  
  1720  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  1721  	// for Cloud Control API to use when performing this resource operation. The
  1722  	// role specified must have the permissions required for this operation. The
  1723  	// necessary permissions for each event handler are defined in the handlers
  1724  	// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers)
  1725  	// section of the resource type definition schema (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html).
  1726  	//
  1727  	// If you do not specify a role, Cloud Control API uses a temporary session
  1728  	// created using your Amazon Web Services user credentials.
  1729  	//
  1730  	// For more information, see Specifying credentials (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-permissions)
  1731  	// in the Amazon Web Services Cloud Control API User Guide.
  1732  	RoleArn *string `min:"20" type:"string"`
  1733  
  1734  	// The name of the resource type.
  1735  	//
  1736  	// TypeName is a required field
  1737  	TypeName *string `min:"10" type:"string" required:"true"`
  1738  
  1739  	// For private resource types, the type version to use in this resource operation.
  1740  	// If you do not specify a resource version, CloudFormation uses the default
  1741  	// version.
  1742  	TypeVersionId *string `min:"1" type:"string"`
  1743  }
  1744  
  1745  // String returns the string representation.
  1746  //
  1747  // API parameter values that are decorated as "sensitive" in the API will not
  1748  // be included in the string output. The member name will be present, but the
  1749  // value will be replaced with "sensitive".
  1750  func (s DeleteResourceInput) String() string {
  1751  	return awsutil.Prettify(s)
  1752  }
  1753  
  1754  // GoString returns the string representation.
  1755  //
  1756  // API parameter values that are decorated as "sensitive" in the API will not
  1757  // be included in the string output. The member name will be present, but the
  1758  // value will be replaced with "sensitive".
  1759  func (s DeleteResourceInput) GoString() string {
  1760  	return s.String()
  1761  }
  1762  
  1763  // Validate inspects the fields of the type to determine if they are valid.
  1764  func (s *DeleteResourceInput) Validate() error {
  1765  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceInput"}
  1766  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1767  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1768  	}
  1769  	if s.Identifier == nil {
  1770  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
  1771  	}
  1772  	if s.Identifier != nil && len(*s.Identifier) < 1 {
  1773  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
  1774  	}
  1775  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  1776  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  1777  	}
  1778  	if s.TypeName == nil {
  1779  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  1780  	}
  1781  	if s.TypeName != nil && len(*s.TypeName) < 10 {
  1782  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 10))
  1783  	}
  1784  	if s.TypeVersionId != nil && len(*s.TypeVersionId) < 1 {
  1785  		invalidParams.Add(request.NewErrParamMinLen("TypeVersionId", 1))
  1786  	}
  1787  
  1788  	if invalidParams.Len() > 0 {
  1789  		return invalidParams
  1790  	}
  1791  	return nil
  1792  }
  1793  
  1794  // SetClientToken sets the ClientToken field's value.
  1795  func (s *DeleteResourceInput) SetClientToken(v string) *DeleteResourceInput {
  1796  	s.ClientToken = &v
  1797  	return s
  1798  }
  1799  
  1800  // SetIdentifier sets the Identifier field's value.
  1801  func (s *DeleteResourceInput) SetIdentifier(v string) *DeleteResourceInput {
  1802  	s.Identifier = &v
  1803  	return s
  1804  }
  1805  
  1806  // SetRoleArn sets the RoleArn field's value.
  1807  func (s *DeleteResourceInput) SetRoleArn(v string) *DeleteResourceInput {
  1808  	s.RoleArn = &v
  1809  	return s
  1810  }
  1811  
  1812  // SetTypeName sets the TypeName field's value.
  1813  func (s *DeleteResourceInput) SetTypeName(v string) *DeleteResourceInput {
  1814  	s.TypeName = &v
  1815  	return s
  1816  }
  1817  
  1818  // SetTypeVersionId sets the TypeVersionId field's value.
  1819  func (s *DeleteResourceInput) SetTypeVersionId(v string) *DeleteResourceInput {
  1820  	s.TypeVersionId = &v
  1821  	return s
  1822  }
  1823  
  1824  type DeleteResourceOutput struct {
  1825  	_ struct{} `type:"structure"`
  1826  
  1827  	// Represents the current status of the resource deletion request.
  1828  	//
  1829  	// After you have initiated a resource deletion request, you can monitor the
  1830  	// progress of your request by calling GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
  1831  	// using the RequestToken of the ProgressEvent returned by DeleteResource.
  1832  	ProgressEvent *ProgressEvent `type:"structure"`
  1833  }
  1834  
  1835  // String returns the string representation.
  1836  //
  1837  // API parameter values that are decorated as "sensitive" in the API will not
  1838  // be included in the string output. The member name will be present, but the
  1839  // value will be replaced with "sensitive".
  1840  func (s DeleteResourceOutput) String() string {
  1841  	return awsutil.Prettify(s)
  1842  }
  1843  
  1844  // GoString returns the string representation.
  1845  //
  1846  // API parameter values that are decorated as "sensitive" in the API will not
  1847  // be included in the string output. The member name will be present, but the
  1848  // value will be replaced with "sensitive".
  1849  func (s DeleteResourceOutput) GoString() string {
  1850  	return s.String()
  1851  }
  1852  
  1853  // SetProgressEvent sets the ProgressEvent field's value.
  1854  func (s *DeleteResourceOutput) SetProgressEvent(v *ProgressEvent) *DeleteResourceOutput {
  1855  	s.ProgressEvent = v
  1856  	return s
  1857  }
  1858  
  1859  // The resource handler has returned that the downstream service generated an
  1860  // error that does not map to any other handler error code.
  1861  type GeneralServiceException struct {
  1862  	_            struct{}                  `type:"structure"`
  1863  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1864  
  1865  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  1866  }
  1867  
  1868  // String returns the string representation.
  1869  //
  1870  // API parameter values that are decorated as "sensitive" in the API will not
  1871  // be included in the string output. The member name will be present, but the
  1872  // value will be replaced with "sensitive".
  1873  func (s GeneralServiceException) String() string {
  1874  	return awsutil.Prettify(s)
  1875  }
  1876  
  1877  // GoString returns the string representation.
  1878  //
  1879  // API parameter values that are decorated as "sensitive" in the API will not
  1880  // be included in the string output. The member name will be present, but the
  1881  // value will be replaced with "sensitive".
  1882  func (s GeneralServiceException) GoString() string {
  1883  	return s.String()
  1884  }
  1885  
  1886  func newErrorGeneralServiceException(v protocol.ResponseMetadata) error {
  1887  	return &GeneralServiceException{
  1888  		RespMetadata: v,
  1889  	}
  1890  }
  1891  
  1892  // Code returns the exception type name.
  1893  func (s *GeneralServiceException) Code() string {
  1894  	return "GeneralServiceException"
  1895  }
  1896  
  1897  // Message returns the exception's message.
  1898  func (s *GeneralServiceException) Message() string {
  1899  	if s.Message_ != nil {
  1900  		return *s.Message_
  1901  	}
  1902  	return ""
  1903  }
  1904  
  1905  // OrigErr always returns nil, satisfies awserr.Error interface.
  1906  func (s *GeneralServiceException) OrigErr() error {
  1907  	return nil
  1908  }
  1909  
  1910  func (s *GeneralServiceException) Error() string {
  1911  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1912  }
  1913  
  1914  // Status code returns the HTTP status code for the request's response error.
  1915  func (s *GeneralServiceException) StatusCode() int {
  1916  	return s.RespMetadata.StatusCode
  1917  }
  1918  
  1919  // RequestID returns the service's response RequestID for request.
  1920  func (s *GeneralServiceException) RequestID() string {
  1921  	return s.RespMetadata.RequestID
  1922  }
  1923  
  1924  type GetResourceInput struct {
  1925  	_ struct{} `type:"structure"`
  1926  
  1927  	// The identifier for the resource.
  1928  	//
  1929  	// You can specify the primary identifier, or any secondary identifier defined
  1930  	// for the resource type in its resource schema. You can only specify one identifier.
  1931  	// Primary identifiers can be specified as a string or JSON; secondary identifiers
  1932  	// must be specified as JSON.
  1933  	//
  1934  	// For compound primary identifiers (that is, one that consists of multiple
  1935  	// resource properties strung together), to specify the primary identifier as
  1936  	// a string, list the property values in the order they are specified in the
  1937  	// primary identifier definition, separated by |.
  1938  	//
  1939  	// For more information, see Identifying resources (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-identifier.html)
  1940  	// in the Amazon Web Services Cloud Control API User Guide.
  1941  	//
  1942  	// Identifier is a required field
  1943  	Identifier *string `min:"1" type:"string" required:"true"`
  1944  
  1945  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  1946  	// for Cloud Control API to use when performing this resource operation. The
  1947  	// role specified must have the permissions required for this operation. The
  1948  	// necessary permissions for each event handler are defined in the handlers
  1949  	// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers)
  1950  	// section of the resource type definition schema (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html).
  1951  	//
  1952  	// If you do not specify a role, Cloud Control API uses a temporary session
  1953  	// created using your Amazon Web Services user credentials.
  1954  	//
  1955  	// For more information, see Specifying credentials (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-permissions)
  1956  	// in the Amazon Web Services Cloud Control API User Guide.
  1957  	RoleArn *string `min:"20" type:"string"`
  1958  
  1959  	// The name of the resource type.
  1960  	//
  1961  	// TypeName is a required field
  1962  	TypeName *string `min:"10" type:"string" required:"true"`
  1963  
  1964  	// For private resource types, the type version to use in this resource operation.
  1965  	// If you do not specify a resource version, CloudFormation uses the default
  1966  	// version.
  1967  	TypeVersionId *string `min:"1" type:"string"`
  1968  }
  1969  
  1970  // String returns the string representation.
  1971  //
  1972  // API parameter values that are decorated as "sensitive" in the API will not
  1973  // be included in the string output. The member name will be present, but the
  1974  // value will be replaced with "sensitive".
  1975  func (s GetResourceInput) String() string {
  1976  	return awsutil.Prettify(s)
  1977  }
  1978  
  1979  // GoString returns the string representation.
  1980  //
  1981  // API parameter values that are decorated as "sensitive" in the API will not
  1982  // be included in the string output. The member name will be present, but the
  1983  // value will be replaced with "sensitive".
  1984  func (s GetResourceInput) GoString() string {
  1985  	return s.String()
  1986  }
  1987  
  1988  // Validate inspects the fields of the type to determine if they are valid.
  1989  func (s *GetResourceInput) Validate() error {
  1990  	invalidParams := request.ErrInvalidParams{Context: "GetResourceInput"}
  1991  	if s.Identifier == nil {
  1992  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
  1993  	}
  1994  	if s.Identifier != nil && len(*s.Identifier) < 1 {
  1995  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
  1996  	}
  1997  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  1998  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  1999  	}
  2000  	if s.TypeName == nil {
  2001  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  2002  	}
  2003  	if s.TypeName != nil && len(*s.TypeName) < 10 {
  2004  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 10))
  2005  	}
  2006  	if s.TypeVersionId != nil && len(*s.TypeVersionId) < 1 {
  2007  		invalidParams.Add(request.NewErrParamMinLen("TypeVersionId", 1))
  2008  	}
  2009  
  2010  	if invalidParams.Len() > 0 {
  2011  		return invalidParams
  2012  	}
  2013  	return nil
  2014  }
  2015  
  2016  // SetIdentifier sets the Identifier field's value.
  2017  func (s *GetResourceInput) SetIdentifier(v string) *GetResourceInput {
  2018  	s.Identifier = &v
  2019  	return s
  2020  }
  2021  
  2022  // SetRoleArn sets the RoleArn field's value.
  2023  func (s *GetResourceInput) SetRoleArn(v string) *GetResourceInput {
  2024  	s.RoleArn = &v
  2025  	return s
  2026  }
  2027  
  2028  // SetTypeName sets the TypeName field's value.
  2029  func (s *GetResourceInput) SetTypeName(v string) *GetResourceInput {
  2030  	s.TypeName = &v
  2031  	return s
  2032  }
  2033  
  2034  // SetTypeVersionId sets the TypeVersionId field's value.
  2035  func (s *GetResourceInput) SetTypeVersionId(v string) *GetResourceInput {
  2036  	s.TypeVersionId = &v
  2037  	return s
  2038  }
  2039  
  2040  type GetResourceOutput struct {
  2041  	_ struct{} `type:"structure"`
  2042  
  2043  	// Represents information about a provisioned resource.
  2044  	ResourceDescription *ResourceDescription `type:"structure"`
  2045  
  2046  	// The name of the resource type.
  2047  	TypeName *string `min:"10" type:"string"`
  2048  }
  2049  
  2050  // String returns the string representation.
  2051  //
  2052  // API parameter values that are decorated as "sensitive" in the API will not
  2053  // be included in the string output. The member name will be present, but the
  2054  // value will be replaced with "sensitive".
  2055  func (s GetResourceOutput) String() string {
  2056  	return awsutil.Prettify(s)
  2057  }
  2058  
  2059  // GoString returns the string representation.
  2060  //
  2061  // API parameter values that are decorated as "sensitive" in the API will not
  2062  // be included in the string output. The member name will be present, but the
  2063  // value will be replaced with "sensitive".
  2064  func (s GetResourceOutput) GoString() string {
  2065  	return s.String()
  2066  }
  2067  
  2068  // SetResourceDescription sets the ResourceDescription field's value.
  2069  func (s *GetResourceOutput) SetResourceDescription(v *ResourceDescription) *GetResourceOutput {
  2070  	s.ResourceDescription = v
  2071  	return s
  2072  }
  2073  
  2074  // SetTypeName sets the TypeName field's value.
  2075  func (s *GetResourceOutput) SetTypeName(v string) *GetResourceOutput {
  2076  	s.TypeName = &v
  2077  	return s
  2078  }
  2079  
  2080  type GetResourceRequestStatusInput struct {
  2081  	_ struct{} `type:"structure"`
  2082  
  2083  	// A unique token used to track the progress of the resource operation request.
  2084  	//
  2085  	// Request tokens are included in the ProgressEvent type returned by a resource
  2086  	// operation request.
  2087  	//
  2088  	// RequestToken is a required field
  2089  	RequestToken *string `min:"1" type:"string" required:"true"`
  2090  }
  2091  
  2092  // String returns the string representation.
  2093  //
  2094  // API parameter values that are decorated as "sensitive" in the API will not
  2095  // be included in the string output. The member name will be present, but the
  2096  // value will be replaced with "sensitive".
  2097  func (s GetResourceRequestStatusInput) String() string {
  2098  	return awsutil.Prettify(s)
  2099  }
  2100  
  2101  // GoString returns the string representation.
  2102  //
  2103  // API parameter values that are decorated as "sensitive" in the API will not
  2104  // be included in the string output. The member name will be present, but the
  2105  // value will be replaced with "sensitive".
  2106  func (s GetResourceRequestStatusInput) GoString() string {
  2107  	return s.String()
  2108  }
  2109  
  2110  // Validate inspects the fields of the type to determine if they are valid.
  2111  func (s *GetResourceRequestStatusInput) Validate() error {
  2112  	invalidParams := request.ErrInvalidParams{Context: "GetResourceRequestStatusInput"}
  2113  	if s.RequestToken == nil {
  2114  		invalidParams.Add(request.NewErrParamRequired("RequestToken"))
  2115  	}
  2116  	if s.RequestToken != nil && len(*s.RequestToken) < 1 {
  2117  		invalidParams.Add(request.NewErrParamMinLen("RequestToken", 1))
  2118  	}
  2119  
  2120  	if invalidParams.Len() > 0 {
  2121  		return invalidParams
  2122  	}
  2123  	return nil
  2124  }
  2125  
  2126  // SetRequestToken sets the RequestToken field's value.
  2127  func (s *GetResourceRequestStatusInput) SetRequestToken(v string) *GetResourceRequestStatusInput {
  2128  	s.RequestToken = &v
  2129  	return s
  2130  }
  2131  
  2132  type GetResourceRequestStatusOutput struct {
  2133  	_ struct{} `type:"structure"`
  2134  
  2135  	// Represents the current status of the resource operation request.
  2136  	ProgressEvent *ProgressEvent `type:"structure"`
  2137  }
  2138  
  2139  // String returns the string representation.
  2140  //
  2141  // API parameter values that are decorated as "sensitive" in the API will not
  2142  // be included in the string output. The member name will be present, but the
  2143  // value will be replaced with "sensitive".
  2144  func (s GetResourceRequestStatusOutput) String() string {
  2145  	return awsutil.Prettify(s)
  2146  }
  2147  
  2148  // GoString returns the string representation.
  2149  //
  2150  // API parameter values that are decorated as "sensitive" in the API will not
  2151  // be included in the string output. The member name will be present, but the
  2152  // value will be replaced with "sensitive".
  2153  func (s GetResourceRequestStatusOutput) GoString() string {
  2154  	return s.String()
  2155  }
  2156  
  2157  // SetProgressEvent sets the ProgressEvent field's value.
  2158  func (s *GetResourceRequestStatusOutput) SetProgressEvent(v *ProgressEvent) *GetResourceRequestStatusOutput {
  2159  	s.ProgressEvent = v
  2160  	return s
  2161  }
  2162  
  2163  // The resource handler has failed without a returning a more specific error
  2164  // code. This can include timeouts.
  2165  type HandlerFailureException struct {
  2166  	_            struct{}                  `type:"structure"`
  2167  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2168  
  2169  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2170  }
  2171  
  2172  // String returns the string representation.
  2173  //
  2174  // API parameter values that are decorated as "sensitive" in the API will not
  2175  // be included in the string output. The member name will be present, but the
  2176  // value will be replaced with "sensitive".
  2177  func (s HandlerFailureException) String() string {
  2178  	return awsutil.Prettify(s)
  2179  }
  2180  
  2181  // GoString returns the string representation.
  2182  //
  2183  // API parameter values that are decorated as "sensitive" in the API will not
  2184  // be included in the string output. The member name will be present, but the
  2185  // value will be replaced with "sensitive".
  2186  func (s HandlerFailureException) GoString() string {
  2187  	return s.String()
  2188  }
  2189  
  2190  func newErrorHandlerFailureException(v protocol.ResponseMetadata) error {
  2191  	return &HandlerFailureException{
  2192  		RespMetadata: v,
  2193  	}
  2194  }
  2195  
  2196  // Code returns the exception type name.
  2197  func (s *HandlerFailureException) Code() string {
  2198  	return "HandlerFailureException"
  2199  }
  2200  
  2201  // Message returns the exception's message.
  2202  func (s *HandlerFailureException) Message() string {
  2203  	if s.Message_ != nil {
  2204  		return *s.Message_
  2205  	}
  2206  	return ""
  2207  }
  2208  
  2209  // OrigErr always returns nil, satisfies awserr.Error interface.
  2210  func (s *HandlerFailureException) OrigErr() error {
  2211  	return nil
  2212  }
  2213  
  2214  func (s *HandlerFailureException) Error() string {
  2215  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2216  }
  2217  
  2218  // Status code returns the HTTP status code for the request's response error.
  2219  func (s *HandlerFailureException) StatusCode() int {
  2220  	return s.RespMetadata.StatusCode
  2221  }
  2222  
  2223  // RequestID returns the service's response RequestID for request.
  2224  func (s *HandlerFailureException) RequestID() string {
  2225  	return s.RespMetadata.RequestID
  2226  }
  2227  
  2228  // The resource handler has returned that an unexpected error occurred within
  2229  // the resource handler.
  2230  type HandlerInternalFailureException struct {
  2231  	_            struct{}                  `type:"structure"`
  2232  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2233  
  2234  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2235  }
  2236  
  2237  // String returns the string representation.
  2238  //
  2239  // API parameter values that are decorated as "sensitive" in the API will not
  2240  // be included in the string output. The member name will be present, but the
  2241  // value will be replaced with "sensitive".
  2242  func (s HandlerInternalFailureException) String() string {
  2243  	return awsutil.Prettify(s)
  2244  }
  2245  
  2246  // GoString returns the string representation.
  2247  //
  2248  // API parameter values that are decorated as "sensitive" in the API will not
  2249  // be included in the string output. The member name will be present, but the
  2250  // value will be replaced with "sensitive".
  2251  func (s HandlerInternalFailureException) GoString() string {
  2252  	return s.String()
  2253  }
  2254  
  2255  func newErrorHandlerInternalFailureException(v protocol.ResponseMetadata) error {
  2256  	return &HandlerInternalFailureException{
  2257  		RespMetadata: v,
  2258  	}
  2259  }
  2260  
  2261  // Code returns the exception type name.
  2262  func (s *HandlerInternalFailureException) Code() string {
  2263  	return "HandlerInternalFailureException"
  2264  }
  2265  
  2266  // Message returns the exception's message.
  2267  func (s *HandlerInternalFailureException) Message() string {
  2268  	if s.Message_ != nil {
  2269  		return *s.Message_
  2270  	}
  2271  	return ""
  2272  }
  2273  
  2274  // OrigErr always returns nil, satisfies awserr.Error interface.
  2275  func (s *HandlerInternalFailureException) OrigErr() error {
  2276  	return nil
  2277  }
  2278  
  2279  func (s *HandlerInternalFailureException) Error() string {
  2280  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2281  }
  2282  
  2283  // Status code returns the HTTP status code for the request's response error.
  2284  func (s *HandlerInternalFailureException) StatusCode() int {
  2285  	return s.RespMetadata.StatusCode
  2286  }
  2287  
  2288  // RequestID returns the service's response RequestID for request.
  2289  func (s *HandlerInternalFailureException) RequestID() string {
  2290  	return s.RespMetadata.RequestID
  2291  }
  2292  
  2293  // The resource handler has returned that the credentials provided by the user
  2294  // are invalid.
  2295  type InvalidCredentialsException struct {
  2296  	_            struct{}                  `type:"structure"`
  2297  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2298  
  2299  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2300  }
  2301  
  2302  // String returns the string representation.
  2303  //
  2304  // API parameter values that are decorated as "sensitive" in the API will not
  2305  // be included in the string output. The member name will be present, but the
  2306  // value will be replaced with "sensitive".
  2307  func (s InvalidCredentialsException) String() string {
  2308  	return awsutil.Prettify(s)
  2309  }
  2310  
  2311  // GoString returns the string representation.
  2312  //
  2313  // API parameter values that are decorated as "sensitive" in the API will not
  2314  // be included in the string output. The member name will be present, but the
  2315  // value will be replaced with "sensitive".
  2316  func (s InvalidCredentialsException) GoString() string {
  2317  	return s.String()
  2318  }
  2319  
  2320  func newErrorInvalidCredentialsException(v protocol.ResponseMetadata) error {
  2321  	return &InvalidCredentialsException{
  2322  		RespMetadata: v,
  2323  	}
  2324  }
  2325  
  2326  // Code returns the exception type name.
  2327  func (s *InvalidCredentialsException) Code() string {
  2328  	return "InvalidCredentialsException"
  2329  }
  2330  
  2331  // Message returns the exception's message.
  2332  func (s *InvalidCredentialsException) Message() string {
  2333  	if s.Message_ != nil {
  2334  		return *s.Message_
  2335  	}
  2336  	return ""
  2337  }
  2338  
  2339  // OrigErr always returns nil, satisfies awserr.Error interface.
  2340  func (s *InvalidCredentialsException) OrigErr() error {
  2341  	return nil
  2342  }
  2343  
  2344  func (s *InvalidCredentialsException) Error() string {
  2345  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2346  }
  2347  
  2348  // Status code returns the HTTP status code for the request's response error.
  2349  func (s *InvalidCredentialsException) StatusCode() int {
  2350  	return s.RespMetadata.StatusCode
  2351  }
  2352  
  2353  // RequestID returns the service's response RequestID for request.
  2354  func (s *InvalidCredentialsException) RequestID() string {
  2355  	return s.RespMetadata.RequestID
  2356  }
  2357  
  2358  // The resource handler has returned that invalid input from the user has generated
  2359  // a generic exception.
  2360  type InvalidRequestException struct {
  2361  	_            struct{}                  `type:"structure"`
  2362  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2363  
  2364  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2365  }
  2366  
  2367  // String returns the string representation.
  2368  //
  2369  // API parameter values that are decorated as "sensitive" in the API will not
  2370  // be included in the string output. The member name will be present, but the
  2371  // value will be replaced with "sensitive".
  2372  func (s InvalidRequestException) String() string {
  2373  	return awsutil.Prettify(s)
  2374  }
  2375  
  2376  // GoString returns the string representation.
  2377  //
  2378  // API parameter values that are decorated as "sensitive" in the API will not
  2379  // be included in the string output. The member name will be present, but the
  2380  // value will be replaced with "sensitive".
  2381  func (s InvalidRequestException) GoString() string {
  2382  	return s.String()
  2383  }
  2384  
  2385  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  2386  	return &InvalidRequestException{
  2387  		RespMetadata: v,
  2388  	}
  2389  }
  2390  
  2391  // Code returns the exception type name.
  2392  func (s *InvalidRequestException) Code() string {
  2393  	return "InvalidRequestException"
  2394  }
  2395  
  2396  // Message returns the exception's message.
  2397  func (s *InvalidRequestException) Message() string {
  2398  	if s.Message_ != nil {
  2399  		return *s.Message_
  2400  	}
  2401  	return ""
  2402  }
  2403  
  2404  // OrigErr always returns nil, satisfies awserr.Error interface.
  2405  func (s *InvalidRequestException) OrigErr() error {
  2406  	return nil
  2407  }
  2408  
  2409  func (s *InvalidRequestException) Error() string {
  2410  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2411  }
  2412  
  2413  // Status code returns the HTTP status code for the request's response error.
  2414  func (s *InvalidRequestException) StatusCode() int {
  2415  	return s.RespMetadata.StatusCode
  2416  }
  2417  
  2418  // RequestID returns the service's response RequestID for request.
  2419  func (s *InvalidRequestException) RequestID() string {
  2420  	return s.RespMetadata.RequestID
  2421  }
  2422  
  2423  type ListResourceRequestsInput struct {
  2424  	_ struct{} `type:"structure"`
  2425  
  2426  	// The maximum number of results to be returned with a single call. If the number
  2427  	// of available results exceeds this maximum, the response includes a NextToken
  2428  	// value that you can assign to the NextToken request parameter to get the next
  2429  	// set of results.
  2430  	//
  2431  	// The default is 20.
  2432  	MaxResults *int64 `min:"1" type:"integer"`
  2433  
  2434  	// If the previous paginated request didn't return all of the remaining results,
  2435  	// the response object's NextToken parameter value is set to a token. To retrieve
  2436  	// the next set of results, call this action again and assign that token to
  2437  	// the request object's NextToken parameter. If there are no remaining results,
  2438  	// the previous response object's NextToken parameter is set to null.
  2439  	NextToken *string `min:"1" type:"string"`
  2440  
  2441  	// The filter criteria to apply to the requests returned.
  2442  	ResourceRequestStatusFilter *ResourceRequestStatusFilter `type:"structure"`
  2443  }
  2444  
  2445  // String returns the string representation.
  2446  //
  2447  // API parameter values that are decorated as "sensitive" in the API will not
  2448  // be included in the string output. The member name will be present, but the
  2449  // value will be replaced with "sensitive".
  2450  func (s ListResourceRequestsInput) String() string {
  2451  	return awsutil.Prettify(s)
  2452  }
  2453  
  2454  // GoString returns the string representation.
  2455  //
  2456  // API parameter values that are decorated as "sensitive" in the API will not
  2457  // be included in the string output. The member name will be present, but the
  2458  // value will be replaced with "sensitive".
  2459  func (s ListResourceRequestsInput) GoString() string {
  2460  	return s.String()
  2461  }
  2462  
  2463  // Validate inspects the fields of the type to determine if they are valid.
  2464  func (s *ListResourceRequestsInput) Validate() error {
  2465  	invalidParams := request.ErrInvalidParams{Context: "ListResourceRequestsInput"}
  2466  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2467  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2468  	}
  2469  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  2470  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2471  	}
  2472  
  2473  	if invalidParams.Len() > 0 {
  2474  		return invalidParams
  2475  	}
  2476  	return nil
  2477  }
  2478  
  2479  // SetMaxResults sets the MaxResults field's value.
  2480  func (s *ListResourceRequestsInput) SetMaxResults(v int64) *ListResourceRequestsInput {
  2481  	s.MaxResults = &v
  2482  	return s
  2483  }
  2484  
  2485  // SetNextToken sets the NextToken field's value.
  2486  func (s *ListResourceRequestsInput) SetNextToken(v string) *ListResourceRequestsInput {
  2487  	s.NextToken = &v
  2488  	return s
  2489  }
  2490  
  2491  // SetResourceRequestStatusFilter sets the ResourceRequestStatusFilter field's value.
  2492  func (s *ListResourceRequestsInput) SetResourceRequestStatusFilter(v *ResourceRequestStatusFilter) *ListResourceRequestsInput {
  2493  	s.ResourceRequestStatusFilter = v
  2494  	return s
  2495  }
  2496  
  2497  type ListResourceRequestsOutput struct {
  2498  	_ struct{} `type:"structure"`
  2499  
  2500  	// If the request doesn't return all of the remaining results, NextToken is
  2501  	// set to a token. To retrieve the next set of results, call ListResources again
  2502  	// and assign that token to the request object's NextToken parameter. If the
  2503  	// request returns all results, NextToken is set to null.
  2504  	NextToken *string `min:"1" type:"string"`
  2505  
  2506  	// The requests that match the specified filter criteria.
  2507  	ResourceRequestStatusSummaries []*ProgressEvent `type:"list"`
  2508  }
  2509  
  2510  // String returns the string representation.
  2511  //
  2512  // API parameter values that are decorated as "sensitive" in the API will not
  2513  // be included in the string output. The member name will be present, but the
  2514  // value will be replaced with "sensitive".
  2515  func (s ListResourceRequestsOutput) String() string {
  2516  	return awsutil.Prettify(s)
  2517  }
  2518  
  2519  // GoString returns the string representation.
  2520  //
  2521  // API parameter values that are decorated as "sensitive" in the API will not
  2522  // be included in the string output. The member name will be present, but the
  2523  // value will be replaced with "sensitive".
  2524  func (s ListResourceRequestsOutput) GoString() string {
  2525  	return s.String()
  2526  }
  2527  
  2528  // SetNextToken sets the NextToken field's value.
  2529  func (s *ListResourceRequestsOutput) SetNextToken(v string) *ListResourceRequestsOutput {
  2530  	s.NextToken = &v
  2531  	return s
  2532  }
  2533  
  2534  // SetResourceRequestStatusSummaries sets the ResourceRequestStatusSummaries field's value.
  2535  func (s *ListResourceRequestsOutput) SetResourceRequestStatusSummaries(v []*ProgressEvent) *ListResourceRequestsOutput {
  2536  	s.ResourceRequestStatusSummaries = v
  2537  	return s
  2538  }
  2539  
  2540  type ListResourcesInput struct {
  2541  	_ struct{} `type:"structure"`
  2542  
  2543  	// The maximum number of results to be returned with a single call. If the number
  2544  	// of available results exceeds this maximum, the response includes a NextToken
  2545  	// value that you can assign to the NextToken request parameter to get the next
  2546  	// set of results.
  2547  	//
  2548  	// The default is 20.
  2549  	MaxResults *int64 `min:"1" type:"integer"`
  2550  
  2551  	// If the previous paginated request didn't return all of the remaining results,
  2552  	// the response object's NextToken parameter value is set to a token. To retrieve
  2553  	// the next set of results, call this action again and assign that token to
  2554  	// the request object's NextToken parameter. If there are no remaining results,
  2555  	// the previous response object's NextToken parameter is set to null.
  2556  	NextToken *string `min:"1" type:"string"`
  2557  
  2558  	// The resource model to use to select the resources to return.
  2559  	//
  2560  	// ResourceModel is a sensitive parameter and its value will be
  2561  	// replaced with "sensitive" in string returned by ListResourcesInput's
  2562  	// String and GoString methods.
  2563  	ResourceModel *string `min:"1" type:"string" sensitive:"true"`
  2564  
  2565  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  2566  	// for Cloud Control API to use when performing this resource operation. The
  2567  	// role specified must have the permissions required for this operation. The
  2568  	// necessary permissions for each event handler are defined in the handlers
  2569  	// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers)
  2570  	// section of the resource type definition schema (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html).
  2571  	//
  2572  	// If you do not specify a role, Cloud Control API uses a temporary session
  2573  	// created using your Amazon Web Services user credentials.
  2574  	//
  2575  	// For more information, see Specifying credentials (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-permissions)
  2576  	// in the Amazon Web Services Cloud Control API User Guide.
  2577  	RoleArn *string `min:"20" type:"string"`
  2578  
  2579  	// The name of the resource type.
  2580  	//
  2581  	// TypeName is a required field
  2582  	TypeName *string `min:"10" type:"string" required:"true"`
  2583  
  2584  	// For private resource types, the type version to use in this resource operation.
  2585  	// If you do not specify a resource version, CloudFormation uses the default
  2586  	// version.
  2587  	TypeVersionId *string `min:"1" type:"string"`
  2588  }
  2589  
  2590  // String returns the string representation.
  2591  //
  2592  // API parameter values that are decorated as "sensitive" in the API will not
  2593  // be included in the string output. The member name will be present, but the
  2594  // value will be replaced with "sensitive".
  2595  func (s ListResourcesInput) String() string {
  2596  	return awsutil.Prettify(s)
  2597  }
  2598  
  2599  // GoString returns the string representation.
  2600  //
  2601  // API parameter values that are decorated as "sensitive" in the API will not
  2602  // be included in the string output. The member name will be present, but the
  2603  // value will be replaced with "sensitive".
  2604  func (s ListResourcesInput) GoString() string {
  2605  	return s.String()
  2606  }
  2607  
  2608  // Validate inspects the fields of the type to determine if they are valid.
  2609  func (s *ListResourcesInput) Validate() error {
  2610  	invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"}
  2611  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2612  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2613  	}
  2614  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  2615  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2616  	}
  2617  	if s.ResourceModel != nil && len(*s.ResourceModel) < 1 {
  2618  		invalidParams.Add(request.NewErrParamMinLen("ResourceModel", 1))
  2619  	}
  2620  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  2621  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  2622  	}
  2623  	if s.TypeName == nil {
  2624  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  2625  	}
  2626  	if s.TypeName != nil && len(*s.TypeName) < 10 {
  2627  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 10))
  2628  	}
  2629  	if s.TypeVersionId != nil && len(*s.TypeVersionId) < 1 {
  2630  		invalidParams.Add(request.NewErrParamMinLen("TypeVersionId", 1))
  2631  	}
  2632  
  2633  	if invalidParams.Len() > 0 {
  2634  		return invalidParams
  2635  	}
  2636  	return nil
  2637  }
  2638  
  2639  // SetMaxResults sets the MaxResults field's value.
  2640  func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput {
  2641  	s.MaxResults = &v
  2642  	return s
  2643  }
  2644  
  2645  // SetNextToken sets the NextToken field's value.
  2646  func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput {
  2647  	s.NextToken = &v
  2648  	return s
  2649  }
  2650  
  2651  // SetResourceModel sets the ResourceModel field's value.
  2652  func (s *ListResourcesInput) SetResourceModel(v string) *ListResourcesInput {
  2653  	s.ResourceModel = &v
  2654  	return s
  2655  }
  2656  
  2657  // SetRoleArn sets the RoleArn field's value.
  2658  func (s *ListResourcesInput) SetRoleArn(v string) *ListResourcesInput {
  2659  	s.RoleArn = &v
  2660  	return s
  2661  }
  2662  
  2663  // SetTypeName sets the TypeName field's value.
  2664  func (s *ListResourcesInput) SetTypeName(v string) *ListResourcesInput {
  2665  	s.TypeName = &v
  2666  	return s
  2667  }
  2668  
  2669  // SetTypeVersionId sets the TypeVersionId field's value.
  2670  func (s *ListResourcesInput) SetTypeVersionId(v string) *ListResourcesInput {
  2671  	s.TypeVersionId = &v
  2672  	return s
  2673  }
  2674  
  2675  type ListResourcesOutput struct {
  2676  	_ struct{} `type:"structure"`
  2677  
  2678  	// If the request doesn't return all of the remaining results, NextToken is
  2679  	// set to a token. To retrieve the next set of results, call ListResources again
  2680  	// and assign that token to the request object's NextToken parameter. If the
  2681  	// request returns all results, NextToken is set to null.
  2682  	NextToken *string `min:"1" type:"string"`
  2683  
  2684  	// Information about the specified resources, including primary identifier and
  2685  	// resource model.
  2686  	ResourceDescriptions []*ResourceDescription `type:"list"`
  2687  
  2688  	// The name of the resource type.
  2689  	TypeName *string `min:"10" type:"string"`
  2690  }
  2691  
  2692  // String returns the string representation.
  2693  //
  2694  // API parameter values that are decorated as "sensitive" in the API will not
  2695  // be included in the string output. The member name will be present, but the
  2696  // value will be replaced with "sensitive".
  2697  func (s ListResourcesOutput) String() string {
  2698  	return awsutil.Prettify(s)
  2699  }
  2700  
  2701  // GoString returns the string representation.
  2702  //
  2703  // API parameter values that are decorated as "sensitive" in the API will not
  2704  // be included in the string output. The member name will be present, but the
  2705  // value will be replaced with "sensitive".
  2706  func (s ListResourcesOutput) GoString() string {
  2707  	return s.String()
  2708  }
  2709  
  2710  // SetNextToken sets the NextToken field's value.
  2711  func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput {
  2712  	s.NextToken = &v
  2713  	return s
  2714  }
  2715  
  2716  // SetResourceDescriptions sets the ResourceDescriptions field's value.
  2717  func (s *ListResourcesOutput) SetResourceDescriptions(v []*ResourceDescription) *ListResourcesOutput {
  2718  	s.ResourceDescriptions = v
  2719  	return s
  2720  }
  2721  
  2722  // SetTypeName sets the TypeName field's value.
  2723  func (s *ListResourcesOutput) SetTypeName(v string) *ListResourcesOutput {
  2724  	s.TypeName = &v
  2725  	return s
  2726  }
  2727  
  2728  // The resource handler has returned that the request could not be completed
  2729  // due to networking issues, such as a failure to receive a response from the
  2730  // server.
  2731  type NetworkFailureException struct {
  2732  	_            struct{}                  `type:"structure"`
  2733  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2734  
  2735  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2736  }
  2737  
  2738  // String returns the string representation.
  2739  //
  2740  // API parameter values that are decorated as "sensitive" in the API will not
  2741  // be included in the string output. The member name will be present, but the
  2742  // value will be replaced with "sensitive".
  2743  func (s NetworkFailureException) String() string {
  2744  	return awsutil.Prettify(s)
  2745  }
  2746  
  2747  // GoString returns the string representation.
  2748  //
  2749  // API parameter values that are decorated as "sensitive" in the API will not
  2750  // be included in the string output. The member name will be present, but the
  2751  // value will be replaced with "sensitive".
  2752  func (s NetworkFailureException) GoString() string {
  2753  	return s.String()
  2754  }
  2755  
  2756  func newErrorNetworkFailureException(v protocol.ResponseMetadata) error {
  2757  	return &NetworkFailureException{
  2758  		RespMetadata: v,
  2759  	}
  2760  }
  2761  
  2762  // Code returns the exception type name.
  2763  func (s *NetworkFailureException) Code() string {
  2764  	return "NetworkFailureException"
  2765  }
  2766  
  2767  // Message returns the exception's message.
  2768  func (s *NetworkFailureException) Message() string {
  2769  	if s.Message_ != nil {
  2770  		return *s.Message_
  2771  	}
  2772  	return ""
  2773  }
  2774  
  2775  // OrigErr always returns nil, satisfies awserr.Error interface.
  2776  func (s *NetworkFailureException) OrigErr() error {
  2777  	return nil
  2778  }
  2779  
  2780  func (s *NetworkFailureException) Error() string {
  2781  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2782  }
  2783  
  2784  // Status code returns the HTTP status code for the request's response error.
  2785  func (s *NetworkFailureException) StatusCode() int {
  2786  	return s.RespMetadata.StatusCode
  2787  }
  2788  
  2789  // RequestID returns the service's response RequestID for request.
  2790  func (s *NetworkFailureException) RequestID() string {
  2791  	return s.RespMetadata.RequestID
  2792  }
  2793  
  2794  // The resource handler has returned that the downstream resource failed to
  2795  // complete all of its ready-state checks.
  2796  type NotStabilizedException struct {
  2797  	_            struct{}                  `type:"structure"`
  2798  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2799  
  2800  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2801  }
  2802  
  2803  // String returns the string representation.
  2804  //
  2805  // API parameter values that are decorated as "sensitive" in the API will not
  2806  // be included in the string output. The member name will be present, but the
  2807  // value will be replaced with "sensitive".
  2808  func (s NotStabilizedException) String() string {
  2809  	return awsutil.Prettify(s)
  2810  }
  2811  
  2812  // GoString returns the string representation.
  2813  //
  2814  // API parameter values that are decorated as "sensitive" in the API will not
  2815  // be included in the string output. The member name will be present, but the
  2816  // value will be replaced with "sensitive".
  2817  func (s NotStabilizedException) GoString() string {
  2818  	return s.String()
  2819  }
  2820  
  2821  func newErrorNotStabilizedException(v protocol.ResponseMetadata) error {
  2822  	return &NotStabilizedException{
  2823  		RespMetadata: v,
  2824  	}
  2825  }
  2826  
  2827  // Code returns the exception type name.
  2828  func (s *NotStabilizedException) Code() string {
  2829  	return "NotStabilizedException"
  2830  }
  2831  
  2832  // Message returns the exception's message.
  2833  func (s *NotStabilizedException) Message() string {
  2834  	if s.Message_ != nil {
  2835  		return *s.Message_
  2836  	}
  2837  	return ""
  2838  }
  2839  
  2840  // OrigErr always returns nil, satisfies awserr.Error interface.
  2841  func (s *NotStabilizedException) OrigErr() error {
  2842  	return nil
  2843  }
  2844  
  2845  func (s *NotStabilizedException) Error() string {
  2846  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2847  }
  2848  
  2849  // Status code returns the HTTP status code for the request's response error.
  2850  func (s *NotStabilizedException) StatusCode() int {
  2851  	return s.RespMetadata.StatusCode
  2852  }
  2853  
  2854  // RequestID returns the service's response RequestID for request.
  2855  func (s *NotStabilizedException) RequestID() string {
  2856  	return s.RespMetadata.RequestID
  2857  }
  2858  
  2859  // One or more properties included in this resource operation are defined as
  2860  // create-only, and therefore cannot be updated.
  2861  type NotUpdatableException struct {
  2862  	_            struct{}                  `type:"structure"`
  2863  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2864  
  2865  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2866  }
  2867  
  2868  // String returns the string representation.
  2869  //
  2870  // API parameter values that are decorated as "sensitive" in the API will not
  2871  // be included in the string output. The member name will be present, but the
  2872  // value will be replaced with "sensitive".
  2873  func (s NotUpdatableException) String() string {
  2874  	return awsutil.Prettify(s)
  2875  }
  2876  
  2877  // GoString returns the string representation.
  2878  //
  2879  // API parameter values that are decorated as "sensitive" in the API will not
  2880  // be included in the string output. The member name will be present, but the
  2881  // value will be replaced with "sensitive".
  2882  func (s NotUpdatableException) GoString() string {
  2883  	return s.String()
  2884  }
  2885  
  2886  func newErrorNotUpdatableException(v protocol.ResponseMetadata) error {
  2887  	return &NotUpdatableException{
  2888  		RespMetadata: v,
  2889  	}
  2890  }
  2891  
  2892  // Code returns the exception type name.
  2893  func (s *NotUpdatableException) Code() string {
  2894  	return "NotUpdatableException"
  2895  }
  2896  
  2897  // Message returns the exception's message.
  2898  func (s *NotUpdatableException) Message() string {
  2899  	if s.Message_ != nil {
  2900  		return *s.Message_
  2901  	}
  2902  	return ""
  2903  }
  2904  
  2905  // OrigErr always returns nil, satisfies awserr.Error interface.
  2906  func (s *NotUpdatableException) OrigErr() error {
  2907  	return nil
  2908  }
  2909  
  2910  func (s *NotUpdatableException) Error() string {
  2911  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2912  }
  2913  
  2914  // Status code returns the HTTP status code for the request's response error.
  2915  func (s *NotUpdatableException) StatusCode() int {
  2916  	return s.RespMetadata.StatusCode
  2917  }
  2918  
  2919  // RequestID returns the service's response RequestID for request.
  2920  func (s *NotUpdatableException) RequestID() string {
  2921  	return s.RespMetadata.RequestID
  2922  }
  2923  
  2924  // Cloud Control API has not received a valid response from the resource handler,
  2925  // due to a configuration error. This includes issues such as the resource handler
  2926  // returning an invalid response, or timing out.
  2927  type PrivateTypeException struct {
  2928  	_            struct{}                  `type:"structure"`
  2929  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2930  
  2931  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2932  }
  2933  
  2934  // String returns the string representation.
  2935  //
  2936  // API parameter values that are decorated as "sensitive" in the API will not
  2937  // be included in the string output. The member name will be present, but the
  2938  // value will be replaced with "sensitive".
  2939  func (s PrivateTypeException) String() string {
  2940  	return awsutil.Prettify(s)
  2941  }
  2942  
  2943  // GoString returns the string representation.
  2944  //
  2945  // API parameter values that are decorated as "sensitive" in the API will not
  2946  // be included in the string output. The member name will be present, but the
  2947  // value will be replaced with "sensitive".
  2948  func (s PrivateTypeException) GoString() string {
  2949  	return s.String()
  2950  }
  2951  
  2952  func newErrorPrivateTypeException(v protocol.ResponseMetadata) error {
  2953  	return &PrivateTypeException{
  2954  		RespMetadata: v,
  2955  	}
  2956  }
  2957  
  2958  // Code returns the exception type name.
  2959  func (s *PrivateTypeException) Code() string {
  2960  	return "PrivateTypeException"
  2961  }
  2962  
  2963  // Message returns the exception's message.
  2964  func (s *PrivateTypeException) Message() string {
  2965  	if s.Message_ != nil {
  2966  		return *s.Message_
  2967  	}
  2968  	return ""
  2969  }
  2970  
  2971  // OrigErr always returns nil, satisfies awserr.Error interface.
  2972  func (s *PrivateTypeException) OrigErr() error {
  2973  	return nil
  2974  }
  2975  
  2976  func (s *PrivateTypeException) Error() string {
  2977  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2978  }
  2979  
  2980  // Status code returns the HTTP status code for the request's response error.
  2981  func (s *PrivateTypeException) StatusCode() int {
  2982  	return s.RespMetadata.StatusCode
  2983  }
  2984  
  2985  // RequestID returns the service's response RequestID for request.
  2986  func (s *PrivateTypeException) RequestID() string {
  2987  	return s.RespMetadata.RequestID
  2988  }
  2989  
  2990  // Represents the current status of a resource operation request. For more information,
  2991  // see Managing resource operation requests (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html)
  2992  // in the Amazon Web Services Cloud Control API User Guide.
  2993  type ProgressEvent struct {
  2994  	_ struct{} `type:"structure"`
  2995  
  2996  	// For requests with a status of FAILED, the associated error code.
  2997  	//
  2998  	// For error code definitions, see Handler error codes (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-test-contract-errors.html)
  2999  	// in the CloudFormation Command Line Interface User Guide for Extension Development.
  3000  	ErrorCode *string `type:"string" enum:"HandlerErrorCode"`
  3001  
  3002  	// When the resource operation request was initiated.
  3003  	EventTime *time.Time `type:"timestamp"`
  3004  
  3005  	// The primary identifier for the resource.
  3006  	//
  3007  	// In some cases, the resource identifier may be available before the resource
  3008  	// operation has reached a status of SUCCESS.
  3009  	Identifier *string `min:"1" type:"string"`
  3010  
  3011  	// The resource operation type.
  3012  	Operation *string `type:"string" enum:"Operation"`
  3013  
  3014  	// The current status of the resource operation request.
  3015  	//
  3016  	//    * PENDING: The resource operation has not yet started.
  3017  	//
  3018  	//    * IN_PROGRESS: The resource operation is currently in progress.
  3019  	//
  3020  	//    * SUCCESS: The resource operation has successfully completed.
  3021  	//
  3022  	//    * FAILED: The resource operation has failed. Refer to the error code and
  3023  	//    status message for more information.
  3024  	//
  3025  	//    * CANCEL_IN_PROGRESS: The resource operation is in the process of being
  3026  	//    canceled.
  3027  	//
  3028  	//    * CANCEL_COMPLETE: The resource operation has been canceled.
  3029  	OperationStatus *string `type:"string" enum:"OperationStatus"`
  3030  
  3031  	// The unique token representing this resource operation request.
  3032  	//
  3033  	// Use the RequestToken with GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
  3034  	// to return the current status of a resource operation request.
  3035  	RequestToken *string `min:"1" type:"string"`
  3036  
  3037  	// A JSON string containing the resource model, consisting of each resource
  3038  	// property and its current value.
  3039  	//
  3040  	// ResourceModel is a sensitive parameter and its value will be
  3041  	// replaced with "sensitive" in string returned by ProgressEvent's
  3042  	// String and GoString methods.
  3043  	ResourceModel *string `min:"1" type:"string" sensitive:"true"`
  3044  
  3045  	// When to next request the status of this resource operation request.
  3046  	RetryAfter *time.Time `type:"timestamp"`
  3047  
  3048  	// Any message explaining the current status.
  3049  	StatusMessage *string `type:"string"`
  3050  
  3051  	// The name of the resource type used in the operation.
  3052  	TypeName *string `min:"10" type:"string"`
  3053  }
  3054  
  3055  // String returns the string representation.
  3056  //
  3057  // API parameter values that are decorated as "sensitive" in the API will not
  3058  // be included in the string output. The member name will be present, but the
  3059  // value will be replaced with "sensitive".
  3060  func (s ProgressEvent) String() string {
  3061  	return awsutil.Prettify(s)
  3062  }
  3063  
  3064  // GoString returns the string representation.
  3065  //
  3066  // API parameter values that are decorated as "sensitive" in the API will not
  3067  // be included in the string output. The member name will be present, but the
  3068  // value will be replaced with "sensitive".
  3069  func (s ProgressEvent) GoString() string {
  3070  	return s.String()
  3071  }
  3072  
  3073  // SetErrorCode sets the ErrorCode field's value.
  3074  func (s *ProgressEvent) SetErrorCode(v string) *ProgressEvent {
  3075  	s.ErrorCode = &v
  3076  	return s
  3077  }
  3078  
  3079  // SetEventTime sets the EventTime field's value.
  3080  func (s *ProgressEvent) SetEventTime(v time.Time) *ProgressEvent {
  3081  	s.EventTime = &v
  3082  	return s
  3083  }
  3084  
  3085  // SetIdentifier sets the Identifier field's value.
  3086  func (s *ProgressEvent) SetIdentifier(v string) *ProgressEvent {
  3087  	s.Identifier = &v
  3088  	return s
  3089  }
  3090  
  3091  // SetOperation sets the Operation field's value.
  3092  func (s *ProgressEvent) SetOperation(v string) *ProgressEvent {
  3093  	s.Operation = &v
  3094  	return s
  3095  }
  3096  
  3097  // SetOperationStatus sets the OperationStatus field's value.
  3098  func (s *ProgressEvent) SetOperationStatus(v string) *ProgressEvent {
  3099  	s.OperationStatus = &v
  3100  	return s
  3101  }
  3102  
  3103  // SetRequestToken sets the RequestToken field's value.
  3104  func (s *ProgressEvent) SetRequestToken(v string) *ProgressEvent {
  3105  	s.RequestToken = &v
  3106  	return s
  3107  }
  3108  
  3109  // SetResourceModel sets the ResourceModel field's value.
  3110  func (s *ProgressEvent) SetResourceModel(v string) *ProgressEvent {
  3111  	s.ResourceModel = &v
  3112  	return s
  3113  }
  3114  
  3115  // SetRetryAfter sets the RetryAfter field's value.
  3116  func (s *ProgressEvent) SetRetryAfter(v time.Time) *ProgressEvent {
  3117  	s.RetryAfter = &v
  3118  	return s
  3119  }
  3120  
  3121  // SetStatusMessage sets the StatusMessage field's value.
  3122  func (s *ProgressEvent) SetStatusMessage(v string) *ProgressEvent {
  3123  	s.StatusMessage = &v
  3124  	return s
  3125  }
  3126  
  3127  // SetTypeName sets the TypeName field's value.
  3128  func (s *ProgressEvent) SetTypeName(v string) *ProgressEvent {
  3129  	s.TypeName = &v
  3130  	return s
  3131  }
  3132  
  3133  // A resource operation with the specified request token cannot be found.
  3134  type RequestTokenNotFoundException struct {
  3135  	_            struct{}                  `type:"structure"`
  3136  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3137  
  3138  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3139  }
  3140  
  3141  // String returns the string representation.
  3142  //
  3143  // API parameter values that are decorated as "sensitive" in the API will not
  3144  // be included in the string output. The member name will be present, but the
  3145  // value will be replaced with "sensitive".
  3146  func (s RequestTokenNotFoundException) String() string {
  3147  	return awsutil.Prettify(s)
  3148  }
  3149  
  3150  // GoString returns the string representation.
  3151  //
  3152  // API parameter values that are decorated as "sensitive" in the API will not
  3153  // be included in the string output. The member name will be present, but the
  3154  // value will be replaced with "sensitive".
  3155  func (s RequestTokenNotFoundException) GoString() string {
  3156  	return s.String()
  3157  }
  3158  
  3159  func newErrorRequestTokenNotFoundException(v protocol.ResponseMetadata) error {
  3160  	return &RequestTokenNotFoundException{
  3161  		RespMetadata: v,
  3162  	}
  3163  }
  3164  
  3165  // Code returns the exception type name.
  3166  func (s *RequestTokenNotFoundException) Code() string {
  3167  	return "RequestTokenNotFoundException"
  3168  }
  3169  
  3170  // Message returns the exception's message.
  3171  func (s *RequestTokenNotFoundException) Message() string {
  3172  	if s.Message_ != nil {
  3173  		return *s.Message_
  3174  	}
  3175  	return ""
  3176  }
  3177  
  3178  // OrigErr always returns nil, satisfies awserr.Error interface.
  3179  func (s *RequestTokenNotFoundException) OrigErr() error {
  3180  	return nil
  3181  }
  3182  
  3183  func (s *RequestTokenNotFoundException) Error() string {
  3184  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3185  }
  3186  
  3187  // Status code returns the HTTP status code for the request's response error.
  3188  func (s *RequestTokenNotFoundException) StatusCode() int {
  3189  	return s.RespMetadata.StatusCode
  3190  }
  3191  
  3192  // RequestID returns the service's response RequestID for request.
  3193  func (s *RequestTokenNotFoundException) RequestID() string {
  3194  	return s.RespMetadata.RequestID
  3195  }
  3196  
  3197  // The resource is temporarily unavailable to be acted upon. For example, if
  3198  // the resource is currently undergoing an operation and cannot be acted upon
  3199  // until that operation is finished.
  3200  type ResourceConflictException struct {
  3201  	_            struct{}                  `type:"structure"`
  3202  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3203  
  3204  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3205  }
  3206  
  3207  // String returns the string representation.
  3208  //
  3209  // API parameter values that are decorated as "sensitive" in the API will not
  3210  // be included in the string output. The member name will be present, but the
  3211  // value will be replaced with "sensitive".
  3212  func (s ResourceConflictException) String() string {
  3213  	return awsutil.Prettify(s)
  3214  }
  3215  
  3216  // GoString returns the string representation.
  3217  //
  3218  // API parameter values that are decorated as "sensitive" in the API will not
  3219  // be included in the string output. The member name will be present, but the
  3220  // value will be replaced with "sensitive".
  3221  func (s ResourceConflictException) GoString() string {
  3222  	return s.String()
  3223  }
  3224  
  3225  func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
  3226  	return &ResourceConflictException{
  3227  		RespMetadata: v,
  3228  	}
  3229  }
  3230  
  3231  // Code returns the exception type name.
  3232  func (s *ResourceConflictException) Code() string {
  3233  	return "ResourceConflictException"
  3234  }
  3235  
  3236  // Message returns the exception's message.
  3237  func (s *ResourceConflictException) Message() string {
  3238  	if s.Message_ != nil {
  3239  		return *s.Message_
  3240  	}
  3241  	return ""
  3242  }
  3243  
  3244  // OrigErr always returns nil, satisfies awserr.Error interface.
  3245  func (s *ResourceConflictException) OrigErr() error {
  3246  	return nil
  3247  }
  3248  
  3249  func (s *ResourceConflictException) Error() string {
  3250  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3251  }
  3252  
  3253  // Status code returns the HTTP status code for the request's response error.
  3254  func (s *ResourceConflictException) StatusCode() int {
  3255  	return s.RespMetadata.StatusCode
  3256  }
  3257  
  3258  // RequestID returns the service's response RequestID for request.
  3259  func (s *ResourceConflictException) RequestID() string {
  3260  	return s.RespMetadata.RequestID
  3261  }
  3262  
  3263  // Represents information about a provisioned resource.
  3264  type ResourceDescription struct {
  3265  	_ struct{} `type:"structure"`
  3266  
  3267  	// The primary identifier for the resource.
  3268  	//
  3269  	// For more information, see Identifying resources (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-identifier.html)
  3270  	// in the Amazon Web Services Cloud Control API User Guide.
  3271  	Identifier *string `min:"1" type:"string"`
  3272  
  3273  	// A list of the resource properties and their current values.
  3274  	//
  3275  	// Properties is a sensitive parameter and its value will be
  3276  	// replaced with "sensitive" in string returned by ResourceDescription's
  3277  	// String and GoString methods.
  3278  	Properties *string `min:"1" type:"string" sensitive:"true"`
  3279  }
  3280  
  3281  // String returns the string representation.
  3282  //
  3283  // API parameter values that are decorated as "sensitive" in the API will not
  3284  // be included in the string output. The member name will be present, but the
  3285  // value will be replaced with "sensitive".
  3286  func (s ResourceDescription) String() string {
  3287  	return awsutil.Prettify(s)
  3288  }
  3289  
  3290  // GoString returns the string representation.
  3291  //
  3292  // API parameter values that are decorated as "sensitive" in the API will not
  3293  // be included in the string output. The member name will be present, but the
  3294  // value will be replaced with "sensitive".
  3295  func (s ResourceDescription) GoString() string {
  3296  	return s.String()
  3297  }
  3298  
  3299  // SetIdentifier sets the Identifier field's value.
  3300  func (s *ResourceDescription) SetIdentifier(v string) *ResourceDescription {
  3301  	s.Identifier = &v
  3302  	return s
  3303  }
  3304  
  3305  // SetProperties sets the Properties field's value.
  3306  func (s *ResourceDescription) SetProperties(v string) *ResourceDescription {
  3307  	s.Properties = &v
  3308  	return s
  3309  }
  3310  
  3311  // A resource with the specified identifier cannot be found.
  3312  type ResourceNotFoundException struct {
  3313  	_            struct{}                  `type:"structure"`
  3314  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3315  
  3316  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3317  }
  3318  
  3319  // String returns the string representation.
  3320  //
  3321  // API parameter values that are decorated as "sensitive" in the API will not
  3322  // be included in the string output. The member name will be present, but the
  3323  // value will be replaced with "sensitive".
  3324  func (s ResourceNotFoundException) String() string {
  3325  	return awsutil.Prettify(s)
  3326  }
  3327  
  3328  // GoString returns the string representation.
  3329  //
  3330  // API parameter values that are decorated as "sensitive" in the API will not
  3331  // be included in the string output. The member name will be present, but the
  3332  // value will be replaced with "sensitive".
  3333  func (s ResourceNotFoundException) GoString() string {
  3334  	return s.String()
  3335  }
  3336  
  3337  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  3338  	return &ResourceNotFoundException{
  3339  		RespMetadata: v,
  3340  	}
  3341  }
  3342  
  3343  // Code returns the exception type name.
  3344  func (s *ResourceNotFoundException) Code() string {
  3345  	return "ResourceNotFoundException"
  3346  }
  3347  
  3348  // Message returns the exception's message.
  3349  func (s *ResourceNotFoundException) Message() string {
  3350  	if s.Message_ != nil {
  3351  		return *s.Message_
  3352  	}
  3353  	return ""
  3354  }
  3355  
  3356  // OrigErr always returns nil, satisfies awserr.Error interface.
  3357  func (s *ResourceNotFoundException) OrigErr() error {
  3358  	return nil
  3359  }
  3360  
  3361  func (s *ResourceNotFoundException) Error() string {
  3362  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3363  }
  3364  
  3365  // Status code returns the HTTP status code for the request's response error.
  3366  func (s *ResourceNotFoundException) StatusCode() int {
  3367  	return s.RespMetadata.StatusCode
  3368  }
  3369  
  3370  // RequestID returns the service's response RequestID for request.
  3371  func (s *ResourceNotFoundException) RequestID() string {
  3372  	return s.RespMetadata.RequestID
  3373  }
  3374  
  3375  // The filter criteria to use in determining the requests returned.
  3376  type ResourceRequestStatusFilter struct {
  3377  	_ struct{} `type:"structure"`
  3378  
  3379  	// The operation statuses to include in the filter.
  3380  	//
  3381  	//    * PENDING: The operation has been requested, but not yet initiated.
  3382  	//
  3383  	//    * IN_PROGRESS: The operation is currently in progress.
  3384  	//
  3385  	//    * SUCCESS: The operation has successfully completed.
  3386  	//
  3387  	//    * FAILED: The operation has failed.
  3388  	//
  3389  	//    * CANCEL_IN_PROGRESS: The operation is currently in the process of being
  3390  	//    canceled.
  3391  	//
  3392  	//    * CANCEL_COMPLETE: The operation has been canceled.
  3393  	OperationStatuses []*string `type:"list"`
  3394  
  3395  	// The operation types to include in the filter.
  3396  	Operations []*string `type:"list"`
  3397  }
  3398  
  3399  // String returns the string representation.
  3400  //
  3401  // API parameter values that are decorated as "sensitive" in the API will not
  3402  // be included in the string output. The member name will be present, but the
  3403  // value will be replaced with "sensitive".
  3404  func (s ResourceRequestStatusFilter) String() string {
  3405  	return awsutil.Prettify(s)
  3406  }
  3407  
  3408  // GoString returns the string representation.
  3409  //
  3410  // API parameter values that are decorated as "sensitive" in the API will not
  3411  // be included in the string output. The member name will be present, but the
  3412  // value will be replaced with "sensitive".
  3413  func (s ResourceRequestStatusFilter) GoString() string {
  3414  	return s.String()
  3415  }
  3416  
  3417  // SetOperationStatuses sets the OperationStatuses field's value.
  3418  func (s *ResourceRequestStatusFilter) SetOperationStatuses(v []*string) *ResourceRequestStatusFilter {
  3419  	s.OperationStatuses = v
  3420  	return s
  3421  }
  3422  
  3423  // SetOperations sets the Operations field's value.
  3424  func (s *ResourceRequestStatusFilter) SetOperations(v []*string) *ResourceRequestStatusFilter {
  3425  	s.Operations = v
  3426  	return s
  3427  }
  3428  
  3429  // The resource handler has returned that the downstream service returned an
  3430  // internal error, typically with a 5XX HTTP status code.
  3431  type ServiceInternalErrorException struct {
  3432  	_            struct{}                  `type:"structure"`
  3433  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3434  
  3435  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3436  }
  3437  
  3438  // String returns the string representation.
  3439  //
  3440  // API parameter values that are decorated as "sensitive" in the API will not
  3441  // be included in the string output. The member name will be present, but the
  3442  // value will be replaced with "sensitive".
  3443  func (s ServiceInternalErrorException) String() string {
  3444  	return awsutil.Prettify(s)
  3445  }
  3446  
  3447  // GoString returns the string representation.
  3448  //
  3449  // API parameter values that are decorated as "sensitive" in the API will not
  3450  // be included in the string output. The member name will be present, but the
  3451  // value will be replaced with "sensitive".
  3452  func (s ServiceInternalErrorException) GoString() string {
  3453  	return s.String()
  3454  }
  3455  
  3456  func newErrorServiceInternalErrorException(v protocol.ResponseMetadata) error {
  3457  	return &ServiceInternalErrorException{
  3458  		RespMetadata: v,
  3459  	}
  3460  }
  3461  
  3462  // Code returns the exception type name.
  3463  func (s *ServiceInternalErrorException) Code() string {
  3464  	return "ServiceInternalErrorException"
  3465  }
  3466  
  3467  // Message returns the exception's message.
  3468  func (s *ServiceInternalErrorException) Message() string {
  3469  	if s.Message_ != nil {
  3470  		return *s.Message_
  3471  	}
  3472  	return ""
  3473  }
  3474  
  3475  // OrigErr always returns nil, satisfies awserr.Error interface.
  3476  func (s *ServiceInternalErrorException) OrigErr() error {
  3477  	return nil
  3478  }
  3479  
  3480  func (s *ServiceInternalErrorException) Error() string {
  3481  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3482  }
  3483  
  3484  // Status code returns the HTTP status code for the request's response error.
  3485  func (s *ServiceInternalErrorException) StatusCode() int {
  3486  	return s.RespMetadata.StatusCode
  3487  }
  3488  
  3489  // RequestID returns the service's response RequestID for request.
  3490  func (s *ServiceInternalErrorException) RequestID() string {
  3491  	return s.RespMetadata.RequestID
  3492  }
  3493  
  3494  // The resource handler has returned that a non-transient resource limit was
  3495  // reached on the service side.
  3496  type ServiceLimitExceededException struct {
  3497  	_            struct{}                  `type:"structure"`
  3498  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3499  
  3500  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3501  }
  3502  
  3503  // String returns the string representation.
  3504  //
  3505  // API parameter values that are decorated as "sensitive" in the API will not
  3506  // be included in the string output. The member name will be present, but the
  3507  // value will be replaced with "sensitive".
  3508  func (s ServiceLimitExceededException) String() string {
  3509  	return awsutil.Prettify(s)
  3510  }
  3511  
  3512  // GoString returns the string representation.
  3513  //
  3514  // API parameter values that are decorated as "sensitive" in the API will not
  3515  // be included in the string output. The member name will be present, but the
  3516  // value will be replaced with "sensitive".
  3517  func (s ServiceLimitExceededException) GoString() string {
  3518  	return s.String()
  3519  }
  3520  
  3521  func newErrorServiceLimitExceededException(v protocol.ResponseMetadata) error {
  3522  	return &ServiceLimitExceededException{
  3523  		RespMetadata: v,
  3524  	}
  3525  }
  3526  
  3527  // Code returns the exception type name.
  3528  func (s *ServiceLimitExceededException) Code() string {
  3529  	return "ServiceLimitExceededException"
  3530  }
  3531  
  3532  // Message returns the exception's message.
  3533  func (s *ServiceLimitExceededException) Message() string {
  3534  	if s.Message_ != nil {
  3535  		return *s.Message_
  3536  	}
  3537  	return ""
  3538  }
  3539  
  3540  // OrigErr always returns nil, satisfies awserr.Error interface.
  3541  func (s *ServiceLimitExceededException) OrigErr() error {
  3542  	return nil
  3543  }
  3544  
  3545  func (s *ServiceLimitExceededException) Error() string {
  3546  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3547  }
  3548  
  3549  // Status code returns the HTTP status code for the request's response error.
  3550  func (s *ServiceLimitExceededException) StatusCode() int {
  3551  	return s.RespMetadata.StatusCode
  3552  }
  3553  
  3554  // RequestID returns the service's response RequestID for request.
  3555  func (s *ServiceLimitExceededException) RequestID() string {
  3556  	return s.RespMetadata.RequestID
  3557  }
  3558  
  3559  // The request was denied due to request throttling.
  3560  type ThrottlingException struct {
  3561  	_            struct{}                  `type:"structure"`
  3562  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3563  
  3564  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3565  }
  3566  
  3567  // String returns the string representation.
  3568  //
  3569  // API parameter values that are decorated as "sensitive" in the API will not
  3570  // be included in the string output. The member name will be present, but the
  3571  // value will be replaced with "sensitive".
  3572  func (s ThrottlingException) String() string {
  3573  	return awsutil.Prettify(s)
  3574  }
  3575  
  3576  // GoString returns the string representation.
  3577  //
  3578  // API parameter values that are decorated as "sensitive" in the API will not
  3579  // be included in the string output. The member name will be present, but the
  3580  // value will be replaced with "sensitive".
  3581  func (s ThrottlingException) GoString() string {
  3582  	return s.String()
  3583  }
  3584  
  3585  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  3586  	return &ThrottlingException{
  3587  		RespMetadata: v,
  3588  	}
  3589  }
  3590  
  3591  // Code returns the exception type name.
  3592  func (s *ThrottlingException) Code() string {
  3593  	return "ThrottlingException"
  3594  }
  3595  
  3596  // Message returns the exception's message.
  3597  func (s *ThrottlingException) Message() string {
  3598  	if s.Message_ != nil {
  3599  		return *s.Message_
  3600  	}
  3601  	return ""
  3602  }
  3603  
  3604  // OrigErr always returns nil, satisfies awserr.Error interface.
  3605  func (s *ThrottlingException) OrigErr() error {
  3606  	return nil
  3607  }
  3608  
  3609  func (s *ThrottlingException) Error() string {
  3610  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3611  }
  3612  
  3613  // Status code returns the HTTP status code for the request's response error.
  3614  func (s *ThrottlingException) StatusCode() int {
  3615  	return s.RespMetadata.StatusCode
  3616  }
  3617  
  3618  // RequestID returns the service's response RequestID for request.
  3619  func (s *ThrottlingException) RequestID() string {
  3620  	return s.RespMetadata.RequestID
  3621  }
  3622  
  3623  // The specified extension does not exist in the CloudFormation registry.
  3624  type TypeNotFoundException struct {
  3625  	_            struct{}                  `type:"structure"`
  3626  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3627  
  3628  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3629  }
  3630  
  3631  // String returns the string representation.
  3632  //
  3633  // API parameter values that are decorated as "sensitive" in the API will not
  3634  // be included in the string output. The member name will be present, but the
  3635  // value will be replaced with "sensitive".
  3636  func (s TypeNotFoundException) String() string {
  3637  	return awsutil.Prettify(s)
  3638  }
  3639  
  3640  // GoString returns the string representation.
  3641  //
  3642  // API parameter values that are decorated as "sensitive" in the API will not
  3643  // be included in the string output. The member name will be present, but the
  3644  // value will be replaced with "sensitive".
  3645  func (s TypeNotFoundException) GoString() string {
  3646  	return s.String()
  3647  }
  3648  
  3649  func newErrorTypeNotFoundException(v protocol.ResponseMetadata) error {
  3650  	return &TypeNotFoundException{
  3651  		RespMetadata: v,
  3652  	}
  3653  }
  3654  
  3655  // Code returns the exception type name.
  3656  func (s *TypeNotFoundException) Code() string {
  3657  	return "TypeNotFoundException"
  3658  }
  3659  
  3660  // Message returns the exception's message.
  3661  func (s *TypeNotFoundException) Message() string {
  3662  	if s.Message_ != nil {
  3663  		return *s.Message_
  3664  	}
  3665  	return ""
  3666  }
  3667  
  3668  // OrigErr always returns nil, satisfies awserr.Error interface.
  3669  func (s *TypeNotFoundException) OrigErr() error {
  3670  	return nil
  3671  }
  3672  
  3673  func (s *TypeNotFoundException) Error() string {
  3674  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3675  }
  3676  
  3677  // Status code returns the HTTP status code for the request's response error.
  3678  func (s *TypeNotFoundException) StatusCode() int {
  3679  	return s.RespMetadata.StatusCode
  3680  }
  3681  
  3682  // RequestID returns the service's response RequestID for request.
  3683  func (s *TypeNotFoundException) RequestID() string {
  3684  	return s.RespMetadata.RequestID
  3685  }
  3686  
  3687  // The specified resource does not support this resource operation.
  3688  type UnsupportedActionException struct {
  3689  	_            struct{}                  `type:"structure"`
  3690  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3691  
  3692  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3693  }
  3694  
  3695  // String returns the string representation.
  3696  //
  3697  // API parameter values that are decorated as "sensitive" in the API will not
  3698  // be included in the string output. The member name will be present, but the
  3699  // value will be replaced with "sensitive".
  3700  func (s UnsupportedActionException) String() string {
  3701  	return awsutil.Prettify(s)
  3702  }
  3703  
  3704  // GoString returns the string representation.
  3705  //
  3706  // API parameter values that are decorated as "sensitive" in the API will not
  3707  // be included in the string output. The member name will be present, but the
  3708  // value will be replaced with "sensitive".
  3709  func (s UnsupportedActionException) GoString() string {
  3710  	return s.String()
  3711  }
  3712  
  3713  func newErrorUnsupportedActionException(v protocol.ResponseMetadata) error {
  3714  	return &UnsupportedActionException{
  3715  		RespMetadata: v,
  3716  	}
  3717  }
  3718  
  3719  // Code returns the exception type name.
  3720  func (s *UnsupportedActionException) Code() string {
  3721  	return "UnsupportedActionException"
  3722  }
  3723  
  3724  // Message returns the exception's message.
  3725  func (s *UnsupportedActionException) Message() string {
  3726  	if s.Message_ != nil {
  3727  		return *s.Message_
  3728  	}
  3729  	return ""
  3730  }
  3731  
  3732  // OrigErr always returns nil, satisfies awserr.Error interface.
  3733  func (s *UnsupportedActionException) OrigErr() error {
  3734  	return nil
  3735  }
  3736  
  3737  func (s *UnsupportedActionException) Error() string {
  3738  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3739  }
  3740  
  3741  // Status code returns the HTTP status code for the request's response error.
  3742  func (s *UnsupportedActionException) StatusCode() int {
  3743  	return s.RespMetadata.StatusCode
  3744  }
  3745  
  3746  // RequestID returns the service's response RequestID for request.
  3747  func (s *UnsupportedActionException) RequestID() string {
  3748  	return s.RespMetadata.RequestID
  3749  }
  3750  
  3751  type UpdateResourceInput struct {
  3752  	_ struct{} `type:"structure"`
  3753  
  3754  	// A unique identifier to ensure the idempotency of the resource request. As
  3755  	// a best practice, specify this token to ensure idempotency, so that Amazon
  3756  	// Web Services Cloud Control API can accurately distinguish between request
  3757  	// retries and new resource requests. You might retry a resource request to
  3758  	// ensure that it was successfully received.
  3759  	//
  3760  	// A client token is valid for 36 hours once used. After that, a resource request
  3761  	// with the same client token is treated as a new request.
  3762  	//
  3763  	// If you do not specify a client token, one is generated for inclusion in the
  3764  	// request.
  3765  	//
  3766  	// For more information, see Ensuring resource operation requests are unique
  3767  	// (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-idempotency)
  3768  	// in the Amazon Web Services Cloud Control API User Guide.
  3769  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  3770  
  3771  	// The identifier for the resource.
  3772  	//
  3773  	// You can specify the primary identifier, or any secondary identifier defined
  3774  	// for the resource type in its resource schema. You can only specify one identifier.
  3775  	// Primary identifiers can be specified as a string or JSON; secondary identifiers
  3776  	// must be specified as JSON.
  3777  	//
  3778  	// For compound primary identifiers (that is, one that consists of multiple
  3779  	// resource properties strung together), to specify the primary identifier as
  3780  	// a string, list the property values in the order they are specified in the
  3781  	// primary identifier definition, separated by |.
  3782  	//
  3783  	// For more information, see Identifying resources (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-identifier.html)
  3784  	// in the Amazon Web Services Cloud Control API User Guide.
  3785  	//
  3786  	// Identifier is a required field
  3787  	Identifier *string `min:"1" type:"string" required:"true"`
  3788  
  3789  	// A JavaScript Object Notation (JSON) document listing the patch operations
  3790  	// that represent the updates to apply to the current resource properties. For
  3791  	// details, see Composing the patch document (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-update.html#resource-operations-update-patch)
  3792  	// in the Amazon Web Services Cloud Control API User Guide.
  3793  	//
  3794  	// PatchDocument is a sensitive parameter and its value will be
  3795  	// replaced with "sensitive" in string returned by UpdateResourceInput's
  3796  	// String and GoString methods.
  3797  	//
  3798  	// PatchDocument is a required field
  3799  	PatchDocument *string `min:"1" type:"string" required:"true" sensitive:"true"`
  3800  
  3801  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  3802  	// for Cloud Control API to use when performing this resource operation. The
  3803  	// role specified must have the permissions required for this operation. The
  3804  	// necessary permissions for each event handler are defined in the handlers
  3805  	// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers)
  3806  	// section of the resource type definition schema (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html).
  3807  	//
  3808  	// If you do not specify a role, Cloud Control API uses a temporary session
  3809  	// created using your Amazon Web Services user credentials.
  3810  	//
  3811  	// For more information, see Specifying credentials (https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-permissions)
  3812  	// in the Amazon Web Services Cloud Control API User Guide.
  3813  	RoleArn *string `min:"20" type:"string"`
  3814  
  3815  	// The name of the resource type.
  3816  	//
  3817  	// TypeName is a required field
  3818  	TypeName *string `min:"10" type:"string" required:"true"`
  3819  
  3820  	// For private resource types, the type version to use in this resource operation.
  3821  	// If you do not specify a resource version, CloudFormation uses the default
  3822  	// version.
  3823  	TypeVersionId *string `min:"1" type:"string"`
  3824  }
  3825  
  3826  // String returns the string representation.
  3827  //
  3828  // API parameter values that are decorated as "sensitive" in the API will not
  3829  // be included in the string output. The member name will be present, but the
  3830  // value will be replaced with "sensitive".
  3831  func (s UpdateResourceInput) String() string {
  3832  	return awsutil.Prettify(s)
  3833  }
  3834  
  3835  // GoString returns the string representation.
  3836  //
  3837  // API parameter values that are decorated as "sensitive" in the API will not
  3838  // be included in the string output. The member name will be present, but the
  3839  // value will be replaced with "sensitive".
  3840  func (s UpdateResourceInput) GoString() string {
  3841  	return s.String()
  3842  }
  3843  
  3844  // Validate inspects the fields of the type to determine if they are valid.
  3845  func (s *UpdateResourceInput) Validate() error {
  3846  	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"}
  3847  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  3848  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  3849  	}
  3850  	if s.Identifier == nil {
  3851  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
  3852  	}
  3853  	if s.Identifier != nil && len(*s.Identifier) < 1 {
  3854  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
  3855  	}
  3856  	if s.PatchDocument == nil {
  3857  		invalidParams.Add(request.NewErrParamRequired("PatchDocument"))
  3858  	}
  3859  	if s.PatchDocument != nil && len(*s.PatchDocument) < 1 {
  3860  		invalidParams.Add(request.NewErrParamMinLen("PatchDocument", 1))
  3861  	}
  3862  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  3863  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  3864  	}
  3865  	if s.TypeName == nil {
  3866  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  3867  	}
  3868  	if s.TypeName != nil && len(*s.TypeName) < 10 {
  3869  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 10))
  3870  	}
  3871  	if s.TypeVersionId != nil && len(*s.TypeVersionId) < 1 {
  3872  		invalidParams.Add(request.NewErrParamMinLen("TypeVersionId", 1))
  3873  	}
  3874  
  3875  	if invalidParams.Len() > 0 {
  3876  		return invalidParams
  3877  	}
  3878  	return nil
  3879  }
  3880  
  3881  // SetClientToken sets the ClientToken field's value.
  3882  func (s *UpdateResourceInput) SetClientToken(v string) *UpdateResourceInput {
  3883  	s.ClientToken = &v
  3884  	return s
  3885  }
  3886  
  3887  // SetIdentifier sets the Identifier field's value.
  3888  func (s *UpdateResourceInput) SetIdentifier(v string) *UpdateResourceInput {
  3889  	s.Identifier = &v
  3890  	return s
  3891  }
  3892  
  3893  // SetPatchDocument sets the PatchDocument field's value.
  3894  func (s *UpdateResourceInput) SetPatchDocument(v string) *UpdateResourceInput {
  3895  	s.PatchDocument = &v
  3896  	return s
  3897  }
  3898  
  3899  // SetRoleArn sets the RoleArn field's value.
  3900  func (s *UpdateResourceInput) SetRoleArn(v string) *UpdateResourceInput {
  3901  	s.RoleArn = &v
  3902  	return s
  3903  }
  3904  
  3905  // SetTypeName sets the TypeName field's value.
  3906  func (s *UpdateResourceInput) SetTypeName(v string) *UpdateResourceInput {
  3907  	s.TypeName = &v
  3908  	return s
  3909  }
  3910  
  3911  // SetTypeVersionId sets the TypeVersionId field's value.
  3912  func (s *UpdateResourceInput) SetTypeVersionId(v string) *UpdateResourceInput {
  3913  	s.TypeVersionId = &v
  3914  	return s
  3915  }
  3916  
  3917  type UpdateResourceOutput struct {
  3918  	_ struct{} `type:"structure"`
  3919  
  3920  	// Represents the current status of the resource update request.
  3921  	//
  3922  	// Use the RequestToken of the ProgressEvent with GetResourceRequestStatus (https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
  3923  	// to return the current status of a resource operation request.
  3924  	ProgressEvent *ProgressEvent `type:"structure"`
  3925  }
  3926  
  3927  // String returns the string representation.
  3928  //
  3929  // API parameter values that are decorated as "sensitive" in the API will not
  3930  // be included in the string output. The member name will be present, but the
  3931  // value will be replaced with "sensitive".
  3932  func (s UpdateResourceOutput) String() string {
  3933  	return awsutil.Prettify(s)
  3934  }
  3935  
  3936  // GoString returns the string representation.
  3937  //
  3938  // API parameter values that are decorated as "sensitive" in the API will not
  3939  // be included in the string output. The member name will be present, but the
  3940  // value will be replaced with "sensitive".
  3941  func (s UpdateResourceOutput) GoString() string {
  3942  	return s.String()
  3943  }
  3944  
  3945  // SetProgressEvent sets the ProgressEvent field's value.
  3946  func (s *UpdateResourceOutput) SetProgressEvent(v *ProgressEvent) *UpdateResourceOutput {
  3947  	s.ProgressEvent = v
  3948  	return s
  3949  }
  3950  
  3951  const (
  3952  	// HandlerErrorCodeNotUpdatable is a HandlerErrorCode enum value
  3953  	HandlerErrorCodeNotUpdatable = "NotUpdatable"
  3954  
  3955  	// HandlerErrorCodeInvalidRequest is a HandlerErrorCode enum value
  3956  	HandlerErrorCodeInvalidRequest = "InvalidRequest"
  3957  
  3958  	// HandlerErrorCodeAccessDenied is a HandlerErrorCode enum value
  3959  	HandlerErrorCodeAccessDenied = "AccessDenied"
  3960  
  3961  	// HandlerErrorCodeInvalidCredentials is a HandlerErrorCode enum value
  3962  	HandlerErrorCodeInvalidCredentials = "InvalidCredentials"
  3963  
  3964  	// HandlerErrorCodeAlreadyExists is a HandlerErrorCode enum value
  3965  	HandlerErrorCodeAlreadyExists = "AlreadyExists"
  3966  
  3967  	// HandlerErrorCodeNotFound is a HandlerErrorCode enum value
  3968  	HandlerErrorCodeNotFound = "NotFound"
  3969  
  3970  	// HandlerErrorCodeResourceConflict is a HandlerErrorCode enum value
  3971  	HandlerErrorCodeResourceConflict = "ResourceConflict"
  3972  
  3973  	// HandlerErrorCodeThrottling is a HandlerErrorCode enum value
  3974  	HandlerErrorCodeThrottling = "Throttling"
  3975  
  3976  	// HandlerErrorCodeServiceLimitExceeded is a HandlerErrorCode enum value
  3977  	HandlerErrorCodeServiceLimitExceeded = "ServiceLimitExceeded"
  3978  
  3979  	// HandlerErrorCodeNotStabilized is a HandlerErrorCode enum value
  3980  	HandlerErrorCodeNotStabilized = "NotStabilized"
  3981  
  3982  	// HandlerErrorCodeGeneralServiceException is a HandlerErrorCode enum value
  3983  	HandlerErrorCodeGeneralServiceException = "GeneralServiceException"
  3984  
  3985  	// HandlerErrorCodeServiceInternalError is a HandlerErrorCode enum value
  3986  	HandlerErrorCodeServiceInternalError = "ServiceInternalError"
  3987  
  3988  	// HandlerErrorCodeServiceTimeout is a HandlerErrorCode enum value
  3989  	HandlerErrorCodeServiceTimeout = "ServiceTimeout"
  3990  
  3991  	// HandlerErrorCodeNetworkFailure is a HandlerErrorCode enum value
  3992  	HandlerErrorCodeNetworkFailure = "NetworkFailure"
  3993  
  3994  	// HandlerErrorCodeInternalFailure is a HandlerErrorCode enum value
  3995  	HandlerErrorCodeInternalFailure = "InternalFailure"
  3996  )
  3997  
  3998  // HandlerErrorCode_Values returns all elements of the HandlerErrorCode enum
  3999  func HandlerErrorCode_Values() []string {
  4000  	return []string{
  4001  		HandlerErrorCodeNotUpdatable,
  4002  		HandlerErrorCodeInvalidRequest,
  4003  		HandlerErrorCodeAccessDenied,
  4004  		HandlerErrorCodeInvalidCredentials,
  4005  		HandlerErrorCodeAlreadyExists,
  4006  		HandlerErrorCodeNotFound,
  4007  		HandlerErrorCodeResourceConflict,
  4008  		HandlerErrorCodeThrottling,
  4009  		HandlerErrorCodeServiceLimitExceeded,
  4010  		HandlerErrorCodeNotStabilized,
  4011  		HandlerErrorCodeGeneralServiceException,
  4012  		HandlerErrorCodeServiceInternalError,
  4013  		HandlerErrorCodeServiceTimeout,
  4014  		HandlerErrorCodeNetworkFailure,
  4015  		HandlerErrorCodeInternalFailure,
  4016  	}
  4017  }
  4018  
  4019  const (
  4020  	// OperationCreate is a Operation enum value
  4021  	OperationCreate = "CREATE"
  4022  
  4023  	// OperationDelete is a Operation enum value
  4024  	OperationDelete = "DELETE"
  4025  
  4026  	// OperationUpdate is a Operation enum value
  4027  	OperationUpdate = "UPDATE"
  4028  )
  4029  
  4030  // Operation_Values returns all elements of the Operation enum
  4031  func Operation_Values() []string {
  4032  	return []string{
  4033  		OperationCreate,
  4034  		OperationDelete,
  4035  		OperationUpdate,
  4036  	}
  4037  }
  4038  
  4039  const (
  4040  	// OperationStatusPending is a OperationStatus enum value
  4041  	OperationStatusPending = "PENDING"
  4042  
  4043  	// OperationStatusInProgress is a OperationStatus enum value
  4044  	OperationStatusInProgress = "IN_PROGRESS"
  4045  
  4046  	// OperationStatusSuccess is a OperationStatus enum value
  4047  	OperationStatusSuccess = "SUCCESS"
  4048  
  4049  	// OperationStatusFailed is a OperationStatus enum value
  4050  	OperationStatusFailed = "FAILED"
  4051  
  4052  	// OperationStatusCancelInProgress is a OperationStatus enum value
  4053  	OperationStatusCancelInProgress = "CANCEL_IN_PROGRESS"
  4054  
  4055  	// OperationStatusCancelComplete is a OperationStatus enum value
  4056  	OperationStatusCancelComplete = "CANCEL_COMPLETE"
  4057  )
  4058  
  4059  // OperationStatus_Values returns all elements of the OperationStatus enum
  4060  func OperationStatus_Values() []string {
  4061  	return []string{
  4062  		OperationStatusPending,
  4063  		OperationStatusInProgress,
  4064  		OperationStatusSuccess,
  4065  		OperationStatusFailed,
  4066  		OperationStatusCancelInProgress,
  4067  		OperationStatusCancelComplete,
  4068  	}
  4069  }